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> |
||
|---|---|---|
| .. | ||
| commands.go | ||
| handshake.go | ||
| handshake_test.go | ||
| integration_test.go | ||
| ping.go | ||
| ping_test.go | ||
| relay.go | ||
| relay_test.go | ||
| sync.go | ||
| sync_test.go | ||
| timedsync.go | ||