FrostFS smart-contract
Find a file
Alex Vanin 7fbf6d73b0 [#51] proxy: Add proxy contract
Proxy contract used by notary contract as a main tx
payment provider. `Verify` function verifies if
main tx contains multisig of 5\7 inner ring
nodes. If so, then contract pays for transaction.
This is easier than support multisig wallet with
GAS assets, because inner ring can change, therefore
multisig wallet can change periodically.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-04 11:26:14 +03:00
.github [#18] Update README file 2020-10-27 17:33:56 +03:00
alphabet [#49] Support contract migration 2021-02-12 18:33:55 +03:00
audit [#49] Support contract migration 2021-02-12 18:33:55 +03:00
balance [#49] Support contract migration 2021-02-12 18:33:55 +03:00
common [#51] proxy: Add proxy contract 2021-03-04 11:26:14 +03:00
container [#49] Support contract migration 2021-02-12 18:33:55 +03:00
neofs [#49] Support contract migration 2021-02-12 18:33:55 +03:00
neofsid [#49] Support contract migration 2021-02-12 18:33:55 +03:00
netmap [#51] netmap: Add Multiaddress method 2021-03-04 11:26:14 +03:00
proxy [#51] proxy: Add proxy contract 2021-03-04 11:26:14 +03:00
reputation [#49] Support contract migration 2021-02-12 18:33:55 +03:00
.gitignore [#18] Ignore contracts config.json files 2020-10-27 17:33:56 +03:00
go.mod [#51] Update neo-go to past preview5 version 2021-03-04 11:26:14 +03:00
go.sum [#51] Update neo-go to past preview5 version 2021-03-04 11:26:14 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [#51] proxy: Add proxy contract 2021-03-04 11:26:14 +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