FrostFS smart-contract
Find a file
Angira Kekteeva 0aa7fd4189 [#238] nns: Fix maxDomainNameFragmentLength
maxDomainNameFragmentLength means maximum length of label of domain name

A label may contain zero to 63 characters. The null label, of length
zero, is reserved for the root zone. The full domain name may not exceed
the length of 253 characters in its textual representation

Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-04-05 14:57:06 +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 [#231] Lower minimal contract version update to v0.14.0 2022-03-23 18:48:14 +03:00
container [#231] Remove previous contract update code 2022-03-23 18:48:14 +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 [#232] netmap: Allow to configure snapshot history size 2022-03-29 09:44:38 +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.0 - Heuksando (흑산도, 黑山島) 2022-03-23 18:48:14 +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
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.14.2 2022-02-07 19:08:48 +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 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

License

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