Launch your own SciChain network
The SciChain software is Apache-2.0 licensed — you can spin up your own independent, post-quantum QBFT network with it. Your network runs its own chainId, its own validators, and its own tokens, completely separate from the public SciChain (chainId 481). This page walks you through bootstrapping one.
Own network vs. public chain This creates a new, independent network. To instead join and sync the public SciChain, see Run a node. You cannot reuse chainId 481 — that is the official SciChain.
Get the network kit
You need the SciChain node binary and the network generator script.
Verify against SHA256SUMS. The kit ships as compiled binaries; the post-quantum components are included in binary form.
Generate your network
The generator produces a genesis (with post-quantum + Shanghai enabled from block 0), plus a validator key and node directory for each validator you request.
# prerequisites
sudo apt update && sudo apt install -y openjdk-21-jre-headless
# extract the binary + kit into one folder
mkdir -p ~/scichain && cd ~/scichain
tar xzf scichain-node-25.7.0.tar.gz # -> ./besu-25.7.0/
tar xzf scichain-network-kit.tar.gz # -> ./create-network.sh
# create a 4-validator network on your own chainId (e.g. 7777)
./create-network.sh 7777 4 ./my-network
This writes my-network/networkFiles/genesis.json (shared by all nodes) and my-network/node1 … node4, each with its genesis and validator key.
Allocate initial balances
A fresh chain starts with empty accounts. Before first launch, add funded accounts to the alloc block of networkFiles/genesis.json (copy it to every node afterwards):
"alloc": {
"fe3b557e8fb62b89f4916b721be55ceb828dbd73": { "balance": "0x200000000000000000000000000000000000000000" }
}
Launch the validators
QBFT needs a majority of validators online to produce blocks (3 of 4). For real resilience, run each validator on a separate host. Start node1:
cd ~/scichain/my-network/node1
../../besu-25.7.0/bin/besu \
--data-path=./data --genesis-file=./genesis.json \
--network-id=7777 --rpc-http-enabled --rpc-http-host=127.0.0.1 \
--rpc-http-port=8545 --host-allowlist="*" \
--p2p-host=0.0.0.0 --p2p-port=30303 --min-gas-price=0
Copy node1's enode (from its startup log or admin_nodeInfo) and start the remaining validators with --bootnodes="<node1-enode>". Open the p2p port (30303) between your hosts. Once a majority are connected, the network starts producing blocks.
Verify it's live
curl -s -X POST http://127.0.0.1:8545 -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# the number should climb once a majority of validators are peered
Naming & branding
You may run your network and describe it as "built on SciChain" or "SciChain-based." The "SciChain" name and logo are trademarks of Scimatic Technologies — please don't present an independent network as the official SciChain (chainId 481) or imply endorsement. Full terms are in BRAND-USAGE.md (included in the kit).
Where to next Add validators later via on-chain voting — see Consensus (QBFT). Explore what your network exposes in the JSON-RPC API, and read about the post-quantum features your network inherits.