Flow Protocol

Layer-1 blockchain built from scratch in C++20. Equihash proof-of-work, 10-minute blocks, 21 million FTC fixed supply.

...
Block Height
...
Difficulty
...
Network Hashrate
...
Circulating Supply
...
Avg Block Time
...
Connected Peers
Connecting to network...

Download

Latest release: v0.1.0-alpha — Full node + miner + wallet CLI

Linux x86_64
Ubuntu 20.04+ / Debian 11+
Download .tar.gz
Contains: ftcd, ftc-miner, ftc-wallet
Windows x86_64
Windows 10+ (MSYS2 ucrt64)
Download .tar.gz
Contains: ftcd.exe, ftc-miner.exe, ftc-wallet.exe
Build from Source
Any platform with C++20 + CMake + OpenSSL
GitHub Repository
81,000+ lines of original C++20 code

Seed Nodes

Live status of official seed nodes

Seoul (AP Northeast) checking...
Address
3.35.208.160:9333
Height
-
Best Block
-
Peers
-
Virginia (US East) checking...
Address
44.221.81.40:9333
Height
-
Best Block
-
Peers
-

Quick Start

Get your node running in minutes

1. Run a Full Node

Download the binary and create a config file:

# Create config directory
mkdir -p ~/.ftc

# Create config file
cat > ~/.ftc/ftc.conf <<EOF
rpcuser=ftcuser
rpcpassword=ftcpass
rpcport=9332
port=9333
connect=3.35.208.160
connect=44.221.81.40
EOF

# Start the node
./ftcd

2. Start Mining

Point the miner at your local node or a seed node:

# Mine to your own node
./ftc-miner \
  --rpc-url=127.0.0.1 \
  --rpc-port=9332 \
  --rpc-user=ftcuser \
  --rpc-pass=ftcpass \
  --address=YOUR_FTC_ADDRESS \
  --threads=4

# Generate a new address
./ftc-wallet --generate

3. Build from Source

Requirements: C++20 compiler, CMake 3.20+, OpenSSL 3.x

# Clone
git clone https://github.com/Kristian5013/flow-protocol
cd flow-protocol

# Build (Linux)
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)

# Run tests (184 tests, 791 checks)
./test/ftc_tests

4. RPC API

Query the node via JSON-RPC:

# Get blockchain info
curl -u ftcuser:ftcpass \
  -d '{"jsonrpc":"1.0","id":1,
       "method":"getblockchaininfo",
       "params":[]}' \
  http://127.0.0.1:9332/

# Other methods:
# getblock, getblockhash,
# getpeerinfo, getmempoolinfo,
# getwork, submitwork,
# getnewaddress, getbalance,
# sendtoaddress, listtransactions

Technical Specifications

Core protocol parameters

AlgorithmEquihash (200, 9)
Block Time10 minutes (600 seconds)
Max Supply21,000,000 FTC
Initial Block Reward50 FTC
Halving IntervalEvery 210,000 blocks (~4 years)
Difficulty AdjustmentEvery 2016 blocks (~2 weeks)
P2P Port9333
RPC Port9332
Address PrefixF (Base58Check)
ConsensusSegWit, BIP34, BIP65, BIP66 (from genesis)
Codebase81,000+ lines of original C++20
DependenciesOpenSSL only (zero Bitcoin Core code)