FrostFS smart-contract
8d7e5ce20a
Container contract checks signature of eACL iterating through keys from neofsid contract. Clients often ask eACL from storage nodes, but it's kinda hard for them to check signature since they have no direct access to neofsid contract. So the container contract can make one more iteration through keys from neofsid contract and return suitable one. Signed-off-by: Alex Vanin <alexey@nspcc.ru> |
||
---|---|---|
.github | ||
alphabet | ||
audit | ||
balance | ||
container | ||
neofs | ||
neofsid | ||
netmap | ||
reputation | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE.md | ||
Makefile | ||
README.md |
NeoFS related smart contracts.
Overview
NeoFS-Contract contains all NeoFS related contracts written for neo-go compiler. These contracts are deployed both in mainnet and sidechain.
Mainnet contract:
- neofs
Sidechain contracts:
- alphabet
- audit
- balance
- container
- neofsid
- netmap
- reputation
Getting started
Prerequisites
To compile smart contracts you need:
- neo-go >= 0.92.0
Compilation
To build and compile smart contract run make all
command. Compiled contracts
*_contract.nef
and manifest config.json
files are placed in the
corresponding directories.
$ make all
neo-go contract compile -i alphabet/alphabet_contract.go -c alphabet/config.yml -m alphabet/config.json
neo-go contract compile -i audit/audit_contract.go -c audit/config.yml -m audit/config.json
neo-go contract compile -i balance/balance_contract.go -c balance/config.yml -m balance/config.json
neo-go contract compile -i container/container_contract.go -c container/config.yml -m container/config.json
neo-go contract compile -i neofsid/neofsid_contract.go -c neofsid/config.yml -m neofsid/config.json
neo-go contract compile -i netmap/netmap_contract.go -c netmap/config.yml -m netmap/config.json
neo-go contract compile -i reputation/reputation_contract.go -c reputation/config.yml -m reputation/config.json
neo-go contract compile -i neofs/neofs_contract.go -c neofs/config.yml -m neofs/config.json
You can specify path to the neo-go
binary with NEOGO
environment variable:
$ NEOGO=/home/user/neo-go/bin/neo-go make all
Remove compiled files with make clean
or make mr_proper
command.
License
This project is licensed under the GPLv3 License - see the LICENSE.md file for details