docs: add legacy environment file cleanup and final verification
Some checks failed
Documentation Validation / validate-docs (push) Has been cancelled

- Add Step 13: Legacy Environment File Cleanup
- Remove all .env.production and legacy .env references
- Update all systemd services to use /etc/aitbc/blockchain.env
- Add Step 14: Final Multi-Node Verification
- Include comprehensive success criteria validation
- Add service status, configuration, and sync verification
- Provide complete end-to-end workflow validation

This ensures all legacy environment file references are cleaned up
and provides a complete verification framework for the multi-node
blockchain setup with clear success criteria.
This commit is contained in:
aitbc1
2026-03-29 15:52:16 +02:00
parent 1a1d67da9e
commit 6dcfc3c68d

View File

@@ -383,7 +383,115 @@ echo "=== Final balance verification ==="
ssh aitbc "curl -s \"http://localhost:8006/rpc/getBalance/$WALLET_ADDR\" | jq ." ssh aitbc "curl -s \"http://localhost:8006/rpc/getBalance/$WALLET_ADDR\" | jq ."
``` ```
### 12. Chain ID Configuration Verification ### 13. Legacy Environment File Cleanup
```bash
# Remove all legacy .env.production and .env references from systemd services
echo "=== Legacy Environment File Cleanup ==="
# Check for legacy references
echo "Checking for legacy environment file references..."
find /etc/systemd -name "*.service*" -exec grep -l "\.env\.production" {} \; 2>/dev/null || echo "No .env.production references found"
# Clean up legacy references
echo "=== Cleaning up legacy references ==="
# Fix blockchain-gossip-relay service if it exists
if [ -f "/etc/systemd/system/blockchain-gossip-relay.service" ]; then
sed -i 's|EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production|EnvironmentFile=/etc/aitbc/blockchain.env|g' /etc/systemd/system/blockchain-gossip-relay.service
echo "Fixed gossip relay service"
fi
# Fix aitbc-blockchain-sync service if it exists
if [ -f "/etc/systemd/system/aitbc-blockchain-sync.service" ]; then
# Remove all EnvironmentFile entries and add the correct one
grep -v 'EnvironmentFile=' /etc/systemd/system/aitbc-blockchain-sync.service > /tmp/sync.service.clean
echo "EnvironmentFile=/etc/aitbc/blockchain.env" >> /tmp/sync.service.clean
cp /tmp/sync.service.clean /etc/systemd/system/aitbc-blockchain-sync.service
echo "Fixed sync service"
fi
# Update any remaining legacy references
find /etc/systemd -name "*.service*" -exec sed -i 's|EnvironmentFile=/opt/aitbc/.env|EnvironmentFile=/etc/aitbc/blockchain.env|g' {} \; 2>/dev/null
find /etc/systemd -name "*.service*" -exec sed -i 's|EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production|EnvironmentFile=/etc/aitbc/blockchain.env|g' {} \; 2>/dev/null
echo "=== Verification ==="
echo "Checking all blockchain services now use correct environment file..."
find /etc/systemd -name "*blockchain*.service" -exec grep -H "EnvironmentFile.*=" {} \; 2>/dev/null
echo "=== Legacy Cleanup Complete ==="
echo "✅ All .env.production references removed"
echo "✅ All /opt/aitbc/.env references updated"
echo "✅ All services now use /etc/aitbc/blockchain.env"
# Reload systemd to apply changes
systemctl daemon-reload
echo "✅ Legacy environment file references cleaned up successfully"
```
### 14. Final Multi-Node Verification
```bash
# Complete verification of multi-node blockchain setup
echo "=== FINAL MULTI-NODE VERIFICATION ==="
# Check both nodes are operational
echo "1. Service Status:"
echo "aitbc1 services:"
systemctl is-active aitbc-blockchain-node aitbc-blockchain-rpc
echo "aitbc services:"
ssh aitbc 'systemctl is-active aitbc-blockchain-node aitbc-blockchain-rpc'
echo -e "\n2. Configuration Consistency:"
echo "aitbc1 chain info:"
curl -s http://localhost:8006/rpc/info | jq '{chain_id, supported_chains, rpc_version, height}'
echo "aitbc chain info:"
ssh aitbc 'curl -s http://localhost:8006/rpc/info | jq "{chain_id, supported_chains, rpc_version, height}"'
echo -e "\n3. Blockchain Synchronization:"
AITBC1_HEIGHT=$(curl -s http://localhost:8006/rpc/head | jq .height)
AITBC_HEIGHT=$(ssh aitbc 'curl -s http://localhost:8006/rpc/head | jq .height')
echo "aitbc1 height: $AITBC1_HEIGHT"
echo "aitbc height: $AITBC_HEIGHT"
HEIGHT_DIFF=$((AITBC1_HEIGHT - AITBC_HEIGHT))
echo "Height difference: $HEIGHT_DIFF blocks"
echo -e "\n4. Network Health:"
echo "Redis status: $(redis-cli -h localhost ping)"
echo "P2P connectivity: $(curl -s http://localhost:8006/rpc/info | jq .supported_chains)"
echo -e "\n5. Genesis Block Verification:"
echo "aitbc1 genesis:"
curl -s "http://localhost:8006/rpc/blocks-range?start=0&end=0" | jq '.blocks[0] | {height: .height, hash: .hash}'
echo "aitbc genesis:"
ssh aitbc 'curl -s "http://10.1.223.40:8006/rpc/blocks-range?start=0&end=0" | jq ".blocks[0] | {height: .height, hash: .hash}"'
# Success criteria
echo -e "\n=== SUCCESS CRITERIA ==="
SERVICES_OK=$(systemctl is-active aitbc-blockchain-node aitbc-blockchain-rpc | grep -c 'active')
SERVICES_OK_REMOTE=$(ssh aitbc 'systemctl is-active aitbc-blockchain-node aitbc-blockchain-rpc | grep -c "active"')
if [ "$SERVICES_OK" -eq 2 ] && [ "$SERVICES_OK_REMOTE" -eq 2 ]; then
echo "✅ All services operational"
else
echo "❌ Some services not running"
fi
if [ "$HEIGHT_DIFF" -le 5 ]; then
echo "✅ Blockchain synchronized"
else
echo "⚠️ Blockchain sync needed (diff: $HEIGHT_DIFF blocks)"
fi
if [ "$(curl -s http://localhost:8006/rpc/info | jq -r .supported_chains[0])" = "ait-mainnet" ] && [ "$(ssh aitbc 'curl -s http://localhost:8006/rpc/info | jq -r .supported_chains[0]')" = "ait-mainnet" ]; then
echo "✅ Both nodes on same chain"
else
echo "❌ Chain configuration mismatch"
fi
echo -e "\n🎉 MULTI-NODE BLOCKCHAIN SETUP VERIFICATION COMPLETE"
```
```bash ```bash
# Ensure both nodes have the same chain ID configuration # Ensure both nodes have the same chain ID configuration