Skip to content

Commit f7c1c4e

Browse files
authored
Merge pull request #85 from willcl-ark/deprecate-libbitcoinconsensus
2 parents e7ef298 + 9f9bdc7 commit f7c1c4e

File tree

1 file changed

+18
-28
lines changed

1 file changed

+18
-28
lines changed

consensus-libraries.adoc

+18-28
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,6 @@
11
:page-title: Consensus libraries
22
:page-nav_order: 70
33
:page-parent: Consensus and Validation
4-
== libbitcoinconsensus
5-
6-
The libbitcoinconsensus library is described in the 0.10.0 release notes:
7-
8-
[quote]
9-
____
10-
Consensus library
11-
12-
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
13-
14-
The purpose of this library is to make the verification functionality that is
15-
critical to Bitcoin's consensus available to other applications, e.g. to language
16-
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
17-
alternative node implementations.
18-
19-
This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows).
20-
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
21-
22-
In its initial version the API includes two functions:
23-
24-
- `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction
25-
correctly spends the passed scriptPubKey under additional constraints indicated by flags
26-
- `bitcoinconsensus_version` returns the API version, currently at an experimental `0`
27-
28-
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
29-
for existing methods should remain stable.
30-
____
31-
324
== libbitcoinkernel
335

346
The https://github.com/bitcoin/bitcoin/issues/24303[libbitcoinkernel^] project seeks to modularise Bitcoin Cores' consensus engine and make it easier for developers to reason about when they are modifying code which could be consensus-critical.
@@ -51,3 +23,21 @@ In theory this should get us something which Bitcoin Core can use much faster (i
5123
Part of libbitcoinkernel has been merged in via Carl Dong's https://github.com/bitcoin/bitcoin/pull/24304[`bitcoin-chainstate` PR^].
5224
It also has its own project https://github.com/bitcoin/bitcoin/projects/18[board^] to track progress.
5325

26+
== libbitcoinconsensus
27+
28+
The libbitcoinconsensus library has been deprecated since Bitcoin Core v27.0, with the Release Note:
29+
30+
[quote]
31+
____
32+
libbitcoinconsensus is deprecated and will be removed for v28. This library has
33+
existed for nearly 10 years with very little known uptake or impact. It has
34+
become a maintenance burden.
35+
36+
The underlying functionality does not change between versions, so any users of
37+
the library can continue to use the final release indefinitely, with the
38+
understanding that Taproot is its final consensus update.
39+
40+
In the future, libbitcoinkernel will provide a much more useful API that is
41+
aware of the UTXO set, and therefore be able to fully validate transactions and
42+
blocks. (#29189)
43+
____

0 commit comments

Comments
 (0)