Backbone · v0.1.0-betanet · Bitcoin Core v32
A full node that speaks drivechain.
Backbone is built on Bitcoin Core v32 with eCash's rules. It checks drivechain messages in the node, the same way the bip300301_enforcer does, so there is no second process to run. backbone-app puts the node and wallet in one window; backboned and backbone-cli are there for servers and scripts.
- Deposits into any sidechain
- Paste a sidechain's deposit address (
s<slot>_<address>_<check>) and Backbone checks it before anything is sent. The same call is createsidechaindeposit on the command line.
- Withdrawal votes you can read
- Each block votes once per slot. By default Backbone upvotes the bundle your own sidechain node vouches for.
getvotepolicy and the Sidechains page show what every slot gets, and why.
- Blind merged mining
- Follow each sidechain's BMM record block by block, check commitments with
verifybmm, and solo-mine from the app's Mine page.
- The enforcer's gRPC, built in
backboned serves the enforcer's cusf.mainchain.v1 API on 127.0.0.1:50051. Sidechains written for an eCash node and the enforcer connect to it unchanged.
- Pruning that keeps sidechain history
- A pruned node keeps at least 10 GB of recent blocks, and answers sidechain events and BMM checks from its own index, so sidechains can still follow it.
- Replay protection on by default
- New transactions carry eCash's replay-protection locktime. Keys from a Bitcoin wallet are eCash keys too.
- Simple or Advanced
- Two views of the same wallet, a block explorer, peers, a console and a choice of themes, in a native window on Linux and Windows.
- Fast start
- Bitcoin Core's assumeutxo snapshots from below the fork work as they are, so a new node can start near the tip and check the history in the background.
backbone-cli, on betanet
# What each sidechain and proposal gets from your blocks, and why
backbone-cli -chain=ecashbeta getvotepolicy
# Your own call for one slot, or a new default for all of them
backbone-cli -chain=ecashbeta setwithdrawalvote 9 abstain
backbone-cli -chain=ecashbeta setdefaultwithdrawalvote handed
If you mine: when no sidechain node has spoken for a slot, the default follows the leading bundle without checking it. Run the sidechain nodes for the slots you mine, or change the default.