go-blockchain/daemon
Claude 08c3370821
Some checks are pending
Security Scan / security (push) Waiting to run
Test / Test (push) Waiting to run
docs(daemon): add README documenting API surface + AX debt
102 endpoints across 3 categories (chain RPC, wallet proxy, REST).
Documents the banned import debt (encoding/json, net/http) and
the migration plan to core/api.

server.go is 2339 lines with 84 handlers — split plan documented
but deferred to avoid conflicts with parallel agent work.

Co-Authored-By: Charon <charon@lethean.io>
2026-04-02 04:11:01 +01:00
..
coverage_test.go fix(daemon): repair last 2 broken routes + add comprehensive coverage test 2026-04-02 03:39:41 +01:00
README.md docs(daemon): add README documenting API surface + AX debt 2026-04-02 04:11:01 +01:00
server.go fix(daemon): SSE keepalive + write-error disconnect detection 2026-04-02 04:02:46 +01:00
server_integration_test.go test(integration): add hardfork, chain stats, REST health verification 2026-04-02 03:42:13 +01:00
server_test.go fix(daemon): repair 13 broken RPC routes + nil pointer guards 2026-04-02 03:37:06 +01:00
wallet_rpc.go feat(daemon): add wallet RPC proxy — unified endpoint 2026-04-02 02:01:20 +01:00
wallet_rpc_test.go test: wallet proxy, chain scanner tests 2026-04-02 03:55:07 +01:00

daemon — Lethean Go Chain Daemon

JSON-RPC + REST API server backed by the Go chain.

File Structure

File Purpose Methods
server.go Core RPC router + all handlers (LEGACY — needs splitting) 84
wallet_rpc.go Wallet RPC proxy to C++ wallet 16
server_test.go Unit tests for RPC handlers 22
server_integration_test.go Go-vs-C++ comparison tests 6
coverage_test.go Tests ALL 48 RPC methods in one pass 1

API Surface

  • 69 chain JSON-RPC methods (native Go + CGo crypto)
  • 16 wallet proxy methods (C++ wallet backend)
  • 17 HTTP/REST endpoints (web-friendly JSON)
  • Total: 102 endpoints

AX Debt

server.go uses banned imports (encoding/json, net/http). Migration to core/api is tracked. When core/api integration happens:

  • JSON encoding → core.JSONMarshalString
  • HTTP routing → core/api router
  • SSE → core/api SSEBroker
  • Metrics → core/api middleware

Categories (for future file split)

  1. Chain queries (getinfo, getheight, getblockheaderbyheight, etc.)
  2. Alias operations (get_all_alias_details, get_alias_by_address, etc.)
  3. Crypto utilities (validate_signature, generate_keys, fast_hash, etc.)
  4. Explorer/analytics (get_chain_stats, get_difficulty_history, etc.)
  5. Service discovery (get_gateways, get_vpn_gateways, get_network_topology)
  6. REST endpoints (/api/info, /api/block, /api/aliases, /health, /metrics)
  7. SSE (/events/blocks)
  8. Admin (pool, relay, reset stubs)