This guide walks through installing each dependency, building or downloading captaind, and launching an Ark server on signet .
This path runs on signet , Bitcoin’s public test network. If you’d prefer a fully containerized local setup on regtest, see the Docker Compose guide instead.
Install dependencies
PostgreSQL
Docker (recommended)
Package managers
Manual installation
Run PostgreSQL in a Docker container: docker run \
--name my_postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=bark-server-db \
-p 5432:5432 \
-d postgres
macOS
Debian/Ubuntu
Fedora/CentOS/RHEL
brew install postgresql
brew services start postgresql
sudo apt update
sudo apt install postgresql
sudo systemctl start postgresql
sudo dnf install postgresql-server
sudo postgresql-setup --initdb
sudo systemctl start postgresql
Download PostgreSQL from the official download page and follow the platform-specific instructions.
Verify PostgreSQL is running:
psql -h localhost -U postgres -c "SELECT version();"
Bitcoin Core
Bitcoin Core v30.0+ is strongly recommended. Download from the official download page and follow the installation instructions for your operating system.
For Linux, unpack the archive and add bitcoind and bitcoin-cli to your path.
Verify the installation:
Optional dependencies
Just is a command runner that simplifies running common tasks. macOS
Debian/Ubuntu/Fedora
cargo install --locked just
Verify: jq is a command-line tool for processing JSON data. Package managers
Manual installation
macOS
Debian/Ubuntu
Fedora/CentOS/RHEL
sudo apt update
sudo apt install jq
Download the binaries from the GitHub releases page . Verify:
Install captaind
Currently, only Unix-based systems (Linux, macOS) are supported.
Download binary
Compile from source
Download the latest captaind binary from the releases page . Verify the installation:
Clone the repository
git clone https://gitlab.com/ark-bitcoin/bark
cd bark
Install build dependencies
You will need a Rust compiler. Find installation instructions on the rustup website . On Ubuntu/Debian, install the additional build dependencies: sudo apt update
sudo apt install build-essential clang cmake pkg-config protobuf-compiler libpq-dev libsodium-dev libsqlite3-dev libssl-dev
Build and install
Build and install to your path: cargo install --locked --path ./server
Or build without installing: cargo build --bin captaind
Start your signet node
Launch a signet Bitcoin node: bitcoind --signet --daemon
If your bitcoin.conf file is empty, this will launch a signet node. By default the node will:
Create a cookie in ~/.bitcoin/signet/.cookie
Listen for RPC connections on port 38332
Verify the node is running: bitcoin-cli -signet \
-rpcconnect=localhost \
-rpcport=38332 \
-rpccookiefile= $HOME /.bitcoin/signet/.cookie \
getblockcount
Create a config file
Create a config.toml file that specifies the configuration of your Ark server: data_dir = "./bark-server"
network = "signet"
[ rpc ]
public_address = "127.0.0.1:3535"
admin_address = "127.0.0.1:3536"
[ postgres ]
host = "localhost"
port = 5432
name = "bark-server-db"
user = "postgres"
password = "postgres"
[ bitcoind ]
url = "http://127.0.0.1:38332"
cookie = "/home/<username>/.bitcoin/signet/.cookie"
Run the Ark server
Once you’ve got the dependencies running and set up your configuration, launch the server: captaind create --config < path-to-your-toml-fil e >
captaind start --config < path-to-your-toml-fil e >
Fund the server
Retrieve the server’s funding address:
captaind rpc wallet | jq -r '.rounds.address'
Send signet coins to this address using the Second faucet . Once the transaction confirms, verify the funds arrived:
bitcoin-cli -signet getreceivedbyaddress < addres s >