Registering a Telegraph Node
This page guides you through setting up and registering a new Telegraph Node. Please follow the steps carefully to ensure your node is registered and operational.
Prerequisites
Before you begin, make sure you have:
A machine (Ubuntu preferred) with necessary permissions.
An Ethereum wallet (Bridge Wallet address) ready to receive funds and interact with smart contracts.
Enough wTAO tokens in your wallet to cover:
The entry fee (as set by the smart contract on Ethereum)
Transaction fees (gas) for all supported networks (ETH, BNB, Polygon, etc.)
API keys for relevant subnets (see script comments).
Backed up your wallet's keystore file.
Note: You should update the default configurations for Clef and your Bridge to make things more secure, as these are placeholder paths and public and prone to attacks. You are responsible for keeping your node safe.
Step 1: Prepare Environment Variables
Before running anything, ensure you have set all required environment variables. These include:
MONIKER: Your node's display name.
GENESIS_IP: The genesis node's IP address.
IP: Your node's public IP address. Tip: For better security, use a domain name and implement best practices such as a reverse proxy, firewall rules, and other security measures to protect your node.
Various API keys for subnets
Refer to your config.json
and .env.test
files for more details.
Step 2: Run the Telegraph Installation Script
You will receive or download a setup script (example below). This script will automate the installation and setup process for:
Dependencies (Go, GCC, Cassandra, Java, Curl, etc.)
Cassandra database schema
Clef signing service
Downloading and configuring the
telegraph
binarySetting up systemd services for Clef and Telegraph
Do not edit the script unless you know what you are doing!
Example: How to run
chmod +x telegraph-setup.sh
./telegraph-setup.sh
⚠️ Script Warnings
Configure all required environment variables in the script before proceeding.
Configure custom RPCs for all networks.
Ensure API keys and values are correct and valid.
Back up your wallet keystore file!
Send enough funds to your Bridge Wallet on all supported networks.
Step 3: Fund the Bridge Wallet
After running the script, it will output your Bridge Wallet address (look for "Available accounts"
in the logs).
Send wTAO (only on ETH) and enough native gas tokens (e.g., ETH, BNB, MATIC, AVAX) to this wallet on all supported networks.
The node will not register unless it holds enough funds.
Tip: Back up your keystore file (
$HOME/bridge/clef/keystore
) to a safe location.
Step 4: Wallet Approval & Smart Contract Interaction
When you launch the node for the first time, the following happens:
Wallet Approval: Your wallet must approve the Telegraph smart contract to spend the required amount of wTAO for registration on the Ethereum network.
Check Balances:
The script checks if your wallet has enough wTAO (for entry fee) and enough native gas tokens (for transaction fees) on all supported networks.
If any network has insufficient gas, registration will not proceed.
Registration Transaction:
The script creates a transaction that calls the smart contract's
addSigner
function, registering your node.The transaction will fail if:
You have not funded your wallet adequately (entry fee + gas fees).
Your wallet has not approved the smart contract to spend wTAO.
The process waits and checks every 10 seconds until all funds are confirmed.
Step 5: Success Verification
Once the smart contract transaction is mined and confirmed, your node is registered.
The script and systemd service will keep your node online.
You can verify your node's status by checking logs or querying the smart contract for your wallet's registration.
Registration Logic Summary
The registration is handled programmatically (see below for simplified explanation):
The script checks your wallet balance for entry fee (wTAO) and gas on all required networks.
If balances are sufficient, the script:
Approves the smart contract to spend the wTAO.
Calls the
addSigner
function on the core contract with your node details.Waits for the transaction to be mined.
Confirms registration.
If you encounter any errors, check:
Wallet funding (wTAO + native gas on each chain)
Wallet approval status for the contract
Correct environment variable values
Log files at
$HOME/bridge/clef_script.log
and viajournalctl -u telegraph.service -f
orclef.service
.
FAQ
What is the Bridge Wallet?
It's the Ethereum wallet generated and managed by Clef, used for all node transactions and registration.
Do I need to manually approve the contract?
No, the script handles contract approval automatically. Just ensure your wallet has enough wTAO and gas.
How do I know if my node is registered?
Check the node logs for "Add signer transaction sent" and "Sufficient balance available". You can also query the smart contract.
Troubleshooting
Insufficient balance: Fund your Bridge Wallet with more wTAO or native gas tokens.
Smart contract approval errors: Ensure no other process is locking your wallet or Clef.
Service errors: Use
sudo systemctl status telegraph.service
andclef.service
for troubleshooting.
Example: Script Output
Wallet 0 is Telegraph Bridge Wallet, Fund it on all Networks:
Available accounts:
0xABCDEF1234567890...
...
✓ Subnet configurations verified successfully
Sufficient balance available on all networks
Add signer transaction sent: 0x...
Registration successful!
Security Notes
Do not share your keystore or private keys.
Always back up your wallet before proceeding.
Only run scripts from trusted sources.
Next Steps
Monitor your node and keep your software updated.
Join the community for support and updates.
Last updated