WIP: FrostFS smart-contract
Find a file
Alex Vanin 086b4c632c [#74] neofs: Check alphabet multi signature and don't use ballots
Ballots are inefficient to collect invocations of contract methods.
Instead contract can check multi signature collected outside of the
contract, e.g. with notary service.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-05 12:27:24 +03:00
.github [#18] Update README file 2020-10-27 17:33:56 +03:00
alphabet [#58] alphabet: Use alphabet and IR lists from chain 2021-03-25 18:19:47 +03:00
audit [#65] Do not use integer as a search prefix 2021-04-06 10:50:00 +03:00
balance [#68] Use unified format for transferX details 2021-04-08 17:04:31 +03:00
common [#68] Use unified format for transferX details 2021-04-08 17:04:31 +03:00
container [#68] Use unified format for transferX details 2021-04-08 17:04:31 +03:00
neofs [#74] neofs: Check alphabet multi signature and don't use ballots 2021-05-05 12:27:24 +03:00
neofsid [#58] neofsid: Use alphabet list from chain 2021-03-25 18:19:47 +03:00
netmap [#58] netmap: Use alphabet list from chain 2021-03-25 18:19:47 +03:00
proxy [#58] proxy: Use alphabet list from chain 2021-03-25 18:19:47 +03:00
reputation [#65] Do not use integer as a search prefix 2021-04-06 10:50:00 +03:00
.gitignore [#25] Update gitignore 2021-03-05 17:13:49 +03:00
go.mod Update neo-go to v0.94.0 2021-03-22 09:19:46 +03:00
go.sum Update neo-go to v0.94.0 2021-03-22 09:19:46 +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 neo-go to v0.94.0 2021-03-22 09:19:46 +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
  • 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

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