FrostFS smart-contract
 
 
Go to file
Alex Vanin c75315808b Release v0.15.1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-04-13 15:43:24 +03:00
.github .github: add testing workflow 2021-10-07 14:53:27 +03:00
alphabet [#234] *: Fix some lint issues 2022-03-28 10:27:25 +03:00
audit [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
balance [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
common Release v0.15.1 2022-04-13 15:43:24 +03:00
container [#236] *: Notify user on success 2022-04-13 12:14:35 +03:00
neofs [#232] *: Remove old update code 2022-03-29 09:44:38 +03:00
neofsid [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
netmap [#236] *: Notify user on success 2022-04-13 12:14:35 +03:00
nns [#238] nns: Fix maxDomainNameFragmentLength 2022-04-05 14:57:06 +03:00
processing [#209] *: use current block index in `GetDesignatedByRole` 2022-01-11 11:57:00 +03:00
proxy *: remove update migration code 2022-02-07 17:49:07 +03:00
reputation [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
subnet *: remove update migration code 2022-02-07 17:49:07 +03:00
tests [#232] netmap: Allow to configure snapshot history size 2022-03-29 09:44:38 +03:00
.gitignore [#25] Update gitignore 2021-03-05 17:13:49 +03:00
CHANGELOG.md Release v0.15.1 2022-04-13 15:43:24 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [#177] Makefile: build with `neo-go` from go.mod 2021-11-25 11:26:35 +03:00
README.md Release v0.15.1 2022-04-13 15:43:24 +03:00
go.mod [#234] go.mod: Update neo-go version 2022-03-28 10:27:25 +03:00
go.sum [#234] go.mod: Update neo-go version 2022-03-28 10:27:25 +03:00

README.md

NeoFS

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:

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
v0.14.x v2.11.0
v0.15.x v2.11.0, v2.12.0

License

This project is licensed under the GPLv3 License - see the LICENSE.md file for details