Read the Overview for General Considerations for Decentralized Mining Pools, or Braidpool Spec in increasing levels of complexity. You may also be interested in our Roadmap
The goals of the pool are:
- Lower variance for independent miners, even when large miners join the pool.
- Miners build their own blocks, just like in p2pool.
- Payouts require a constant size blockspace, independent of the number of miners on the pool.
- Provide building blocks for enabling a futures market of hash rates.
Kindly refer to our setup documentation for all the setup instructions and dependencies beforehand.
Setting up nix locally for utilizing it from the specific releases check - Nix setup
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
sh -s -- install
The .nix script present in the root directory /braidpool/cpunet_node.nix contains the CPUnet patched
bitcoin-node , can be set up locally as testnet for Braidpool this requires updates kindly setup from the docs/braidpool_setup.md.
# Path to the parent directory
cd /braidpool
# Run the nix-script
nix-build cpunet_node.nix
# Path to the result directory created after successful build
cd result
# Running the CPUnet node
./bin/bitcoind -cpunet -zmqpubsequence=tcp://127.0.0.1:28338
# Creating/loading a corresponding wallet
./bin/bitcoin-cli -cpunet createwallet cpunet
# Load an wallet created previously
./bin/bitcoin-cli -cpunet loadwallet cpunet
# Generate blocks
./contrib/cpunet/miner --cli=./bin/bitcoin-cli --ongoing --address `./bin/bitcoin-cli -cpunet getnewaddress` --grind-cmd="./bin/bitcoin-util -cpunet -ntasks=1 grind"
The documentation is in the docs/ directory and contains a bunch of math. To
view it locally rendered in your browser including the math, use
MkDocs:
cd braidpool
mkdocs serve
xdg-open http://localhost:8000
Or you can just click on the docs directory in the code and Github will render the math in these markdown docs.
A visualization dashboard for the Braidpool decentralized mining pool, and Bitcoin related data.
Dashboard Features
- Main Dashboard — Overview of key metrics and overall system status.
- Braid Visualization — Interactive graph displaying the DAG (Directed Acyclic Graph) structure.
- Bead Explorer — Explore individual beads and their relationships within the braid.
- Mining Inventory — View the status and performance of connected miners.
- Bitcoin Statistics — Detailed insights into Bitcoin price ranges, historical trends, and market analysis.
- Mempool Statistics — Provides real-time data on transactions awaiting confirmation.
- Node Health — Tracks node uptime, connectivity, and overall performance.
For setup instructions and environment configuration, please see the Dashboard README
A list with TODO's:
- Global simulator for Braids (
tests/simulator.py) - Python braid
cohorts()implementation and tests - Rust braid object handling
- Connect braid algorithms to blocks on CPUNet
- P2P gossip based broadcast of miner blocks and shares.
- Validate received blocks and shares.
- Use FROST rust implementation for providing threshold schnorr signatures. Use mock clock for identifying rounds.
- Single script installer (limited to Linux variants, potentially using docker).