go-blockchain/config
Claude fcb867d53b
fix(p2p): correct network IDs and serialisation for C++ daemon compat
Three bugs found by integration testing against the C++ testnet daemon:

1. NetworkIDMainnet/Testnet had byte 10 swapped — the C++ #ifndef TESTNET
   branch (mainnet) sets P2P_NETWORK_ID_TESTNET_FLAG=1, and the #else
   (testnet) sets it to 0. Counter-intuitive but matches compiled binaries.

2. ClientVersion format "Lethean/go-blockchain 0.1.0" was rejected by the
   daemon's parse_client_version which expects "major.minor.rev.build[commit]".
   Changed to "6.0.1.2[go-blockchain]".

3. RequestChain, RequestGetObjects, and ResponseGetObjects used StringArrayVal
   for hash fields, but the C++ daemon uses KV_SERIALIZE_CONTAINER_POD_AS_BLOB
   which packs all 32-byte hashes into a single concatenated blob. Also,
   ResponseChainEntry.m_block_ids is an object array of block_context_info
   (hash + cumulative size), not a simple hash list.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 21:17:48 +00:00
..
config.go fix(p2p): correct network IDs and serialisation for C++ daemon compat 2026-02-21 21:17:48 +00:00
config_test.go fix(p2p): correct network IDs and serialisation for C++ daemon compat 2026-02-21 21:17:48 +00:00
hardfork.go feat: Phase 0 scaffold -- config, types, wire, difficulty 2026-02-20 15:10:33 +00:00
hardfork_test.go feat: Phase 0 scaffold -- config, types, wire, difficulty 2026-02-20 15:10:33 +00:00