Install core
TrueBlocks runs on Linux and Mac. We do not support Windows.
These instructions assume you can navigate the command line and edit configuration files. If you need help with a particular step, see the installation’s troubleshooting section.
Installation
Open a terminal window.
Type
go version
. If Go is not installed or less than Go Version 1.23, install the latest version of GoInstall or upgrade the build dependencies: git, cmake, ninja, curl, python, clang-format, jq
Clone the repo and compile the executable:
git clone --depth 1 --no-single-branch --recurse-submodules --branch develop https://github.com/TrueBlocks/trueblocks-core
cd trueblocks-core
mkdir build && cd build
../scripts/go-work-sync.sh
cmake ../src
make
Switch to the
master
branch if you want a more stable version.The build may be faster with
make -j <nproc>
.Add
./trueblocks-core/bin
to your shell’s $PATH. Check Google if you don’t know what this means.Type
chifra config --paths
. This will produce a display similar to the following (ignore any errors). Note the$CONFIG
paths.
chifra config --paths:
Config: $HOME/Library/Application Support/TrueBlocks/
Cache : $HOME/Library/Application Support/TrueBlocks/cache/mainnet
Index : $HOME/Library/Application Support/TrueBlocks/unchained/mainnet
- Next, edit a configuration file called
$CONFIG/trueBlocks.toml
. Edit this file and locate the[chains.mainnet]
section. Add a valid RPC endpoint. If you don’t know what this means, search Google.
[chains.mainnet]
...
rpcProvider = "http://localhost:8545"
...
- If you wish to use the
--articulate
feature (you probably do), add an API key to the following section:
[keys.etherscan]
...
apiKey = "<your Etherscan api key>" # optional
...
Testing the install
If you’ve installed things properly, you should be able to now run the following command, which should return this data:
chifra blocks 12
You should get results similar to these:
{
"data": [
{
"gasLimit": 5000,
"gasUsed": 0,
"hash": "0xc63f666315fa1eae17e354fab532aeeecf549be93e358737d0648f50d57083a0",
"blockNumber": 12,
"parentHash": "0x3f5e756c3efcb93099361b7ddd0dabfeaa592439437c1c836e443ccb81e93242",
"miner": "0x0193d941b50d91be6567c7ee1c0fe7af498b4137",
"difficulty": 17179844608,
"finalized": true,
"timestamp": 1438270144,
"baseFeePerGas": 0
}
]
}
- Assuming the above works, your system is properly installed. If not, see the TroubleShooting section.
More information
There’s a lot left to learn. Have fun: