Get Started
Run a Ladder Script node or try the engine in your browser
NO INSTALL
Try the Engine
Build, simulate, and broadcast Ladder Script transactions in your browser. Connects to live signet.
DEVELOPER
Run a Node
Download the binary, connect to signet, create transactions from the command line.
Download
Ghost Core + Ladder Script
BLOCK_TYPES=61
UNIT_TESTS=480
FUNC_TESTS=60
PATCH_LINES=197
Download .tar.gz
Bitcoin Core v30.1 with 197 lines of integration code and the 11,318-line Ladder Script library. Connects to the Ghost Labs signet where you can create and spend rung transactions.
Quick Start
Extract and configure:
tar xzf ghost-ladder-signet-linux-x86_64.tar.gz
mkdir -p ~/.bitcoin
cp ladder-signet.conf ~/.bitcoin/bitcoin.conf
# edit ~/.bitcoin/bitcoin.conf and change rpcpassword
Start the node:
./ghostd -daemon
Ghost Core starting
# wait for sync (~30 seconds on fresh node)
./ghost-cli -signet getblockcount
533
Create a wallet:
./ghost-cli -signet createwallet test
./ghost-cli -signet -rpcwallet=test getnewaddress "" legacy
mibryXkbkCBrLMkVZik8UkLKfcjEH3Mstu
Create a Ladder Script transaction:
# parse a descriptor
./ghost-cli -signet parseladder "ladder(sig(@alice))" \
'{"alice":"0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"}'
{
"conditions_hex": "01010001010101000000",
"mlsc_root": "443a7849...",
"n_rungs": 1
}
# format it back
./ghost-cli -signet formatladder "01010001010101000000"
{
"descriptor": "ladder(sig(@?))"
}
Signet Configuration
# Ladder Script Signet
signet=1
[signet]
server=1
txindex=1
fallbackfee=0.0001
# Ghost Labs signet challenge
signetchallenge=21036bae004d5cd7bb65742cdbf735bf6f3a384d69f4d52dba84689a3db972848f68ac
# Seed node (Amsterdam)
addnode=85.9.213.194
# Your RPC credentials
rpcuser=ladder
rpcpassword=changeme
Build from Source
Apply the patch to your own Bitcoin Core checkout:
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin && git checkout v30.1
# download the rung library
git clone https://github.com/bitcoin-ghost/ghost-labs-ladder-script.git /tmp/ladder
cp -r /tmp/ladder/src/rung src/rung
# apply the integration patch (197 lines across 18 files)
git apply /tmp/ladder/patches/bitcoin-core-v30-ladder-script.patch
git apply /tmp/ladder/patches/validation-block-height.patch
# build
cmake -B build && cmake --build build -j$(nproc)
Tested against Bitcoin Core v30.1. Applying to Knots or other forks that track Core closely should work with minimal or no conflicts.
RPC Commands
# transaction building
createrung build a ladder witness from JSON
createrungtx create an unsigned v4 RUNG_TX
signrungtx sign rung inputs with keys
# descriptor language
parseladder parse descriptor to conditions hex + MLSC root
formatladder format conditions hex as descriptor string
# inspection
decoderung decode a ladder witness from hex
computectvhash compute BIP-119 CTV template hash
# key generation
generatepqkeypair generate a post-quantum keypair (FALCON/Dilithium/SPHINCS+)
Links
Bitcoin Ghost -- visual builder with live signet connection
Block Reference -- documentation for all 61 block types
Patch Overview -- what changes and how much code
GitHub -- full repository