$ git clone https://github.com/fuseio/fuse-network.git ~/Dev/fuse-network
$ yarn install
$ yarn test
$ yarn compile
$ yarn flatten
Make sure NETWORK_NAME is defined in hardhat.config
Make sure you've created an .env using the template env.example
Run:
npx hardhat run scripts/<SCRIPT_NAME> --network <NETWORK_NAME>
Please make sure you have access to a continuously running machine, if you like to participate as a network validator.
A complete Docker environment is needed to be installed on your system, as well as Docker-Compose
Make sure that your user is added to the docker user-group on Unix systems, if you can't access root permissions to run containers.
Note:
- Specified for AWS, but similar on other providers as well
- Depending on your node purpose (shared RPC endpoint with hight load) system requirements could be different
-in each column means that role has the same parameters like previous
| Node role | Bootnode | Node | Validator | Archival |
|---|---|---|---|---|
| Operating system | Ubuntu (18.04 and higher) or any other Linux distribution | - | - | - |
| Runtime | On - Premise, Docker, Kubernetes | - | - | - |
| Compute | Minimal: 2vCPU, 8GB RAM; Recommended: 4vCPU, 16GB RAM | - | - | |
| Disk type and size | 150GB SSD; Read/Write IOPS - 5000, Throughput - 125 MB/s | - | - | 2TB SSD; Read / Write IOPS - 5000, Throughput - 125 MB/s |
| Name | Port | Protocol | Action | Description | Notes |
|---|---|---|---|---|---|
| P2P | 30303 | TCP | Allow | Port used for communication with the network peers | Should be openned for everyone |
| P2P | 30303 | UDP | Allow | - | - |
| RPC | 8545 | TCP | Allow / Deny | Port used for communication with the node with HTTP JSON RPC | Please, see notes below |
| WS | 8546 | TCP | Allow / Deny | Port used for communication with the node with HTTP WebSocket | Please, see notes below |
Note:
- Outbound traffic should be opened for all IP addresses
- For Bootnode node role not necessary to open RPC and WebSocket ports, only P2P are required; for Validator node role WebSocket and RPC ports should be opened on
localhostand granted restricted access through IP whitelists
To speed up node sync there are the snapshot download links.
| Endpoint | Network | Type | Direct link (latest) |
|---|---|---|---|
| https://snapshot.fuse.io | Fuse | FastSync | https://snapshot.fuse.io/openethereum/database.zip |
The archive file contains database folder, blockchain ledger, with n blocks depending on the snapshot date.
Note: Fuse snapshot compatible with OpenEthereum v3.3.5, Docker image
fusenet/node:2.0.2.
Since 08.2022 Fuse is moving from OE client to Nethermind. To bootstrap your own Fuse (Spark) node on Nethermind client you could use quickstart.sh script.
# Download
wget -O quickstart.sh https://raw.githubusercontent.com/fuseio/fuse-network/master/nethermind/quickstart.sh
# Gain needed permissions
chmod 755 quickstart.sh
# Run
./quickstart.sh -r [node_role] -n [network_name] -k [node_key]Full example provided here.