3.8 KiB
AITBC System Fixes - 2026-03-13
Issues Resolved
1. Matrix Agent Not Responding
Problem: Agent read messages but didn't answer due to duplicate plugin loading.
Root Cause: Two copies of the Matrix plugin existed:
- System:
/usr/lib/node_modules/openclaw/extensions/matrix - Local:
/root/.openclaw/extensions/matrix
Fix:
- Removed both copies
- Reinstalled via
openclaw plugins install @openclaw/matrix(v2026.3.12) to local extensions - Removed conflicting system copy
- Added
groupAllowFrom: ["*"]to allow all senders in allowed rooms - Added room settings:
autoReply: true,requireMention: false
Status: ✅ Matrix channel working, no duplicate warnings.
2. Blockchain Node - Missing chain_id Column
Problem: Failed to propose block error: no such column: chain_id.
Root Cause: The mempool table (in data/mempool.db) lacked the chain_id column, required by the database-backed mempool implementation. The block table already had it.
Fix:
ALTER TABLE mempool ADD COLUMN chain_id VARCHAR NOT NULL DEFAULT 'ait-devnet';
CREATE INDEX idx_mempool_chain_id ON mempool(chain_id);
Status: ✅ PoA proposer now runs without errors.
3. Missing RPC Endpoint /rpc/mempool
Problem: GET /rpc/mempool returned 404 Not Found.
Root Cause: The endpoint was not implemented in the RPC router.
Fix: Added to /opt/aitbc/apps/blockchain-node/src/aitbc_chain/rpc/router.py:
@router.get("/mempool", summary="Get mempool transactions")
async def get_mempool_endpoint(chain_id: str = "ait-devnet", limit: int = 100) -> Dict[str, Any]:
"""Get pending transactions in the mempool for a chain"""
...
Status: ✅ Endpoint now returns mempool data (empty if no transactions).
Tools Installed
System (apt)
- sqlite3, strace, ltrace, gdb, psmisc, lsof, net-tools, iproute2
- python3-venv, python3-pip, python3-dev, build-essential
- curl, wget, git, jq, htop, nmap
Python (pip)
- ipdb, ptpython, ipython, debugpy
- memory_profiler, line_profiler
- py-spy, snakeviz
- rich, traceback-with-variables
- pytest, pytest-cov, pytest-xdist, hypothesis
Git Repository
Workspace initialized at /root/.openclaw/workspace:
- Tracked config files:
openclaw.json, identity files, SOUL.md, etc. .gitignoreexcludes sensitive data (credentials, sessions, logs)- Remote:
git@gitea.bubuit.net:oib/aitbc.git(SSH deploy key added)
Note: Application code (/opt/aitbc/apps/...) is separate and not in this repo.
Current Running Services
- OpenClaw Gateway (matrix + webchat)
- Blockchain Node (PoA proposer active)
- Uvicorn RPC server on port 8006
- Uvicorn app on port 8025
Verification
# Matrix agent
openclaw channels status --probe
# Blockchain RPC
curl http://localhost:8006/rpc/head
curl "http://localhost:8006/rpc/mempool?chain_id=ait-devnet"
# Logs
tail -f /var/log/aitbc_node.log
Recommendations
Security (Matrix Agent)
Currently groupAllowFrom: ["*"] with requireMention: false means anyone in allowed rooms can trigger arbitrary code execution (coding profile). Consider:
"channels": {
"matrix": {
"groupPolicy": "allowlist",
"groups": {
"!TuWuNlZVCNESaZmHiA:matrix.bubuit.net": {
"allow": true,
"autoReply": true,
"requireMention": true,
"users": ["@your_user_id:matrix.bubuit.net"]
}
}
}
}
Database Migrations
Future schema changes should use Alembic migrations. The mempool table needs an Alembic migration to add chain_id for consistency.
Monitoring
- Set up log rotation for
/var/log/aitbc_node.log - Monitor
/rpc/metricsfor Prometheus metrics - Watch for repeated
Failed to propose blockerrors
All critical issues resolved as of 2026-03-13 19:00 UTC.