FrostFS smart-contract
Find a file
Alex Vanin 8d7e5ce20a [#35] container: Return public key along with eACL signature
Container contract checks signature of eACL iterating through keys
from neofsid contract.

Clients often ask eACL from storage nodes, but it's kinda hard for
them to check signature since they have no direct access to neofsid
contract. So the container contract can make one more iteration
through keys from neofsid contract and return suitable one.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-01-15 13:53:21 +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 [#35] container: Return public key along with eACL signature 2021-01-15 13:53:21 +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