Instructions
This page details the procedure to join the incentivized testnet.
For clusters
Step 1: Preliminaries
- Refer to the architecture diagram here and understand the interactions
- Preferably, set up
marlinctl
(available here) to make the setup process smoother - If you prefer a manual setup or
marlinctl
doesn't cover your use case, clone and build OpenWeaver - Create an identity keystore file (can use geth or myetherwallet)
- Create a file with the passphrase used to create the keystore above
Step 2: Set up beacon
- Run a beacon node
- Ensure the beacon is reachable from outside
- Pass "34.82.79.68:8003" as the beacon address while starting the beacon to register it with the wider testnet
- Pass the keystore file and its passphrase to set the beacon identity
# Using marlinctl
$ sudo marlinctl beacon create --discovery-addr "0.0.0.0:8002" --heartbeat-addr "0.0.0.0:8003" --bootstrap-addr "34.82.79.68:8003" --keystore-path /path/to/keystore --keystore-pass-path /path/to/passphrase
# Manually
$ ./beacon/beacon --discovery-addr "0.0.0.0:8002" --heartbeat-addr "0.0.0.0:8003" --beacon-addr "34.82.79.68:8003" --keystore-path /path/to/keystore --keystore-pass-path /path/to/passphrase
Step 3: Set up relays
- Run a relay node
- Set the
discovery-addrs
parameter to point to thediscovery-addr
of your beacon set up above - Set the
heartbeat-addrs
parameter to point to theheartbeat-addr
of your beacon set up above - Set the
datadir
parameter to the datadir of the blockchain node - Set the
address
parameter to an address you would like to get rewards in
# Using marlinctl
$ sudo marlinctl relay eth create --discovery-addrs "beaconip:8002" --heartbeat-addrs "beaconip:8003" --address "0x..."
# Manually
$ ./geth --datadir /path/to/datadir/ --syncmode=light
$ ./relay/eth_relay "beaconip:8002" "beaconip:8003" "/path/to/datadir/" --address "0x..."
Note: Relays need to be tuned for optimal performance. Ref: Discord
Step 4: Set up firewalls
-
Expose for public access
- Discovery port of beacon
- Discovery port of relay
- Pubsub port of relay
- Any ports needed for the blockchain node
-
Expose only for cluster access
- Heartbeat port of beacon
For individual relayers
Step 1: Set up a relay
- Find an existing cluster you can be a part of, a public cluster is available for testing with
35.197.83.116
as the beacon IP - Run a relay node
- Set the
discovery-addrs
parameter to point to thediscovery-addr
of the beacon of the cluster chosen above - Set the
heartbeat-addrs
parameter to point to theheartbeat-addr
of the beacon of the cluster chosen above - Set the
datadir
parameter to the datadir of the blockchain node - Set the
address
parameter to an address you would like to get rewards in
# Using marlinctl
$ sudo marlinctl relay create --chain "eth" --discovery-addrs "beaconip:8002" --heartbeat-addrs "beaconip:8003" --address "0x..."
# Manually
$ ./geth --datadir /path/to/datadir/ --syncmode=light
$ ./relay/eth_relay "beaconip:8002" "beaconip:8003" "/path/to/datadir/" --address "0x..."
Step 2: Set up firewalls
- Expose for public access
- Discovery port of relay
- Pubsub port of relay
- Any ports needed for the blockchain node