go-blockchain/daemon
Claude 9a06887b64
Some checks failed
Security Scan / security (push) Successful in 13s
Test / Test (push) Failing after 41s
feat(daemon): complete get_main_block_details for explorer
- Accept both id (hash) and height parameters
- Return all 22 fields the explorer block page expects
- Include transactions_details array with tx hashes
- Block type detection: genesis(0), PoW(1), PoS(2)
- Full explorer-compatible response format

Co-Authored-By: Charon <charon@lethean.io>
2026-04-02 05:45: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
http_handlers.go feat(daemon): complete get_main_block_details for explorer 2026-04-02 05:45:01 +01:00
README.md docs(daemon): add README documenting API surface + AX debt 2026-04-02 04:11:01 +01:00
server.go feat(daemon): add depth/orphan/reward to getblockheaderbyhash 2026-04-02 05:41:48 +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)