$ 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 oppened for all IP addresses
- For Bootnode node role not necessarry to open RPC and WS ports, only P2P are required; for Validator node role WS and RPC ports should be openned on
localhost
and granted restricted access through IP whitelists
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.