Sign inSign up

mochanerd/algorand-node-mainnet

By mochanerd

•Updated 8 months ago

Algorand Consensus Node - Official Algorand Foundation image configured for Flux Cloud deployment

Image
Networking
0

438

mochanerd/algorand-node-mainnet repository overview

⁠Algorand Mainnet Participation Node on Flux Cloud

Deploy and run a fully-synced Algorand mainnet participation node on decentralized Flux Cloud infrastructure at a fraction of traditional cloud costs.

⁠🌟 Overview

This deployment uses the official Algorand Foundation Docker image to run a participation node that:

  • Participates in Algorand's Pure Proof of Stake (PPoS) consensus
  • Validates transactions and proposes blocks
  • Contributes to network security and decentralization
  • Runs 24/7 on distributed Flux infrastructure

Cost Comparison:

  • Traditional Cloud (AWS/GCP): ~$80-100/month
  • Flux Cloud: ~$7-10/month (60 FLUX)

⁠📋 Prerequisites

Before deploying, you'll need:

  1. Flux Cloud Account

  2. Pera Wallet (for signing participation transactions)

  3. ALGO Tokens (optional, for rewards)

    • Minimum 30,000 ALGO required to receive block rewards
    • Any amount can participate without rewards (testing/network support)

⁠🚀 Deployment Steps

⁠Step 1: Deploy on Flux Cloud
  1. Go to https://cloud.runonflux.com/marketplace/⁠
  2. Search for "Algorand" or find the Algorand Mainnet Node
  3. Click "Deploy"
  4. Configure deployment:
    • Name: algorand-mainnet-node (or your preferred name)
    • Docker Image: mochanerd/algorand-node-mainnet:latest
    • CPU: 8 cores
    • RAM: 16GB
    • Storage: 120GB (SSD/NVMe recommended)
    • Ports: 8080 (algod API), 4001 (P2P)
  5. Complete payment and wait for deployment (5-10 minutes)

Monthly Cost: 60 FLUX ($7-10 USD)

Recommended Specifications:

  • CPU: 8 cores (for optimal block processing)
  • RAM: 16GB (handles blockchain operations efficiently)
  • Storage: 120GB SSD/NVMe (blockchain data ~100GB + overhead)
  • Network: 1 Gbps connection recommended
⁠Step 2: Access Your Node

Once deployed, you'll receive:

  • Container access URL
  • SSH/terminal access to the container
  • API endpoint for algod

Access the container terminal:

# Via Flux Cloud dashboard or SSH
ssh root@<your-flux-node-ip>
⁠Step 3: Wait for Blockchain Sync

The node needs to sync with Algorand mainnet before participating.

Check sync status:

goal node status

Look for:

  • Sync Time: 0.0s (fully synced)
  • Catchpoint: shows catchpoint progress if syncing

Note: Initial sync can take 2-4 hours depending on network speed.

⁠Step 4: Generate Participation Keys

Once synced, generate participation keys for your wallet address.

Get current round number:

goal node status

Note the Last committed block: number (e.g., 57632000)

Calculate validity period:

  • 6 months ≈ 4,778,000 rounds
  • 1 year ≈ 9,556,000 rounds

Generate keys:

goal account addpartkey
  -a <YOUR_ALGORAND_ADDRESS>
  --roundFirstValid <CURRENT_ROUND>
  --roundLastValid <CURRENT_ROUND + 4778000>

Example:

goal account addpartkey 
  -a 54XEVK24Q5MTXN76WQRYUBZJDS2RX3TS77XEYUKUEQZZY64R2GFHJXSJF4 
  --roundFirstValid 57632072 
  --roundLastValid 62410287

Save the Participation ID displayed in the output.

View participation key details:

goal account partkeyinfo

