Welcome to validator AlxVoy ⚡ ANODE.TEAM
Website
https://www.zenrocklabs.ioTwitter
https://x.com/OfficialZenRockTelegram Channel
https://t.me/ZenrockannouncementsTelegram Group
https://t.me/officialZenrockDiscord
https://discord.gg/zenrockfoundationGitHub
https://github.com/zenrocklabsYouTube
https://www.youtube.com/@ZenrocklabsMedium
https://medium.com/@ZenrockfoundationANODE.TEAM
https://main.anode.team/zenrockRPC
https://zenrock.rpc.m.anode.teamAPI
https://zenrock.api.m.anode.teamgRPC
http://zenrock.grpc.m.anode.teamSeed
Peer
ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906Live peers
https://anode.team/Zenrock/main/peers.txtGenesis
https://anode.team/Zenrock/main/genesis.jsonAddrbook
https://anode.team/Zenrock/main/addrbook.jsonwget -O Zenrock.sh https://anode.team/Zenrock/main/Zenrock.sh && chmod u+x Zenrock.sh && ./Zenrock.sh
Memory
16GBCPUs
Quad Core or larger AMD or Intel (amd64) CPUDisk
At least 500GB NVMe Storagesudo curl -Ls https://github.com/Zenrock-Foundation/zrchain/releases/download/v6.3.3/zenrockd -o zenrockd
chmod +x zenrockd
mv zenrockd $HOME/go/bin/zenrockd
wget -O $HOME/go/bin/zenrockd https://anode.team/Zenrock/main/zenrockd && chmod +x $HOME/go/bin/zenrockd
zenrockd init [moniker] --chain-id gardia-5
sed -i "s/chain-id = .*/chain-id = \"gardia-5\"/" $HOME/.zrchain/config/client.toml
zenrockd keys add [wallet_name]
curl https://anode.team/Zenrock/main/genesis.json > ~/.zrchain/config/genesis.json
curl https://anode.team/Zenrock/main/addrbook.json > ~/.zrchain/config/addrbook.json
SEEDS=""
PEERS="ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.zrchain/config/config.toml
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0urock"|g' $HOME/.zrchain/config/app.toml
curl -sSL https://anode.team/set-ports.sh | bash -s -- .zrchain
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.zrchain/config/config.toml
sudo tee /etc/systemd/system/zenrockd.service > /dev/null <<EOF
[Unit]
Description=Zenrock
After=network-online.target
[Service]
User=$USER
ExecStart=$(which zenrockd) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && sudo systemctl enable zenrockd
sudo systemctl restart zenrockd && journalctl -fu zenrockd -o cat
echo "{\"pubkey\":{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"$(zenrockd comet show-validator | grep -Po '\"key\":\s*\"\K[^"]*')\"},
"amount": "1000000urock",
"moniker": "[moniker]",
"identity": "[identity]",
"website": "[website]",
"details": "[details],
"security-contact": "[contact]",
"commission-rate": "0.10",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}" > validator.json
zenrockd tx staking create-validator validator.json \
--from [wallet_name] \
--chain-id gardia-4 \
--fees 500000urock
mkdir -p $HOME/.zrchain/sidecar/bin
mkdir -p $HOME/.zrchain/sidecar/keys
wget -O $HOME/.zrchain/sidecar/bin/zenrock-sidecar https://github.com/Zenrock-Foundation/zrchain/releases/download/v6.3.3/validator_sidecar
chmod +x $HOME/.zrchain/sidecar/bin/zenrock-sidecar
read -p "Enter password for the keys: " key_pass
git clone https://github.com/zenrocklabs/zenrock-validators
cd $HOME/zenrock-validators/utils/keygen/bls/
go mod tidy
go build
bls_output_file=$HOME/.zrchain/sidecar/keys/bls.key.json
$HOME/zenrock-validators/utils/keygen/bls/bls --password $key_pass -output-file $bls_output_file
cd $HOME/zenrock-validators/utils/keygen/ecdsa/
go mod tidy
go build
ecdsa_output_file=$HOME/.zrchain/sidecar/keys/ecdsa.key.json
ecdsa_creation=$($HOME/zenrock-validators/utils/keygen/ecdsa/ecdsa --password $key_pass -output-file $ecdsa_output_file)
ecdsa_address=$(echo "$ecdsa_creation" | grep "Public address" | cut -d: -f2)
nano $HOME/.zrchain/sidecar/config.yaml
enabled: true
grpc_port: 9191
zrchain_rpc: "localhost:9190"
state_file: "cache.json"
operator_config: "/root/.zrchain/sidecar/eigen_operator_config.yaml"
network: "testnet"
eth_rpc:
local: "http://127.0.0.1:8545"
testnet: "[https://rpc-endpoint-holesky-here]"
mainnet: "[https://rpc-endpoint-mainnet-here]"
solana_rpc:
testnet: "https://api.testnet.solana.com"
mainnet: "https://api.mainnet-beta.solana.com"
proxy_rpc:
url:
user:
password:
neutrino:
path: "/root/.zrchain/sidecar/neutrino"
nano $HOME/.zrchain/sidecar/eigen_operator_config.yaml
register_operator_on_startup: true
register_on_startup: true
production: true
ecdsa_private_key_store_path: /root/.zrchain/sidecar/keys/ecdsa.key.json
bls_private_key_store_path: /root/.zrchain/sidecar/keys/bls.key.json
aggregator_server_ip_port_address: avs-aggregator.gardia.zenrocklabs.io:8090
eth_rpc_url: [ETH MAIN ENDPOINT HERE]
eth_ws_url: [ETH MAIN WSS ENDPOINT HERE]
enable_metrics: true
eigen_metrics_ip_port_address: 0.0.0.0:9292
enable_node_api: true
node_api_ip_port_address: 0.0.0.0:9191
operator_address: [VALUE FROM STEP - ECDSA key]
operator_validator_address: [VALUE FROM STEP - zenvaloper address]
avs_registry_coordinator_address: 0xdc3A1b2a44D18c6B98a1d6c8C042247d2F5AC722
operator_state_retriever_address: 0xdB55356826a16DfFBD86ba334b84fC4E37113d97
token_strategy_addr: 0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9
zr_chain_rpc_address: localhost:9280
metrics_address: 0.0.0.0:9292
service_manager_address: 0xa559CDb9e029fc4078170122eBf7A3e622a764E4
tee /etc/systemd/system/zenrock-sidecar.service > /dev/null <<EOF
[Unit]
Description=Zenrock-sidecar
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/.zrchain/sidecar/bin/zenrock-sidecar
Restart=on-failure
RestartSec=30
LimitNOFILE=65535
Environment="OPERATOR_BLS_KEY_PASSWORD=$key_pass"
Environment="OPERATOR_ECDSA_KEY_PASSWORD=$key_pass"
Environment="SIDECAR_CONFIG_FILE=$HOME/.zrchain/sidecar/config.yaml"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && sudo systemctl enable zenrock-sidecar
sudo systemctl restart zenrock-sidecar && journalctl -fu zenrock-sidecar -o cat
SNAP_RPC=https://zenrock.rpc.t.anode.team:443 && \
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
wget https://anode.team/unsafe-reset-all.sh && chmod u+x unsafe-reset-all.sh && ./unsafe-reset-all.sh zenrockd .zrchain
peers="ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.zrchain/config/config.toml
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.zrchain/config/config.toml
sudo systemctl restart zenrockd && journalctl -fu zenrockd -o cat
ANODE.TEAM
https://test.anode.team/zenrockRPC
https://zenrock.rpc.t.anode.teamAPI
https://zenrock.api.t.anode.teamgRPC
http://zenrock.grpc.t.anode.teamSeed
Peer
ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906Live peers
https://anode.team/Zenrock/test/peers.txtGenesis
https://anode.team/Zenrock/test/genesis.jsonAddrbook
https://anode.team/Zenrock/test/addrbook.jsonwget -O Zenrock.sh https://anode.team/Zenrock/test/Zenrock.sh && chmod u+x Zenrock.sh && ./Zenrock.sh
Memory
16GBCPUs
Quad Core or larger AMD or Intel (amd64) CPUDisk
At least 500GB NVMe Storagesudo curl -Ls https://github.com/Zenrock-Foundation/zrchain/releases/download/v6.3.3/zenrockd -o zenrockd
chmod +x zenrockd
mv zenrockd $HOME/go/bin/zenrockd
wget -O $HOME/go/bin/zenrockd https://anode.team/Zenrock/test/zenrockd && chmod +x $HOME/go/bin/zenrockd
zenrockd init [moniker] --chain-id gardia-5
sed -i "s/chain-id = .*/chain-id = \"gardia-5\"/" $HOME/.zrchain/config/client.toml
zenrockd keys add [wallet_name]
curl https://anode.team/Zenrock/test/genesis.json > ~/.zrchain/config/genesis.json
curl https://anode.team/Zenrock/test/addrbook.json > ~/.zrchain/config/addrbook.json
SEEDS=""
PEERS="ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.zrchain/config/config.toml
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0urock"|g' $HOME/.zrchain/config/app.toml
curl -sSL https://anode.team/set-ports.sh | bash -s -- .zrchain
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.zrchain/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.zrchain/config/config.toml
sudo tee /etc/systemd/system/zenrockd.service > /dev/null <<EOF
[Unit]
Description=Zenrock
After=network-online.target
[Service]
User=$USER
ExecStart=$(which zenrockd) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && sudo systemctl enable zenrockd
sudo systemctl restart zenrockd && journalctl -fu zenrockd -o cat
echo "{\"pubkey\":{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"$(zenrockd comet show-validator | grep -Po '\"key\":\s*\"\K[^"]*')\"},
"amount": "1000000urock",
"moniker": "[moniker]",
"identity": "[identity]",
"website": "[website]",
"details": "[details],
"security-contact": "[contact]",
"commission-rate": "0.10",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}" > validator.json
zenrockd tx staking create-validator validator.json \
--from [wallet_name] \
--chain-id gardia-4 \
--fees 500000urock
mkdir -p $HOME/.zrchain/sidecar/bin
mkdir -p $HOME/.zrchain/sidecar/keys
wget -O $HOME/.zrchain/sidecar/bin/zenrock-sidecar https://github.com/Zenrock-Foundation/zrchain/releases/download/v6.3.3/validator_sidecar
chmod +x $HOME/.zrchain/sidecar/bin/zenrock-sidecar
read -p "Enter password for the keys: " key_pass
git clone https://github.com/zenrocklabs/zenrock-validators
cd $HOME/zenrock-validators/utils/keygen/bls/
go mod tidy
go build
bls_output_file=$HOME/.zrchain/sidecar/keys/bls.key.json
$HOME/zenrock-validators/utils/keygen/bls/bls --password $key_pass -output-file $bls_output_file
cd $HOME/zenrock-validators/utils/keygen/ecdsa/
go mod tidy
go build
ecdsa_output_file=$HOME/.zrchain/sidecar/keys/ecdsa.key.json
ecdsa_creation=$($HOME/zenrock-validators/utils/keygen/ecdsa/ecdsa --password $key_pass -output-file $ecdsa_output_file)
ecdsa_address=$(echo "$ecdsa_creation" | grep "Public address" | cut -d: -f2)
nano $HOME/.zrchain/sidecar/config.yaml
enabled: true
grpc_port: 9191
zrchain_rpc: "localhost:9190"
state_file: "cache.json"
operator_config: "/root/.zrchain/sidecar/eigen_operator_config.yaml"
network: "testnet"
eth_rpc:
local: "http://127.0.0.1:8545"
testnet: "[https://rpc-endpoint-holesky-here]"
mainnet: "[https://rpc-endpoint-mainnet-here]"
solana_rpc:
testnet: "https://api.testnet.solana.com"
mainnet: "https://api.mainnet-beta.solana.com"
proxy_rpc:
url:
user:
password:
neutrino:
path: "/root/.zrchain/sidecar/neutrino"
nano $HOME/.zrchain/sidecar/eigen_operator_config.yaml
register_operator_on_startup: true
register_on_startup: true
production: true
ecdsa_private_key_store_path: /root/.zrchain/sidecar/keys/ecdsa.key.json
bls_private_key_store_path: /root/.zrchain/sidecar/keys/bls.key.json
aggregator_server_ip_port_address: avs-aggregator.gardia.zenrocklabs.io:8090
eth_rpc_url: [ETH MAIN ENDPOINT HERE]
eth_ws_url: [ETH MAIN WSS ENDPOINT HERE]
enable_metrics: true
eigen_metrics_ip_port_address: 0.0.0.0:9292
enable_node_api: true
node_api_ip_port_address: 0.0.0.0:9191
operator_address: [VALUE FROM STEP - ECDSA key]
operator_validator_address: [VALUE FROM STEP - zenvaloper address]
avs_registry_coordinator_address: 0xdc3A1b2a44D18c6B98a1d6c8C042247d2F5AC722
operator_state_retriever_address: 0xdB55356826a16DfFBD86ba334b84fC4E37113d97
token_strategy_addr: 0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9
zr_chain_rpc_address: localhost:9280
metrics_address: 0.0.0.0:9292
service_manager_address: 0xa559CDb9e029fc4078170122eBf7A3e622a764E4
tee /etc/systemd/system/zenrock-sidecar.service > /dev/null <<EOF
[Unit]
Description=Zenrock-sidecar
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/.zrchain/sidecar/bin/zenrock-sidecar
Restart=on-failure
RestartSec=30
LimitNOFILE=65535
Environment="OPERATOR_BLS_KEY_PASSWORD=$key_pass"
Environment="OPERATOR_ECDSA_KEY_PASSWORD=$key_pass"
Environment="SIDECAR_CONFIG_FILE=$HOME/.zrchain/sidecar/config.yaml"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && sudo systemctl enable zenrock-sidecar
sudo systemctl restart zenrock-sidecar && journalctl -fu zenrock-sidecar -o cat
SNAP_RPC=https://zenrock.rpc.t.anode.team:443 && \
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
wget https://anode.team/unsafe-reset-all.sh && chmod u+x unsafe-reset-all.sh && ./unsafe-reset-all.sh zenrockd .zrchain
peers="ee7d09ac08dc61548d0e744b23e57436b8c477fc@65.109.93.152:26906"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.zrchain/config/config.toml
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.zrchain/config/config.toml
sudo systemctl restart zenrockd && journalctl -fu zenrockd -o cat