Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Dec 16:13
· 128 commits to main since this release
Immutable release. Only release title and notes can be modified.
v2.0.0
7b8e386

Breaking Changes

  • Rework how PoP Miners and BFG work (#396).
    For details on running a v2 PoP Miner, see the popmd readme.

    • Rewrite bfgd to serve as an API layer for finality data. PoP miners no longer use bfgd.
    • Remove bssd. PoP payouts are now handled by op-geth.
    • Add indexing for Hemi Keystones published to Bitcoin by PoP miners (#549).
    • Rewrite popmd. To run popmd, the following data sources are now required:
      • A Hemi op-geth node (for keystone notifications).
      • A "Gozer" Bitcoin data source, such as TBC, to retrieve Bitcoin data and publish PoP transactions. Gozer can also be used to provide fee estimations.
    • PoP Miners can now use either a static fee or dynamic fee estimations from Gozer.
  • Rename Go module to github.com/hemilabs/heminetwork/v2 (add /v2 suffix) (#622).

Added

bitcoin package

  • Add bitcoin/gozer package: Bitcoin data interface layer, with a basic implementation for Blockstream (Electrs) and a complete implementation supporting the TBC RPC API (#562).
  • Add bitcoin/vinzclortho package: Bitcoin wallet interface that handles creation and derivation of Bitcoin addresses (#562).
  • Add bitcoin/zuul package: Interface for handling the storage of secret material, such as Bitcoin wallet private keys (#562).

Tiny Bitcoin Client (TBC)

  • Add support for Bitcoin testnet4 (#521).
  • Add indexing for Hemi Keystones published to Bitcoin by PoP miners (#549).
  • Add Bitcoin mempool support (#549).
  • Add transaction fee estimation (#549). This can be used by popmd when creating PoP transactions.
  • Add Hemi Keystone height hash index with V4 database upgrade, allowing keystones to be retrieved at a specified block height (#539). Used in op-geth for handling PoP payouts.
  • Add standalone TBC Docker image: hemilabs/tbcd, ghcr.io/hemilabs/tbcd (#531).

localnode

Note

The localnode directory still uses an older version of the Hemi stack. After this release, all node-running
resources and documentation will move to a separate repository, maintained and versioned independently, with its own changelog.

  • Add easy-to-follow quickstart section to the node running documentation (#656).

Changed

  • Update localnode config with new testnet P2P nodes (#650).

  • Move common test utilities into a new testutil package to reduce duplication and simply testing (#530).

  • Update Hemi keystone genesis block on Bitcoin testnet4 to 00000000a14c6e63123ba02d7e9fd173d4b04412c71a31b7a6ab8bb3106c9231 (#654). The previous block was removed by a long re-org.

  • Replace time.After with time.Tick to avoid issues on sleeping dev machines (#580).

  • Update README.md file with current information (#593).

Removed

  • Remove WebAssembly support from the PoP Miner (#526).

  • Remove extool, an unused Electrum/Electrs CLI utility (#625).

Fixed

Contributors

Thank you to everyone who contributed to this release!