Save these values (you'll need them for TxnDuck):

  • Selection key (base64)
  • Voting key (base64)
  • State proof key (base64)
  • Key dilution (number)
⁠Step 5: Create Online Transaction

Generate unsigned transaction:

goal account changeonlinestatus 
  -a <YOUR_ALGORAND_ADDRESS> 
  -o=1 
  --txfile=online.txn

Convert to base64:

base64 -w 0 online.txn

Copy the entire base64 output (long string).

⁠Step 6: Sign Transaction with TxnDuck + Pera Wallet

Option A: Use TxnDuck Compose (Recommended)

  1. Go to https://txnduck.vercel.app/en/txn/compose?preset=reg_online⁠

  2. The form will have these fields:

    • Sender: Paste your Algorand address
    • Voting key: From goal account partkeyinfo output
    • Selection key: From goal account partkeyinfo output
    • State proof key: From goal account partkeyinfo output
    • First voting round: Your start round
    • Last voting round: Your end round
    • Voting key dilution: From goal account partkeyinfo (usually ~2186)
  3. Click "Connect Wallet" → Select "Pera Wallet"

  4. TxnDuck will open WalletConnect QR code

  5. Open Pera Wallet on your phone → Scan QR code

  6. Review transaction details in Pera Wallet:

    • Type: Key Registration
    • Sender: Your address
    • Fee: ~0.001 ALGO
  7. Sign the transaction in Pera Wallet

  8. Click "Send Transaction" in TxnDuck

  9. Transaction will broadcast to network

Option B: Use Pre-Generated Transaction

  1. Go to https://txnduck.vercel.app/⁠
  2. Click "Decode Transaction"
  3. Paste your base64 transaction from Step 5
  4. Click "Connect Wallet" → "Pera Wallet"
  5. Scan QR code with Pera Wallet
  6. Sign and broadcast
⁠Step 7: Verify Node is Online

Wait 1-2 minutes for the transaction to confirm.

Check participation status:

goal account listpartkeys

You should see:

Registered  Account      ParticipationID   Last Used  First round  Last round
yes         <YOUR_ADDR>  <PART_ID>         N/A        57632072     62410287

Verify online status:

goal account dump -a <YOUR_ALGORAND_ADDRESS>

Should show: "status": "Online"

Check logs for consensus activity:

tail -f /var/lib/algorand/node.log

Look for:

  • BlockAccepted - Node accepting blocks
  • ProposalAccepted - Receiving block proposals
  • RoundStart - Processing consensus rounds

⁠🎯 Staking Rewards (Optional)

To receive block rewards, your account needs:

  • Minimum 30,000 ALGO stake
  • 2 ALGO transaction fee when registering (marks account as "incentive-eligible")

Register for rewards:

goal account changeonlinestatus
  -a <YOUR_ALGORAND_ADDRESS> 
  -o=1 
  --fee=2000000 
  --txfile=online_rewards.txn

Then sign with TxnDuck + Pera Wallet (same process as Step 6).

Current Rewards (as of Jan 2025):

  • 10 ALGO per block proposed (decays 1% per million blocks)
  • 50% of transaction fees from blocks you propose
  • Probabilistic based on your stake percentage

⁠📊 Monitoring Your Node

Check node status:

goal node status

View participation keys:

goal account listpartkeys

Check account information:

goal account dump -a <YOUR_ALGORAND_ADDRESS>

Monitor consensus logs:

tail -f /var/lib/algorand/node.log | grep Agreement

View recent blocks:

goal node lastround

⁠🔧 Maintenance

Renew Participation Keys (before expiration):

  1. Generate new keys 1-2 weeks before current keys expire
  2. Sign new key registration transaction
  3. Old keys automatically expire, new keys take effect

Update Node Software:

The Docker container automatically updates to the latest Algorand release. Monitor Flux Cloud dashboard for container restarts.

Extend Participation:

To extend beyond initial 6 months:

goal account addpartkey 
  -a <YOUR_ALGORAND_ADDRESS> 
  --roundFirstValid <CURRENT_EXPIRY_ROUND> 
  --roundLastValid <NEW_EXPIRY_ROUND>

Then sign new transaction with TxnDuck + Pera Wallet.

⁠❓ Troubleshooting

Node not syncing:

goal node status
# Check "Sync Time" and "Catchpoint"
# Wait 2-4 hours for initial sync

Participation keys not showing as registered:

goal account listpartkeys
# Verify transaction confirmed on chain
# Check https://algoexplorer.io/tx/<TRANSACTION_ID>

Account showing "Offline":

goal account dump -a <YOUR_ALGORAND_ADDRESS>
# If status is "Offline", transaction may not have confirmed
# Wait 1-2 minutes and check again

Connection issues:

goal node status
# Check "Genesis ID" should be "mainnet-v1.0"
# Verify ports 8080 and 4001 are accessible

⁠💡 Tips

  1. Start with small stake for testing before committing large amounts
  2. Monitor logs regularly to ensure node stays healthy
  3. Set calendar reminder to renew keys before expiration
  4. Use dedicated wallet for participation separate from main holdings
  5. Check AlgoExplorer to verify your node's participation
  6. Join Algorand Discord for community support

⁠📝 Technical Specifications

  • Base Image: algorand/algod:latest (Official Algorand Foundation)
  • Blockchain: Algorand Mainnet
  • Consensus: Pure Proof of Stake (PPoS)
  • Block Time: ~3.3 seconds
  • Recommended Resources: 8 vCPU, 16GB RAM, 120GB SSD/NVMe
  • Network: Decentralized Flux Cloud infrastructure
  • Uptime: 99.5%+ (distributed across multiple Flux nodes)
  • Monthly Cost: 60 FLUX ($7-10 USD)

⁠🤝 Support

For issues specific to:


Maintained by: mochanerd Docker Hub: https://hub.docker.com/r/mochanerd/algorand-node-mainnet⁠ License: MIT

Last Updated: January 2026

Tag summary

Content type

Image

Digest

sha256:b765412fb…

Size

130.6 MB

Last updated

8 months ago

docker pull mochanerd/algorand-node-mainnet