Initialize Node
The following instructions assume that you have already completed the following:
Initialize Node
Create the configuration files and data directory by initializing the node. In the following command, replace [moniker] with a name of your choice.
For Regen Mainnet:
regen init [moniker] --chain-id regen-1
For Regen Testnet:
regen init [moniker] --chain-id regen-upgrade
Update Genesis
Update the genesis file.
For Regen Mainnet:
curl https://mainnet.regen.network:26657/genesis | jq .result.genesis > ~/.regen/config/genesis.json
For Regen Testnet:
We should use /genesis_chunk endpoint instead of /genesis because the genesis response is too large. /genesis_chunked endpoint will return data which is encoded in base64. Combining the outputs of all the chunks and base64 decoding then will produce the genesis file of the network.
#!/bin/bash
# Output file
output_file="genesis.json"
temp_file="genesis_temp.json"
# Start clean
> "$temp_file"
# Fetch first chunk to get total number of chunks
initial_response=$(curl -s "https://rpc-regen-upgrade.vitwit.com/genesis_chunked?chunk=0")
# Extract total number of chunks
total_chunks=$(echo "$initial_response" | jq -r '.result.total')
if [[ -z "$total_chunks" || "$total_chunks" == "null" ]]; then
echo "Failed to retrieve total chunk count."
exit 1
fi
echo "Total chunks to fetch: $total_chunks"
# Loop through all chunks
for ((i=0; i<total_chunks; i++)); do
echo "Fetching chunk $i..."
response=$(curl -s "https://rpc-regen-upgrade.vitwit.com/genesis_chunked?chunk=$i")
chunk_data=$(echo "$response" | jq -r '.result.data')
if [[ "$chunk_data" == "null" || -z "$chunk_data" ]]; then
echo "Failed to retrieve chunk $i"
exit 1
fi
# Decode the chunk and append to temp file
echo "$chunk_data" | base64 --decode >> "$temp_file"
done
# Move the completed file to genesis.json
mv "$temp_file" "$output_file"
echo "Genesis file assembled successfully into $output_file"
Update Peers
Add a seed node for initial peer discovery.
For Regen Mainnet:
PERSISTENT_PEERS="c4460b52c34ad4f12168d05807e998bb8e8b4812@mainnet.regen.network:26656,aebb8431609cb126a977592446f5de252d8b7fa1@regen.rpc.vitwit.com:26656"
sed -i '/persistent_peers =/c\persistent_peers = "'"$PERSISTENT_PEERS"'"' ~/.regen/config/config.toml
For Regen Testnet:
PERSISTENT_PEERS="fc6cf74d3de04ab0a3836f5adf50968990f2c195@155.138.196.253:26656"
sed -i '/persistent_peers =/c\persistent_peers = "'"$PERSISTENT_PEERS"'"' ~/.regen/config/config.toml
TIP
Only one persistent peer is listed above. If you experience connectivity issues, check the Regen Testnet documentation or community channels for additional peers.
Start Node
The node is now ready to connect to the network:
regen start
Create a Validator
The next step will be to create a validator.
Using State Sync
Also, syncing from genesis will be a slow process. You may want to consider using state sync.