A dockerized, self-contained signet node for testing bitcoin Applications: Bitcoin Signet network to study how it works.
Recent Docker version with the Compose v2 plugin.
$ docker compose version
Docker Compose version v2.25.0
Start easepay-signet-node, Electrum(fulcrum), MariaDB and MongoDB. Since easepay-signet-node is booting in custom signet mode, all services will finish their setup almost immediately, as there is no blockchain to download.
$ docker compose up -d knots electrs mariadb mongo
or
$ docker compose up knots electrs mariadb mongo
allowing "you to see all the logs for easy debugging incase everything doesn't work well."
Now run a one-time process that will store in knots' wallet the private key that is used for the signet challenge:
$ docker compose run --rm wallet-setup
{
"name": "GEO"
}
With the private key stored in knots you can now start the faucet, miner and mempool processes:
$ docker compose up -d faucet miner mempool-api mempool-web
Browse the Signet chain at http://localhost:8080
Connect your Wallet to Fulcrum/electrs(Electrum):
- Tools > Restart in Network > Signet
- File > Preferences > Server > Private Electrum > localhost:60601, no SSL, no Tor proxy.
- Wait until the blockchain has at least 100 blocks, then get some sats from the faucet at http://localhost:8123
Interact directly with the node via the command line by entering into the knots
container and running bitcoin-cli
with the appropriate credentials:
$ docker compose exec -it knots sh -l
$ bitcoin-cli -signet -rpcuser=rpcuser -rpcpassword=rpcpassword -getinfo
Chain: signet
Blocks: 101
Headers: 101
Verification progress: 100.0000%
Difficulty: 0.001126515290698186
Network: in 1, out 0, total 1
Version: 260100
Time offset (s): 0
Proxies: n/a
Min tx relay fee rate (BTC/kvB): 0.00001000
Wallet: GEO
Keypool size: 1000
Transaction fee rate (-paytxfee) (BTC/kvB): 0.00000000
Balance: 50.00000000
Warnings: (none)
Stop and remove all containers and data volumes with the usual Docker Compose command:
$ docker compose down -v