Building the creditcoin-node
from source
Note on development platforms: development is easiest from a unix environment (whether that be linux, macOS, or WSL). It should be possible to develop natively on Windows, however that is unsupported.
Build prerequisites
Install the Rust toolchain
You'll need a working Rust installation, if you don't have one already available (NOTE: you'll want to install and manage your Rust toolchain with rustup
,
not by installing your distro's rust
package which will most likely be too old).
For the installation you can refer to these instructions.
Once you have rustup, you don't need to do anymore setup because this repository uses a
rust-toolchain.toml file.
NOTE: Creditcoin uses the feature stdsimd
which has been removed in later nightly versions.
System build dependencies
You'll need a few system dependencies (some extra dependencies may be required depending on the platform, but all platforms require the following):
- Clang
- Protobuf compiler
- CMake
- OpenSSL
MacOS setup
macOS comes with a suitable clang
installation, so you don't need to worry about it.
For installing the remaining dependencies the easiest method is using homebrew.
Assuming you have homebrew installed, you can run the following in the terminal:
brew update
brew install cmake openssl protobuf
Ubuntu/Debian setup
Run the following in the terminal
sudo apt update
# May prompt for location information
sudo apt install -y cmake pkg-config libssl-dev git build-essential clang libclang-dev curl protobuf-compiler
Clone the creditcoin repo
If you haven't already, you'll want to clone the creditcoin repo and cd
into the resulting clone:
git clone https://github.com/gluwa/creditcoin
cd creditcoin
Build the creditcoin-node
You should now be able to build the creditcoin-node
. It's a normal Rust project, so you can perform a release build
(99% of the time you'll want a release build, a debug build is often too slow to be useful).
cargo build --release
Assuming the build completed without errors, you should have a creditcoin-node
binary in your target directory.
To make sure the binary works, you can try taking a look at the --help
:
./target/release/creditcoin-node --help