Skip to content

Releases: hemilabs/heminetwork

v2.0.0

01 Dec 16:13
Immutable release. Only release title and notes can be modified.
v2.0.0
7b8e386

Choose a tag to compare

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!

v2.0.0-rc.1

08 Sep 16:25
v2.0.0-rc.1
7578dff

Choose a tag to compare

v2.0.0-rc.1 Pre-release
Pre-release

This is a preview release, intended for those interested in testing 2.0.0 before its final stable release.
We welcome testers to help find as many bugs as possible before the final release.

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!

v2.0.0-beta.1

04 Aug 16:43
v2.0.0-beta.1
aa23b41

Choose a tag to compare

v2.0.0-beta.1 Pre-release
Pre-release

What's Changed

⚠️ Breaking changes

  • tbc: add mempool, fee estimation, keystones by @joshuasing in #549
  • all: rewrite bfgd and popmd, remove bssd by @AL-CT in #396

✨ Additions

🐛 Fixes

🔧 Improvements

📖 Documentation

🧪 Test coverage

⚙️ Other

New Contributors

Full Changelog: v1.6.3...v2.0.0-beta.1

v1.6.3

10 Jun 14:08
v1.6.3
aa61ee3

Choose a tag to compare

Full Changelog: v1.6.2...v1.6.3

v1.6.2

09 Jun 18:26
v1.6.2
b6eec55

Choose a tag to compare

What's Changed

🔧 Improvements

⚙️ Other

Full Changelog: v1.6.1...v1.6.2

v1.6.1

09 Jun 14:05
v1.6.1
7ffec52

Choose a tag to compare

What's Changed

⚠️ Breaking changes

⚙️ Other

New Contributors

Full Changelog: v1.6.0...v1.6.1

v1.6.0

28 May 19:42
v1.6.0
0a4044e

Choose a tag to compare

What's Changed

⚙️ Other

New Contributors

Full Changelog: v1.5.1...v1.6.0

v1.5.1

23 May 16:29
v1.5.1
5239e40

Choose a tag to compare

What's Changed

⚙️ Other

Full Changelog: v1.5.0...v1.5.1

v1.5.0

22 May 16:25
v1.5.0
26f5ea7

Choose a tag to compare

What's Changed

⚙️ Other

Full Changelog: v1.4.0...v1.5.0

v1.1.0

14 Apr 14:20
v1.1.0
08bb3d8

Choose a tag to compare

What's Changed

✨ Additions

  • hemictl: various fixes and overall improvement by @AL-CT in #419

🐛 Fixes

🔧 Improvements

📖 Documentation

🧪 Test coverage

  • tbc: fix race condition in fork tests by @AL-CT in #435
  • tbc: fix fork tests failing if tbc is slow to insert blocks by @AL-CT in #486

⚙️ Other

New Contributors

Full Changelog: v1.0.0...v1.1.0