Bitcoin full node and query server

Dec 31, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil06:04
Completed the Electrum version handshake, resolved an issue with json-rpc object serialization, implemented base class round-tripping of json-rpc version and message id (keeping it out of the method handlers), added a system level config class for working with serializable 4 part versions. Used the Electrum wallet to fully implement and verify the handshake, with versioning all ready to go for each method.
    enum class protocol_version
    {
        /// Invalid version.
        v0_0,

        /// 2011, initial protocol negotiation.
        v0_6,

        /// 2012, enhanced protocol negotiation.
        v0_8,

        /// 2012, added pruning limits and transport indicators.
        v0_9,

        /// 2013, baseline for core methods in the official specification.
        v0_10,

        /// 2014, 1.x series, deprecations of utxo and block number methods.
        v1_0,

        /// 2015, updated version response and introduced scripthash methods.
        v1_1,

        /// 2017, added optional parameters for transactions and headers.
        v1_2,

        /// 2018, defaulted raw headers and introduced new block methods.
        v1_3,

        /// 2019, removed deserialized headers and added merkle proof features.
        v1_4,

        /// 2019, modifications for auxiliary proof-of-work handling.
        v1_4_1,

        /// 2020, added scripthash unsubscribe functionality.
        v1_4_2,

        /// 2022, updated response formats and added fee estimation modes.
        v1_6
    };