FrostFS smart-contract
Find a file
Alex Vanin 6daaa0c6d2 [#88] container: Use large scope for container contract migration
With contract migration from v0.8.0 to v0.9.0 we need to replace
structures in contract memory. This produces native contract calls
that are not available in scope of `management.Update`. Therefore
we need to apply new scope first.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-06-03 14:09:40 +03:00
.github [#18] Update README file 2020-10-27 17:33:56 +03:00
alphabet [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
audit [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
balance [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
common [#75] Fix typos 2021-05-19 11:54:17 +03:00
container [#88] container: Use large scope for container contract migration 2021-06-03 14:09:40 +03:00
neofs [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
neofsid [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
netmap [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
processing [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
proxy [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
reputation [#88] *: Provide data in migrate method of the contracts 2021-06-03 14:09:40 +03:00
.gitignore [#25] Update gitignore 2021-03-05 17:13:49 +03:00
CHANGELOG.md [#82] Restore the chronology of changes in changelog 2021-05-24 15:00:04 +03:00
go.mod [#81] Update neo-go to v0.95.0 2021-05-18 10:14:27 +03:00
go.sum [#81] Update neo-go to v0.95.0 2021-05-18 10:14:27 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [#74] processing: Add processing contract 2021-05-05 12:27:24 +03:00
README.md [#81] Update neo-go to v0.95.0 2021-05-18 10:14:27 +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
  • proxy
  • 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 proxy/proxy_contract.go -c proxy/config.yml -m proxy/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
neo-go contract compile -i processing/processing_contract.go -c processing/config.yml -m processing/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