Bitcoin SV node software v1.0.10 and mAPI v1.4.0 released

Alex Speirs 512 x 320
By Jamie McKane Published: November 26, 2021
Bitcoin sv node and mAPI software

Bitcoin Association today released the latest update for the Bitcoin SV node software with version 1.0.10, as well as mAPI version v1.4.0. The node software update was developed by Bitcoin Association’s Bitcoin SV Infrastructure Team and includes a number of changes to functionality and performance, including:

  • P2P header update to allow for block sizes greater than 4GB
  • Parallel Transaction Validation (PTV) scheduler improvements
  • Modifications to the processing of User Agent strings
  • New ZMQ topics and configurable timeouts

The changes to mAPI in version 1.4.0 include the following:

  • New miner Policy Quotes
  • Provide DSNT information for transaction builder
  • Made ready for block sizes greater than 4GB
  • Performance optimisations

A key aspect of these updates is their facilitation for block sizes larger than 4GB to be processed by nodes operating on the network. This was previously limited by a field in the P2P header which has now been updated with a new structure. Updates to mAPI have also been delivered to allow them to process this new P2P message structure and the larger block sizes it enables.

Bitcoin SV node software v1.0.10 is now available to download from BitcoinSV.io. mAPI v1.4.0 binaries and source code can be downloaded from GitHub.

 

P2P Header Update

Bitcoin SV node software v1.0.10 includes an extended P2P header structure that allows message payloads larger than 4GB to be processed. The P2P header field that describes the length of the P2P message is encoded to uint32_t, which until now effectively limited the size of any P2P message to 4GB.

This update introduces a new extended message type in this field, which when seen will indicate to the receiver that following this message header are a series of new extended message header fields before the real payload begins.

One of these new fields is labelled ‘ext_length’ and is encoded as uint64_t, allowing messages larger than 4GB to be processed on the network.

 

Modifications to User Agent string processing

The Bitcoin SV node software update also includes a change to the processing of User Agent strings. This change was made to prevent wasted bandwidth and the processing of invalid blocks through connection with BCH nodes.

New configurable parameters have been created to allow the banning of clients running on the BCH network, which will reduce the error and log file messages generated by these invalid connections.

 

New miner Policy Quotes and DSNT

The latest release of the mAPI specification introduces support for obtaining policy quotes from miners. These are a superset of the mAPI v1.3.0 fee quotes, which have been maintained for backward compatibility.

Policies are configured by the mAPI Administrator for each account and include node options to skip some policy checks when transactions are submitted.

In addition to mAPI using ZMQ subscriptions for local node double-spend detection, any remote node in the BSV network that detects a double spend of a transaction which contains a DSNT output (a double spend notification record), will notify the specified DSNT servers (such as mAPI) about the detected double spend through a HTTP callback and handshake.

Full details of today’s release can be found in the release notes on BitcoinSV.io.