Quick start - Linux/macOS#
This page takes you through the steps of getting the Nimbus Portal node running on the public network.
The guide assumes Linux or macOS is being used. For Windows users follow this tutorial.
Steps#
Prerequisites#
- Developer tools (C compiler, Make, Bash, CMake, Git 2.9.4 or newer)
If you need help installing these tools, you can consult our prerequisites page.
Build the Nimbus Portal client#
git clone https://github.com/status-im/nimbus-eth1.git
cd nimbus-eth1
make nimbus_portal_client
# Test if binary was successfully build by running the help command.
./build/nimbus_portal_client --help
Run a Nimbus Portal client on the Portal network#
To accept offered block bodies and receipts, the Portal node requires access to a web3 interface. Currently, it uses a non-standard method to retrieve headers from the execution layer (EL), which is only supported by Nimbus.
# Connect to the Portal bootstrap nodes and enable the JSON-RPC APIs
# nimbus_execution_client running with rpc interface at http://127.0.0.1:8545
./build/nimbus_portal_client --rpc --web3-url:http://127.0.0.1:8545
The node can also operate in standalone mode (without an execution layer). In this mode, data retrieval from the network is possible, but storing new data is not supported.
# Connect to the Portal bootstrap nodes and enable the JSON-RPC APIs
./build/nimbus_portal_client --rpc
Try requesting an execution layer block from the network#
Requesting history content on the Portal network can be easily tested by using the portal_historyGetContent
JSON-RPC from the Portal JSON-RPC API.
CONTENTKEY=0x004e61bc0000000000 # Serialized content key for block body of block 12345678
# Run this command to get this block body (unverified):
curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":"1","method":"portal_historyGetContent","params":["'${CONTENTKEY}'"]}' http://localhost:8545
Update and rebuild the Nimbus Portal client#
In order to stay up to date you can pull the latest version from our master branch. There are currently released versions tagged.