Libdogecoin 0.1.4 Released

Since the 0.1.3 release in February 2024, we’ve completed substantial work on Libdogecoin, supporting Dogebox, SPV PUP—a lightweight node service—and new key management features. The 0.1.4 release consolidates everything that’s been in progress since then—including Intel and ARM performance enhancements, REST API extensions for the SPV node, expanded secure enclave support, and the introduction of YubiKey hardware key storage. This post provides a high-level summary of these developments and links to documentation for those looking to integrate or build on top of Libdogecoin.

Performance

This release introduces several updates focused on cryptographic performance across a range of platforms.

We’ve added optimized code for SHA-2 hashing on both ARM and Intel systems:

  • On ARMv8 and ARMv8.2, the --with-armv8-crypto and --with-armv8.2-crypto configuration options include the platform’s Cryptographic Extension, accelerating hashing performance on devices like Raspberry Pi and other ARM-based systems.
  • On Intel platforms, the new --enable-intel-avx2 option activates AVX2-accelerated code paths for SHA-256 and SHA-512, increasing performance on CPUs that support AVX2.

In addition to these updates, version 0.1.4 includes a new ChaCha20-based pseudorandom number generator. Built around the ChaCha20 stream cipher, this implementation is optimized for both speed and cryptographic strength. The new PRNG is available as an optional high-performance alternative to the existing RNG in Libdogecoin, allowing developers to easily switch to the new implementation.

Since performance is a key focus for Libdogecoin, we’ve also added the bench command-line tool. This runs a set of performance tests to measure the speed of some cryptographic operations, including SHA256. The benchmark results can be used to compare different configurations and optimizations, helping developers identify the best options for their use cases.

Secure Enclaves and Key Management

Libdogecoin 0.1.4 adds support for secure enclaves, enabling key-related operations—such as mnemonic generation and seed handling—to be run in isolated environments.

For ARM-based systems, the --enable-optee option enables support for OP-TEE, a secure world runtime with hardware random number generation. For Intel platforms, the --enable-openenclave option enables OpenEnclave support, which can use SGX and other secure hardware to isolate key operations from the host OS.

In addition, the new --enable-yubikey option enables integration with YubiKey devices, allowing BIP39 mnemonics and BIP32 seeds to be stored using challenge-response authentication. This provides a portable and hardware-isolated method of storing private material.

These configuration options are only the first step. Developers should consult the full documentation for setup instructions, dependencies, and working examples:

Our CI environment runs builds for both OP-TEE and OpenEnclave to verify consistency across platforms. These reference configurations can serve as a baseline for local testing and deployment.

For background on enclave integration, see the earlier blog post:

SPV Node PUPdate

The SPV node in Libdogecoin now includes a lightweight REST API for use in wallet apps, monitoring tools, and embedded devices. 0.1.4 introduces a new --http_server command-line option, which starts a REST server on the specified port. This enables several endpoints for interacting with the SPV node, including:

  • getBalance – retrieves the total balance of scanned addresses
  • getAddresses – lists addresses being tracked
  • getTransactions – returns recent transactions
  • getUTXOs – returns unspent outputs
  • getChaintip – shows the current block height and hash
  • getLastBlockInfo – returns metadata for the latest block
  • getTimestamp – provides the timestamp for the latest block

These endpoints allow minimal blockchain services to run efficiently on resource-constrained hardware. Full usage details are available in the REST API documentation.

This REST-enabled SPV node powers the PUP, allowing Dogebox to monitor addresses, scan the blockchain, and serve data with minimal resource consumption. The initial SPV PUP can track balances and UTXOs, with additional tools in development—including a lightweight block explorer based on the same REST foundation.

Getting Started

To begin working with Libdogecoin 0.1.4:

We’re excited to continue expanding Libdogecoin and welcome feedback and contributions from the developer community.

— Libdogecoin Team