- Removes AITBC_FORCE_ENABLE_BLOCK_PRODUCTION, ENABLE_BLOCK_PRODUCTION, and enable_block_production environment variable overrides
- Block production is now controlled by env file settings (enable_block_production)
- Allows follower nodes to properly disable block production via configuration
- Change DatabaseMempool lock from Lock to RLock to prevent self-deadlock
in add() -> _update_gauge() -> size() call chain
- Switch aitbc-blockchain-node.service from combined_main to aitbc_chain.main
to avoid port 8006 conflict with RPC service
- Enable block production in node service (RPC remains disabled)
This fixes POST /rpc/transaction timeout for funded senders and allows
genesis-to-training-wallet funding to complete successfully.
Fixed blockchain node HTTP RPC server not responding to requests by:
- Updated wrapper script to use combined_main.py instead of main.py
- Updated combined_main.py to use port 8006 for HTTP RPC server
- combined_main.py runs both blockchain node logic and HTTP RPC server together
Root cause:
- aitbc_chain.main only runs blockchain node logic (block production, gossip)
- HTTP RPC server was not being started
- Separate uvicorn process on port 8006 was hung/not responding
Solution:
- Use combined_main.py which starts both node and HTTP RPC server
- Configure HTTP RPC to run on port 8006 (not 8005 to avoid conflict with AI service)
- Blockchain node HTTP RPC now responds correctly on port 8006
This fixes the training script wallet balance timeout errors.