Dev
Building from source code

Building from source code

Teleghosts code distribution is done via the radicle forge - a decentralized git network. You can obtain code in 2 ways:

  1. By installing radicle and synchonizing the repository state from the network
  2. By using git clone directly on one of the radicle seeds.

Get code from Radicle

Obtaining the code from radicle has the following benefits:

  • you’ll get the latest repo state
  • you’ll be able to make contributions
  • by keeping your radicle node online you’ll help with code redistribution

Follow the radicle user guide to learn about radicle and get your node up and running. In short, you need to execute the following commands after installing the rad CLI.

rad node start
rad clone rad://z42LWUvgeuP6aUzykjWh2bSF9Sh6N

It takes a few minutes to discover peers after the rad node start so don’t expect rad clone to work immediately. After the rad clone you can fetch updates using regular git fetch/git pull commands.

If you plan to self-host teleghosts on the server you can help the project by keeping the radicle node with our repo online.

Get code with git clone

If you don’t want to bother with radicle you can still get the code directly from one of the radicle seeds.

git clone https://iris.radicle.xyz/z42LWUvgeuP6aUzykjWh2bSF9Sh6N.git Teleghosts

It is not guaranteed that you’ll get the latest repo state this way so if you’re not seeing the latest release commit immediately after clone try to git fetch/git pull in a few hours.

By using the git directly you won’t be able to make contributions to the project.

Building

To build the project you must have cargo and some C compiler available on your system. Run the below command to build teleghosts in the release mode.

git submodule init
cd crates/teleghosts
cargo build --bin teleghosts --release --features backtraces

The --features backtraces flag ensures that backtraces will be available in logs if something goes wrong and that debug logs are enabled - this is crucial for testing alpha versions. The other build features are:

  • dev_secrets: streamlines the teleghosts launch process for development purposes.
  • temp_db: the bridge database will be always created in memory and not on disk. This is mainly useful for testing and development.
  • no_logs: all logging related code will be compiled out

To install the teleghosts binary on the system refer to Setup and Usage pages.