About
fbd is a Fistbump full node written in Swift.
Built by eskimo. Source on GitHub.
Donate
FBC
fb1q7zf3q480led5rf4qnhyc4j8n52wa3t0cydh9ye
BTC
bc1qmj5dc3sj2kk3u3lf20gyt4uaf96aqazt64q30l
Installation
git clone https://github.com/eskimo/fbd.git
cd fbd
macOS
./install/macos.sh
Linux
./install/linux.sh
Windows
powershell -ExecutionPolicy Bypass -File install\windows.ps1
macOS, Linux, Windows. Each script installs dependencies, builds, and installs fbd and fbdctl.
Configuration
fbd --network main --host 0.0.0.0 --log-level debug --index-tx
| Flag | Description | Default |
|---|---|---|
--network, -n | main, testnet, regtest, simnet | main |
--datadir, -d | Data directory | ~/.fbd (macOS/Linux), %LOCALAPPDATA%\fbd (Windows) |
--host | P2P listen address | 127.0.0.1 |
--port, -p | P2P port | network default |
--max-outbound | Max outbound peers | 8 |
--max-inbound | Max inbound peers | 64 |
--seeds | Additional seed peers | |
--nodes | Connect only to these peers | |
--agent | User agent suffix | |
--rpc-host | RPC listen address | 127.0.0.1 |
--rpc-port | RPC port | network default |
--api-key | RPC API key | auto-generated |
--no-auth | Disable RPC auth | false |
--ns-host | DNS listen address | 127.0.0.1 |
--ns-port | DNS port | network default |
--miner-address | Coinbase payout address | |
--log-level | trace, debug, info, warning, error | info |
--index-tx | Transaction index for historical lookups | false |
--index-address | Address index for lookups by address | false |
Config file
<datadir>/fbd.conf — CLI flags override config values.
network = main
host = 0.0.0.0
nodes = 1.2.3.4:32867, 5.6.7.8:32867
log-level = debug
index-tx = true
Networks
| Network | P2P | Brontide | RPC | DNS | HRP |
|---|---|---|---|---|---|
| main | 32867 | 32868 | 32869 | 32870 | fb |
| testnet | 42867 | 42868 | 42869 | 42870 | ft |
| regtest | 52867 | 52868 | 52869 | 52870 | fr |
| simnet | 62867 | 62868 | 62869 | 62870 | fs |
RPC
fbdctl
fbdctl getblockcount
{
"result": 318614,
"error": null
}
curl
curl -s http://127.0.0.1:32869/ \
-X POST \
-u "x:YOUR_API_KEY" \
-d '{"method":"getblockcount","params":[],"id":1}'
{
"result": 318614,
"error": null,
"id": 1
}
curl returns standard JSON-RPC with an extra id field.
Examples below show the result value only.
Auth
A random key is generated on startup at <datadir>/.cookie. fbdctl reads it automatically.
--api-key mykey— set a fixed key on bothfbdandfbdctl--no-auth— disable auth entirely
HTTP Basic auth: username x, password is the key.
Wallets
Wallet commands require --wallet <name>. Auto-selected if only one wallet exists.
fbdctl --wallet main getbalance
Methods tagged wallet required need this flag.