Skip to content

Compile from source

For the time being, we do not release pre-compiled binaries. You can compile bark and aspd using the following instructions

Install the Rust toolchain

The binaries are written in the Rust programming language.

You can install the rust toolchain using your package manager or use one of the options described in the installation instructions.

If you are running Linux, the most convenient option is by running the following command in your terminal.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Cloning the source

The source is available on codeberg. The source-code for aspd and bark are located in the same repository.

To clone the repository run

git clone https://codeberg.org/ark-bitcoin/bark.git
cd bark

Compiling the binaries

You can compile all binaries using

cargo build --workspace --release

You can verify that the executables work by running

./target/release/bark --version
./target/release/aspd --version

The bark and aspd program are single-file executables. You can move them to any place on your file-system and they will work.

Installing the binaries

You can install the binaries using

cargo install --locked --path bark
cargo install --locked --path aspd

This moves the executables to a folder that is on your path. After installation you can execute.

bark --version
aspd --version

Additional dependencies

We do recommend to install the following dependencies.

  • Bitcoin Core: To run aspd, follow the tests or create a demo on regtest.
  • just: To run the tests
  • jq: To run the tests and follow tutorial.

Install Bitcoin Core

You need Bitcoin Core if you want to run aspd. This is strongly recommended.

You can download the prebuilt binaries from the Download page. For Linux systems you can unpack the zip and add bitcoind and bitcoin-cli to your path.

Install just

Just is a command runner that saves you some key-strokes. You need just to run the tests.

You can install it using cargo

cargo install --locked just

Install jq

This is command-line tool that can query and transform json-data. It is a dependency for to run the tests and follow our demo-scenario.

It is widely used and is available on most package managers such as apt or dnf. You can install it using one of the options below.

If you are using Ubuntu or another debian based distro

sudo apt install jq

If you are using Fedora, CentOS or Rocky Linux

dnf install jq

or download the binarie from the github releases page.

Running the tests (optional)

Ensure you have installed all of the dependencies mentioned above. You can execute

  • just test-unit to perform all unit-tests
  • just test-integration to perform all integration tests
  • just test to perform all tests

What's next?

We can now use bark and aspd in our regtest-demo.