Solo PoW miner against C++ daemon via JSON-RPC. Single-threaded
RandomX nonce grinding with daemon-provided block templates.
Co-Authored-By: Charon <charon@lethean.io>
Add integration test, update architecture docs with consensus/ package
description, record Phase 7 in project history.
Co-Authored-By: Charon <charon@lethean.io>
Layered validation architecture (structural, economic, cryptographic)
in a standalone consensus/ package. Full hardfork coverage (HF0-HF6),
PoW via CGo bridge, optional signature verification during sync.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 tasks covering mnemonic seeds, TX extra parsing, account management,
transfer storage, scanning, signing, ring selection, tx building, and
wallet orchestration. TDD with complete code for every step.
Co-Authored-By: Charon <charon@lethean.io>
Original founding document for the Zano protocol extensions.
Contains raw math for return addresses, key derivation, shared
secret encryption, hybrid mining, and tiny addresses — the
cryptographic foundations that Phase 2 bridge implements.
Co-Authored-By: Charon <charon@lethean.io>
CGo bridge to vendored upstream C++ crypto library following the MLX
pattern. Thin C API (bridge.h) as the stable contract between Go and
C++. Provenance tracking for easy upstream Zano updates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add consensus-critical binary serialisation for blocks and transactions,
verified by computing the testnet genesis block hash and matching the C++
daemon output (cb9d5455...4963). Fixes Phase 0 type mismatches (variant
tags, field widths, missing fields) and adds encoder/decoder, tree hash,
and block/transaction hashing.
Key discovery: CryptoNote's get_object_hash(blobdata) prepends
varint(length) before hashing, so BlockHash = Keccak256(varint(len) || blob).
Co-Authored-By: Charon <charon@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>