FrostFS smart-contract
Find a file
Alex Vanin b1063e66b9 [#41] container: Produce notification to control container estimations
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>
2021-01-28 17:48:23 +03:00
.github [#18] Update README file 2020-10-27 17:33:56 +03:00
alphabet [#23] *: Update script hashes of native contracts 2020-12-29 14:15:26 +03:00
audit [#28] audit: Add version offset in AuditResult binary 2020-12-29 14:24:52 +03:00
balance [#23] balance: Support NEP-17 2020-12-29 14:15:26 +03:00
container [#41] container: Produce notification to control container estimations 2021-01-28 17:48:23 +03:00
neofs [#23] *: Update script hashes of native contracts 2020-12-29 14:15:26 +03:00
neofsid [#23] *: Replace engine.AppCall with contract.Call 2020-12-29 14:15:26 +03:00
netmap [#34] netmap: Add snapshot getter by epoch number 2021-01-12 14:08:19 +03:00
reputation [#18] Add sidechain contracts 2020-10-27 17:33:56 +03:00
.gitignore [#18] Ignore contracts config.json files 2020-10-27 17:33:56 +03:00
go.mod [#23] Update neo-go version 2020-12-29 14:15:26 +03:00
go.sum [#23] Update neo-go version 2020-12-29 14:15:26 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [#23] alphabet: Use single contract instead of template 2020-12-29 14:15:26 +03:00
README.md Update README file 2020-12-29 14:32:37 +03:00

NeoFS

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:

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