fd70f28b47
Add notifications to: - container put, delete, setEACL - netmap addPeer, updateState Because notifications are limited in size (currently arguments should be less than 1024 bytes) provide only minimal information, such as entity ID (container ID or node public key). Signed-off-by: Evgenii Stratonikov <evgeniy@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
- subnet
Getting started
Prerequisites
To compile smart contracts you need:
- neo-go >= 0.98.1
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
/home/user/go/bin/cli contract compile -i alphabet -c alphabet/config.yml -m alphabet/config.json -o alphabet/alphabet_contract.nef
/home/user/go/bin/cli contract compile -i audit -c audit/config.yml -m audit/config.json -o audit/audit_contract.nef
/home/user/go/bin/cli contract compile -i balance -c balance/config.yml -m balance/config.json -o balance/balance_contract.nef
/home/user/go/bin/cli contract compile -i container -c container/config.yml -m container/config.json -o container/container_contract.nef
/home/user/go/bin/cli contract compile -i neofsid -c neofsid/config.yml -m neofsid/config.json -o neofsid/neofsid_contract.nef
/home/user/go/bin/cli contract compile -i netmap -c netmap/config.yml -m netmap/config.json -o netmap/netmap_contract.nef
/home/user/go/bin/cli contract compile -i proxy -c proxy/config.yml -m proxy/config.json -o proxy/proxy_contract.nef
/home/user/go/bin/cli contract compile -i reputation -c reputation/config.yml -m reputation/config.json -o reputation/reputation_contract.nef
/home/user/go/bin/cli contract compile -i subnet -c subnet/config.yml -m subnet/config.json -o subnet/subnet_contract.nef
/home/user/go/bin/cli contract compile -i nns -c nns/config.yml -m nns/config.json -o nns/nns_contract.nef
/home/user/go/bin/cli contract compile -i neofs -c neofs/config.yml -m neofs/config.json -o neofs/neofs_contract.nef
/home/user/go/bin/cli 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 |
v0.13.x | v2.11.0 |
License
This project is licensed under the GPLv3 License - see the LICENSE.md file for details