FrostFS smart-contract
Find a file
Denis Kirillov 4077921794 [TrueCloudLab#3] *: Use frostfs in docs
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-01-11 17:19:35 +03:00
.github Change logo 2023-01-09 11:43:08 +03:00
alphabet [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
audit [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
balance [TrueCloudLab#3] balance: Rename neofs to frostfs 2023-01-11 17:19:35 +03:00
common [#284] *: Update version and remove the old migration code 2022-10-18 09:54:53 +03:00
container [TrueCloudLab#3] container: Rename neofs to frostfs 2023-01-11 17:19:35 +03:00
frostfs [TrueCloudLab#3] neofs: Rename contract to frostfs 2023-01-11 17:19:35 +03:00
frostfsid [TrueCloudLab#3] neofsid: Rename contract to frostfsid 2023-01-11 17:19:35 +03:00
netmap [TrueCloudLab#3] netmap: Rename neofs to frostfs 2023-01-11 17:19:35 +03:00
nns Move from nspcc-dev to TrueCloudLab 2022-12-13 11:12:48 +03:00
processing [TrueCloudLab#3] processing: Rename neofs to frostfs 2023-01-11 17:19:35 +03:00
proxy [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
reputation [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
subnet [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
tests [TrueCloudLab#3] container: Rename neofs to frostfs 2023-01-11 17:19:35 +03:00
.gitignore [#285] Makefile: Install neo-go in the current directory 2022-11-23 20:29:17 +03:00
CHANGELOG.md Change logo 2023-01-09 11:43:08 +03:00
go.mod Move from nspcc-dev to TrueCloudLab 2022-12-13 11:12:48 +03:00
go.sum [#284] go.mod: Update neo-go to v0.99.4 2022-10-18 09:54:53 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [TrueCloudLab#3] makefile: Rename archive to frostfs 2023-01-11 17:19:35 +03:00
README.md [TrueCloudLab#3] *: Use frostfs in docs 2023-01-11 17:19:35 +03:00
VERSION [#284] *: Update version and remove the old migration code 2022-10-18 09:54:53 +03:00

FrostFS

FrostFS related smart contracts.


Overview

FrostFS-Contract contains all FrostFS related contracts written for neo-go compiler. These contracts are deployed both in the mainchain and the sidechain.

Mainchain contracts:

  • frostfs
  • processing

Sidechain contracts:

  • alphabet
  • audit
  • balance
  • container
  • frostfsid
  • 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 frostfsid -c frostfsid/config.yml -m frostfsid/config.json -o frostfsid/frostfsid_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 frostfs -c frostfs/config.yml -m frostfs/config.json -o frostfs/frostfs_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/TrueCloudLab/frostfs-contract/tests       0.462s

License

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