Nix packages and development shells for bitcoinkernel (libbitcoinkernel) and its language bindings similar to how nix-bitcoin does.
This repository provides Nix packages for Bitcoin Core's bitcoinkernel/libbitcoinkernel and its various language bindings. Bitcoinkernel is Bitcoin Core's consensus engine extracted as a reusable library, enabling applications to validate blocks and transactions without running a full Bitcoin node.
- bitcoinkernel - Bitcoin Core's validation engine (C/C++ library)
- bitcoinkernel-jdk - Java/JDK FFM wrapper
- go-bitcoinkernel - Go bindings (todo!)
- rust-bitcoinkernel - Rust bindings (todo!)
- py-bitcoinkernel - Python wrapper (todo!)
- bitcoinkernel-dotnet - .NET bindings (todo!)
Enter a development environment for your language of choice (only cpp and java is available right now):
# C/C++ development
nix develop .#cpp
# Java development
nix develop .#java
# Go development
nix develop .#go
# Rust development
nix develop .#rust
# Python development
nix develop .#python
# .NET development
nix develop .#dotnetThis project is experimental and tracks the development of libbitcoinkernel and its bindings. Note that:
- libbitcoinkernel has been merged into Bitcoin Core but has no official release yet
- All language bindings are in active development
- C/C++ and JDK packages are working currently.
- Implement Rust, Go, Python and Dotnet bindings packages.
Contributions are welcome! Please feel free to submit issues or pull requests.
This repository follows the licensing of the respective projects:
- Bitcoin Core / libbitcoinkernel: MIT
- Individual bindings: See respective repositories