Skip to main content
Version: v1.6

Running an ISC Access Node

Set Up Wasp and Hornet​

First, you should set up a Wasp Node but don't run docker compose up to start the docker containers yet. Continue with the following steps first:

Download the Chain State​

You can configure how much of the state you wish to keep on your node by uncommenting and changing the WASP_PRUNING_MIN_STATES_TO_KEEP environment variable in the node-docker-setup. The default value is 10000 blocks.

Run a Non-archive Node​

If you wish to run a non-archive node (only keep the last N blocks), you must uncomment WASP_SNAPSHOT_NETWORK_PATHS.

Run An Archive Node​

If you wish to have a full archive node, you need to set WASP_PRUNING_MIN_STATES_TO_KEEP to 0 and comment WASP_SNAPSHOT_NETWORK_PATHS out.

You can then download the historical state using the following command (this will take a while):

wget https://files.stardust-mainnet.iotaledger.net/dbs/wasp/latest-wasp_chains_wal.tgz -O - | tar xzv -C data/wasp
Disk Space

Operating as a full archive node requires a lot of disk space. We recommend at least 500Gb of free space to operate without issues

Run Everything​

docker compose up -d

It will take a few minutes until the hornet node is synced.

You can check the sync status by following the logs with docker logs -f hornet, or in the web dashboard.

Use Wasp-Cli to configure the chain and add peers​

Download Wasp-Cli​

You can download a Wasp-Cli that matches your Wasp version from the Wasp releases. You can use a commands like the following to for example download version 1.1.0:

curl -sL https://github.com/iotaledger/wasp/releases/download/v1.1.0/wasp-cli_1.1.0_Linux_x86_64.tar.gz | tar xzv

Change directory into the newly-downloaded wasp-cli directory:

cd wasp-cli_1.1.0_Linux_x86_64/

Set the L1 API Address​

Set the L1 API address. You can set it to what you configured as NODE_HOST in the .env file

HTTP

If you use the http setup, don't forget to replace https with http

./wasp-cli set l1.apiaddress https://{NODE_HOST}

Set Wasp API Address​

Set the WASP API address. It is your configured NODE_HOST and the /wasp/api path.

./wasp-cli wasp add my-node https://{NODE_HOST}/wasp/api

Login​

Login to wasp using your credentials. You can update your current credentials or add new ones in the wasp dashboard.

./wasp-cli login
Output
Username: wasp
Password: (default is wasp)
Successfully authenticated

Obtain Peering Info​

Get your peering info which you will need to share with your peers:

./wasp-cli peering info
Output
PubKey: 0x20a56daa0b5e86b196c37f802089a2b6007a655a12337d287f7313a214af2ec0
PeeringURL: 0.0.0.0:4000

Please note the PubKey: 0x20a56daa0b5e86b196c37f802089a2b6007a655a12337d287f7313a214af2ec0 output. Send it together with your domain/IP to node operators that you want to peer with.

Wait for the other party to peer​

Wait until peer added you as trusted and access peer.

Use wasp-cli to add nodes as peers​

Now you can add your peer as trusted peer.

./wasp-cli peering trust peer1 <pubkey> <URL>:<PORT>
./wasp-cli peering trust peer2 <pubkey> <URL>:<PORT>

Add Chain​

Add the chain with its chain id and name:

./wasp-cli chain add iota-evm iota1pzt3mstq6khgc3tl0mwuzk3eqddkryqnpdxmk4nr25re2466uxwm28qqxu5

Activate​

Activate the chain using its name:

./wasp-cli chain activate --chain iota-evm

Add Peers as Access Nodes of the Chain​

Add the peers as access nodes.

info

This is normally only needed for peers that you plan to add as access nodes to your own node

./wasp-cli chain access-nodes add --peers=peer1,peer2

Check if Wasp Synced​

You can follow the progress using docker logs -f wasp. If you chose to create a full-archive node, this can take several minutes, maybe hours.

Test Your Endpoint​

You should have a working EVM JSON-RPC endpoint on:

<NODE_HOST>/wasp/api/v1/chains/iota1pzt3mstq6khgc3tl0mwuzk3eqddkryqnpdxmk4nr25re2466uxwm28qqxu5/evm