forked from TrueCloudLab/frostfs-contract
FrostFS smart-contract
b1063e66b9
Basic income settlements depends on container estimation that should be collected in P2P communication between storage nodes and then stored in container contract. To synchronize these actions there are two separate notification that inner ring should produce in consensus. 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