Skip to content

krypdkat/qubicbob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Requirements:

  • cmake and clang (or gcc)
  • KeyDB Engine Check installation guide
  • KVRocks engine (if you want to persist more data on disk) Check installation guide
  • Memory (RAM): 16 GB
  • Processor (CPU): 4 Cores (with AVX2 support)
  • Storage (Disk): 100 GB Fast SSD / NVMe

Install dependencies and necessary tools to operate bob:

sudo apt-get update;
apt install vim net-tools tmux cmake git libjsoncpp-dev build-essential cmake uuid-dev libhiredis-dev zlib1g-dev unzip -y;

BUILD

On Linux, make sure cmake and make commands are installed and then run:

mkdir build;
cd build;
cmake ../;
make;

CONFIGURATION

An example file, default_config_bob.json, is provided and contains the minimal configuration required to run bob.

For the trusted-node field, the expected format is NODE_IP:NODE_PORT:PASSCODE_LOGGING. If the PASSCODE_LOGGING is not available, the simplified format NODE_IP:NODE_PORT should be used.

  • Too tight request-cycle-ms or future-offset may lead to overloading the node.
  • run-server means opening a server and listening at port server-port to serve a few important data (like the core baremetal)
{
  "trusted-node": ["BM:157.180.10.49:21841:0-0-0-0","BM:65.109.122.174:21841:0-0-0-0"],
  "request-cycle-ms": 100,
  "request-logging-cycle-ms": 30,
  "future-offset": 3,
  "log-level": "info",
  "keydb-url": "tcp://127.0.0.1:6379",
  "run-server": false,
  "server-port": 21842,
  "arbitrator-identity": "AFZPUAIYVPNUYGJRQVLUKOPPVLHAZQTGLYAAUUNBXFTVTAMSBKQBLEIEPCVJ",
  "trusted-entities": ["QCTBOBEPDEZGBBCSOWGBYCAIZESDMEVRGLWVNBZAPBIZYEJFFZSPPIVGSCVL"],
  "tick-storage-mode": "kvrocks",
  "kvrocks-url": "tcp://127.0.0.1:6666",
  "tx-storage-mode" : "kvrocks",
  "tx_tick_to_live" : 3000,
  "max-thread": 8,
  "spam-qu-threshold": 100
}

USEFUL RESOURCES

Using bob

Inside bob

USAGE

./bob <config_path>

INSTALLATION SCRIPTS

All in one batch file for the lazy:

apt update && apt upgrade -y;
apt install vim net-tools tmux cmake git libjsoncpp-dev build-essential cmake uuid-dev libhiredis-dev zlib1g-dev unzip -y;
git clone https://github.com/krypdkat/qubicbob.git;
cd qubicbob;
mkdir build;
cd build;
cmake ..;
make bob -j8;
curl -fsSL https://download.keydb.dev/open-source-dist/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/keydb-archive-keyring.gpg;
echo "deb [signed-by=/usr/share/keyrings/keydb-archive-keyring.gpg] https://download.keydb.dev/open-source-dist jammy main" | sudo tee /etc/apt/sources.list.d/keydb.list;
apt update;
apt install keydb;