9d0a82bc89
Current height makes it impossible to change role and make some operations in one block. Also, it may lead to accepting some operations that are approved by already not valid alphabet. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru> |
||
---|---|---|
.github | ||
alphabet | ||
audit | ||
balance | ||
common | ||
container | ||
neofs | ||
neofsid | ||
netmap | ||
nns | ||
processing | ||
proxy | ||
reputation | ||
subnet | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
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 main chain and side chain.
Main chain contracts:
- neofs
- processing
Side chain contracts:
- alphabet
- audit
- balance
- container
- neofsid
- netmap
- nns
- proxy
- reputation
Getting started
Prerequisites
To compile smart contracts you need:
- neo-go >= 0.97.3
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 -c alphabet/config.yml -m alphabet/config.json -o alphabet/alphabet_contract.nef
neo-go contract compile -i audit -c audit/config.yml -m audit/config.json -o audit/audit_contract.nef
neo-go contract compile -i balance -c balance/config.yml -m balance/config.json -o balance/balance_contract.nef
neo-go contract compile -i container -c container/config.yml -m container/config.json -o container/container_contract.nef
neo-go contract compile -i neofsid -c neofsid/config.yml -m neofsid/config.json -o neofsid/neofsid_contract.nef
neo-go contract compile -i netmap -c netmap/config.yml -m netmap/config.json -o netmap/netmap_contract.nef
neo-go contract compile -i proxy -c proxy/config.yml -m proxy/config.json -o proxy/proxy_contract.nef
neo-go contract compile -i reputation -c reputation/config.yml -m reputation/config.json -o reputation/reputation_contract.nef
neo-go contract compile -i nns -c nns/config.yml -m nns/config.json -o nns/nns_contract.nef
neo-go contract compile -i neofs -c neofs/config.yml -m neofs/config.json -o neofs/neofs_contract.nef
neo-go contract compile -i processing -c processing/config.yml -m processing/config.json -o processing/processing_contract.nef
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.
Testing
Smartcontract tests reside in tests/
directory. To execute test suite
after applying changes simply run make test
.
$ make test
ok github.com/nspcc-dev/neofs-contract/tests 0.462s
NeoFS API compatibility
neofs-contract version | supported NeoFS API versions |
---|---|
v0.9.x | v2.7.0, v2.8.0 |
v0.10.x | v2.7.0, v2.8.0 |
v0.11.x | v2.7.0, v2.8.0, v2.9.0 |
v0.12.x | v2.10.0 |
License
This project is licensed under the GPLv3 License - see the LICENSE.md file for details