FrostFS smart-contract
7fbf6d73b0
Proxy contract used by notary contract as a main tx payment provider. `Verify` function verifies if main tx contains multisig of 5\7 inner ring nodes. If so, then contract pays for transaction. This is easier than support multisig wallet with GAS assets, because inner ring can change, therefore multisig wallet can change periodically. Signed-off-by: Alex Vanin <alexey@nspcc.ru> |
||
---|---|---|
.github | ||
alphabet | ||
audit | ||
balance | ||
common | ||
container | ||
neofs | ||
neofsid | ||
netmap | ||
proxy | ||
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