Note: An independent implementation of the Bitcoin kernel concept, a standalone consensus engine separated from wallet and networking, written in JavaScript for browsers and phones. Not affiliated with Bitcoin Core's libbitcoinkernel and shares none of its code. For learning and light-client use, not a substitute for a full node.

The rules of Bitcoin.

Every header, block and payment has to follow them, or the network throws it out. Here is a test suite that checks those rules, all of them, running live in your browser from real test vectors.

The consensus test suite

0 tests

starting

PASS means bitcoin-kernel computed the correct result for that vector: it accepted what the network accepts and rejected what the network rejects. Click any test to see the vector and the result.

How it works

The rules

Bitcoin has a fixed set of consensus rules that decide whether a header, block or payment is valid. Every node on the network enforces the same ones.

The library

bitcoin-kernel is a JavaScript library that implements those rules from scratch. The same code runs on a Node server and right here in a browser tab.

The test suite

It ships with real test vectors: Bitcoin Core's script vectors, real mainnet headers, blocks and proofs. This page runs the whole suite live, above.