NeoFS is a decentralized distributed object storage integrated with the NEO Blockchain.
NeoFS panel showcases NeoFS storage using REST API Gateway as a bridge. This web application is built with React framework under the hood and includes:
- Deposit and withdraw NeoFS contract
- Manage containers: all CRUD operations are available
- Manage objects: create objects with custom attributes, show them and delete
- Manage ACL and extended ACL fluently
- docker
- make
- node (
14+
)
Clone repo:
$ git clone https://github.com/nspcc-dev/panel-fs-neo-org.git
Set variables in .env
file
REACT_APP_WC_PROJECT_ID
- WalletConnect project id (Can be obtained on WalletConnect website, see https://cloud.walletconnect.com/app)REACT_APP_URL
- Web application urlREACT_APP_RESTGW
- NeoFS REST Gateway, which we use to manage containers and object in neofs (control path)REACT_APP_NETWORK
- Network of the Neo (might bemainnet
,testnet
)REACT_APP_NEOFS_ACCOUNT
- Neo3 address of the NeoFS contract
Run next commands from project's root:
$ make
To run development build run:
$ make start
Optionally you can specify PORT=3000
.
You can easily run the node locally in a docker container using @nspcc-dev/neofs-aio.
You need to update the parameters in the .env
file to make it work:
REACT_APP_RESTGW=http://localhost:8090/v1
- Compile the build using
make
(will be generated inpanel.fs.neo.org
dir) - Start app using
make start
(PORT=3000 by default) - Clean up cache directories using
make clean
- Get release dir with tar.gz using
make release
$ make docker/start
- Neon wallet for Windows, Mac OS, Linux, Android and iOS
- NeoLine wallet for chrome extension
- O3 wallet
- OneGate wallet (Mobile)
- Aero web wallet (testnet only, see #133)
- Open Neon wallet
- Import a key or generate a new one
- Type wallet password
- Choose your network (depending on how Panel is configured)
- Make a new connection with Panel web page using "Connect wallet" button
- Approve connection in the wallet
- Now you can use your wallet on the NeoFS Panel
Feel free to contribute to this project after reading the contributing guidelines.
Before starting to work on a certain topic, create a new issue first, describing the feature/topic you are going to implement.