2020-10-27 12:41:47 +00:00
|
|
|
<p align="center">
|
|
|
|
<img src="./.github/logo.svg" width="500px" alt="NeoFS">
|
|
|
|
</p>
|
|
|
|
<p align="center">
|
|
|
|
<a href="https://fs.neo.org">NeoFS</a> related smart contracts.
|
|
|
|
</p>
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2020-10-27 12:41:47 +00:00
|
|
|
---
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2020-10-27 12:41:47 +00:00
|
|
|
# Overview
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2020-10-27 12:41:47 +00:00
|
|
|
NeoFS-Contract contains all NeoFS related contracts written for
|
|
|
|
[neo-go](https://github.com/nspcc-dev/neo-go) compiler. These contracts
|
2021-04-21 06:44:44 +00:00
|
|
|
are deployed both in main chain and side chain.
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2021-04-21 06:44:44 +00:00
|
|
|
Main chain contracts:
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2020-10-27 12:41:47 +00:00
|
|
|
- neofs
|
2021-04-21 06:44:44 +00:00
|
|
|
- processing
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2021-04-21 06:44:44 +00:00
|
|
|
Side chain contracts:
|
2020-03-30 13:59:54 +00:00
|
|
|
|
2020-12-29 11:32:37 +00:00
|
|
|
- alphabet
|
2020-10-27 12:41:47 +00:00
|
|
|
- audit
|
|
|
|
- balance
|
|
|
|
- container
|
|
|
|
- neofsid
|
|
|
|
- netmap
|
2021-03-22 06:18:33 +00:00
|
|
|
- proxy
|
2020-10-27 12:41:47 +00:00
|
|
|
- reputation
|
|
|
|
|
|
|
|
# Getting started
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
To compile smart contracts you need:
|
|
|
|
|
2021-07-22 17:51:41 +00:00
|
|
|
- [neo-go](https://github.com/nspcc-dev/neo-go) >= 0.96.0
|
2020-10-27 12:41:47 +00:00
|
|
|
|
|
|
|
## 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.
|
2020-03-30 13:59:54 +00:00
|
|
|
|
|
|
|
```
|
2020-10-27 12:41:47 +00:00
|
|
|
$ make all
|
2021-04-21 06:44:44 +00:00
|
|
|
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
|
2020-10-27 12:41:47 +00:00
|
|
|
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
|
2021-04-21 06:44:44 +00:00
|
|
|
neo-go contract compile -i processing/processing_contract.go -c processing/config.yml -m processing/config.json
|
2020-03-30 13:59:54 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
You can specify path to the `neo-go` binary with `NEOGO` environment variable:
|
|
|
|
|
|
|
|
```
|
2020-10-27 12:41:47 +00:00
|
|
|
$ NEOGO=/home/user/neo-go/bin/neo-go make all
|
2020-03-30 13:59:54 +00:00
|
|
|
```
|
|
|
|
|
2020-12-29 11:32:37 +00:00
|
|
|
Remove compiled files with `make clean` or `make mr_proper` command.
|
2020-10-27 12:41:47 +00:00
|
|
|
|
2021-07-01 17:20:46 +00:00
|
|
|
# NeoFS API compatibility
|
|
|
|
|
|
|
|
|neofs-contract version|supported NeoFS API versions|
|
|
|
|
|:------------------:|:--------------------------:|
|
|
|
|
|v0.9.x|[v2.7.0](https://github.com/nspcc-dev/neofs-api/releases/tag/v2.7.0), [v2.8.0](https://github.com/nspcc-dev/neofs-api/releases/tag/v2.8.0)|
|
|
|
|
|
2020-10-27 12:41:47 +00:00
|
|
|
|
|
|
|
# License
|
2020-03-30 13:59:54 +00:00
|
|
|
|
|
|
|
This project is licensed under the GPLv3 License - see the
|
|
|
|
[LICENSE.md](LICENSE.md) file for details
|