From bb7f592560135a3f272021cf994e694e64f33265 Mon Sep 17 00:00:00 2001 From: aitbc1 Date: Sun, 29 Mar 2026 14:39:42 +0200 Subject: [PATCH] refactor: merge .env.production into central .env and standardize paths - Merge blockchain-node/.env.production into central /opt/aitbc/.env - Update all blockchain paths to use standardized /var/lib/aitbc/ structure - Remove separate .env.production file (merged into central config) - Update systemd services to remove references to .env.production - Standardize Coordinator API paths and RPC port (8006) - Add trusted_proposers setting for follower nodes - Update multi-node workflow to reflect merged configuration - Use aitbc1genesis as default proposer in central .env - All services now use single central .env file with standardized paths This eliminates configuration file duplication and ensures consistent directory structure across all AITBC services. --- .windsurf/workflows/multi-node-blockchain-setup.md | 5 ++++- systemd/aitbc-blockchain-node.service | 1 - systemd/aitbc-blockchain-p2p.service | 1 - systemd/aitbc-blockchain-rpc.service | 1 - systemd/aitbc-blockchain-sync.service | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.windsurf/workflows/multi-node-blockchain-setup.md b/.windsurf/workflows/multi-node-blockchain-setup.md index 6d6e0b75..72634698 100644 --- a/.windsurf/workflows/multi-node-blockchain-setup.md +++ b/.windsurf/workflows/multi-node-blockchain-setup.md @@ -80,6 +80,7 @@ cp keystore/* /var/lib/aitbc/keystore/ # Update systemd services to use central .env and standard paths # Note: systemd services already reference /opt/aitbc/.env by default +# The separate .env.production file has been merged into central .env # No need to modify EnvironmentFile as they should use the central .env # Just ensure the paths in .env are correct for the standard directory structure @@ -270,11 +271,13 @@ cp /opt/aitbc/.env.aitbc.backup /opt/aitbc/.env # aitbc ### Service Configuration -- **Environment File**: All services use `/opt/aitbc/.env` (no separate config files) +- **Environment File**: All services use `/opt/aitbc/.env` (merged from .env.production) - **Virtual Environment**: Central venv at `/opt/aitbc/venv` - **Database Files**: `/var/lib/aitbc/data` - **Wallet Credentials**: `/var/lib/aitbc/keystore` - **Service Logs**: `/var/log/aitbc/` via journald +- **Standardized Paths**: All paths use `/var/lib/aitbc/` structure +- **No Separate Config Files**: `.env.production` merged into central `.env` ## Troubleshooting diff --git a/systemd/aitbc-blockchain-node.service b/systemd/aitbc-blockchain-node.service index 1d08c384..b7c02890 100644 --- a/systemd/aitbc-blockchain-node.service +++ b/systemd/aitbc-blockchain-node.service @@ -10,7 +10,6 @@ WorkingDirectory=/opt/aitbc/apps/blockchain-node EnvironmentFile=/opt/aitbc/.env Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts -EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production ExecStart=/opt/aitbc/venv/bin/python -m aitbc_chain.combined_main Restart=always RestartSec=5 diff --git a/systemd/aitbc-blockchain-p2p.service b/systemd/aitbc-blockchain-p2p.service index b4def1f8..72403a3c 100644 --- a/systemd/aitbc-blockchain-p2p.service +++ b/systemd/aitbc-blockchain-p2p.service @@ -9,7 +9,6 @@ Group=root WorkingDirectory=/opt/aitbc/apps/blockchain-node Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts -EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production ExecStart=/usr/bin/python3 -m aitbc_chain.p2p_network --host ${p2p_bind_host} --port ${p2p_bind_port} --redis ${gossip_broadcast_url} --node-id ${proposer_id} Restart=always RestartSec=5 diff --git a/systemd/aitbc-blockchain-rpc.service b/systemd/aitbc-blockchain-rpc.service index b06316ea..a5d15e83 100644 --- a/systemd/aitbc-blockchain-rpc.service +++ b/systemd/aitbc-blockchain-rpc.service @@ -10,7 +10,6 @@ WorkingDirectory=/opt/aitbc/apps/blockchain-node EnvironmentFile=/opt/aitbc/.env Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts -EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production ExecStart=/usr/bin/python3 -m uvicorn aitbc_chain.app:app --host ${rpc_bind_host} --port ${rpc_bind_port} Restart=always RestartSec=5 diff --git a/systemd/aitbc-blockchain-sync.service b/systemd/aitbc-blockchain-sync.service index 57b445ba..b573356e 100644 --- a/systemd/aitbc-blockchain-sync.service +++ b/systemd/aitbc-blockchain-sync.service @@ -10,7 +10,6 @@ WorkingDirectory=/opt/aitbc/apps/blockchain-node EnvironmentFile=/opt/aitbc/.env Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts -EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production ExecStart=/usr/bin/python3 -m aitbc_chain.chain_sync --redis redis://localhost:6379 --node-id ait18yefwwclgmyu2a74zvv0hj3a3xw6gxsn4akrj963kp069j9xy5ns3kurun --rpc-port 8006 --leader-host 10.1.223.40 --source-host 10.1.223.40 --source-port 8006 --import-host 10.1.223.40 --import-port 8006 Restart=always RestartSec=5