Skip to content

About

Open Source implementation of advanced blockchain features extending the Bitcoin protocol

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

54,513 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elements+ node

This branch contains upstream Elements, native BIP300/BIP301 deposits, withdrawals and BMM bidding, and Utreexo accumulator development tooling. Confidential transaction range proofs, surjection proofs and amount validation remain native Elements features.

No exchange, USDD bridge, SP1 jet, proof program or external verifier archive is part of this branch. The fairmint exchange is maintained on fairmint-exchange. The previous complete implementation is preserved on archive/exchange-usdd-sp1-20261027.

Production Identity

This branch uses a production identity targeting mainnet. Its data subdirectory is elements-native-v1, with P2P port 7072 and RPC port 7071. Never reuse another chain's databases or wallets. The frozen identity is in src/elements_drivechain_identity.h; its independent serializer is contrib/devtools/elements_identity_refreeze.py.

The production identity uses slot 24. Its matching sidechain proposal must be activated before the parent can authenticate blocks and peg operations. The former existing-proposal override is off. Its genesis, network magic and data directory differ from the fairmint branch; keep their chain data separate.

Build and Test

Use the platform instructions in doc/build-unix.md or doc/build-osx.md and the Haskell compiler and test setup. Use GHC 9.6.7 and cabal-install >= 3.14.2.0. CMake builds the Haskell library and native node together. No USDD or SP1 verifier archive is required.

cmake -S . -B build -DBUILD_TESTS=ON \
  -DELEMENTS_GHC="$(command -v ghc-9.6.7)"
cmake --build build -j1
ctest --test-dir build --output-on-failure

Keep RPC private and authenticated. Configure a synced parent matching the frozen network identity, using a local cookie or the authenticated TLS transport described in doc/drivechain-rpc-security.md. Start with drivechainl1blocksync=0; enabling a producer and funding its dedicated bidding wallet are separate operator decisions.

Documentation

About

Open Source implementation of advanced blockchain features extending the Bitcoin protocol

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages