• Stars
    star
    336
  • Rank 124,802 (Top 3 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created about 3 years ago
  • Updated 8 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting

BladeBit Chia Plotter

Release Builds

A high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting.

Requirements

In-RAM

416 GiB of RAM are required to run it, and a few more megabytes for stack space and small allocations.

64-bit is supported only, for obvious reasons.

Disk-based

A minimum of 4 GiB of RAM is required, with lower bucket counts requiring up to 12 GiB of RAM.

Around 480 GiB of total temporary space is required when plotting to disk in the default mode, or around 390 GiB with --alternate mode enabled.

The exact amounts of RAM and disk space required may vary slightly depending on the system's page size and the target disk file system block size (block-alignment is required for direct I/O).

SSDs are highly recommended for disk-based plotting.

Prerequisites

Linux, Windows and MacOS (both intel and ARM (Apple Silicon)) are supported.

Linux

Install the following packages:

# CentOS or RHEL-based
sudo yum group install -y "Development Tools"
sudo yum install -y cmake gmp-devel numactl-devel

# Ubuntu or Debian-based
sudo apt install -y build-essential cmake libgmp-dev libnuma-dev

Windows

Must have at least Visual Studio 2019 or its build tools installed.

macOS

Must have Xcode or Xcode build tools installed. brew install cmake

Optionally install gmp: brew install gmp

Building

# Clone the repo & its submodules
git clone https://github.com/Chia-Network/bladebit.git && cd bladebit

# Create a build directory for cmake and cd into it
mkdir -p build && cd build

# Generate config files & build
cmake ..
cmake --build . --target bladebit --config Release

The resulting binary will be found under the build/ directory. On Windows it will be under build/Release/.

Usage

Run bladebit with the -h for complete usage and command line options:

# Linux & macOS
build/bladebit -h

# Windows
build/Release/bladebit.exe -h

The bladebit CLI uses the format bladebit <GLOBAL_OPTIONS> <sub_command> <COMMAND_OPTIONS>.

Use the aforementioned -h parameter to get the full list of sub-commands and GLOBAL_OPTIONS. The sub_command-specific COMMAND_OPTIONS can be obtained by using the help sub command with the desired command as the parameter:

bladebit help ramplot
bladebit help diskplot

In-RAM

Basic ramplot usage:

# OG plots
./bladebit -f <farmer_public_key> -p <pool_public_key> ramplot <output_directory>

# Portable plots
./bladebit -f <farmer_public_key> -c <pool_contract_address> ramplot <output_directory>

Disk-Based

Basic diskplot usage:

# OG plots
./bladebit -f <farmer_public_key> -p <pool_public_key> diskplot -t1 <temp_directory> <output_directory>

# Portable plots
./bladebit -f <farmer_public_key> -c <pool_contract_address> diskplot -t1 <temp_directory> <output_directory>

# Differing temp directories:
./bladebit -f ... -c ... diskplot -t1 /path/to/temp_1 -t2 /path/to/temp2 /my/output/dir

# With a 100 GiB temp2 cache and alternating mode
./bladebit -f ... -c ... diskplot -a --cache 100G -t1 /path/to/temp_1 -t2 /path/to/temp2 /my/output/dir

# With fine-grained thread control depending on the workload
./bladebit -f ... -c ... diskplot --f1-threads 12 --fp-threads 32 -t1 /path/to/temp_1  /my/output/dir

License

Licensed under the Apache 2.0 license. See LICENSE.

Copyright 2023 Harold Brenes, Chia Network Inc

More Repositories

1

chia-blockchain

Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
Python
10,831
star
2

pool-reference

Reference python implementation of Chia pool operations for pool operators
Python
439
star
3

chia-blockchain-gui

Chia blockchain GUI in electron/react
TypeScript
332
star
4

bls-signatures

BLS signatures in C++, using the blst library for BLS12-381
C++
295
star
5

chiapos

Chia Proof of Space library
HTML
267
star
6

chia-docker

Shell
213
star
7

website

Old Corporate web site
HTML
153
star
8

clvm

[Contract Language|Chia Lisp] Virtual Machine
Python
86
star
9

oldvdf-competition

VDF competition instructions, and simple implementation
Python
86
star
10

chia-network.github.io

The Current Chia Network website
HTML
75
star
11

clvm_rs

Rust implementation of clvm
Rust
67
star
12

chialisp-web

A docusaurus Chialisp website
JavaScript
67
star
13

drplotter

63
star
14

chiavdf

Chia VDF utilities
C++
60
star
15

clvm_tools

Tools for clvm development
Python
51
star
16

chia-dev-tools

A utility for developing in the Chia ecosystem: Chialisp functions, object inspection, RPC client and more.
Python
45
star
17

chips

JavaScript
45
star
18

chia-exporter

RPC/Websocket based metrics exporter for Chia
Go
39
star
19

cadt

Climate Action Data Trust
JavaScript
35
star
20

chia-gaming

OCaml
29
star
21

vdf-competition

Python
25
star
22

chia-docs

Chia Docs - documentation on the Chia blockchain, protocol and client
JavaScript
20
star
23

chia_rs

Rust crate & wheel with consensus code
Rust
19
star
24

CAT-admin-tool

Admin tool for issuing CATs
Python
18
star
25

proofofspace

HTML
15
star
26

go-chia-libs

Go
15
star
27

cadt-ui

Climate Action Data Trust User Interface
TypeScript
15
star
28

keybase-live-feed

JavaScript
14
star
29

post-mortem

This repo holds chia public post mortem records.
12
star
30

internal-custody

Smart coins to secure funds with M of N signature thresholds, re-keying, clawbacks, and timelock spends
Python
12
star
31

node-clvm-lib

A browser friendly implementation of clvm in TypeScript.
TypeScript
12
star
32

chia-dev-guides

Chia Dev Guides - tutorials for developers building on the Chia blockchain
JavaScript
12
star
33

clvm_tools_rs

clvm_tools ported to rust based on https://github.com/Chia-Mine/clvm_tools-js/, and chialisp-21 dialect with a new compiler.
Rust
11
star
34

chia-nft-minting-tool

Bulk Minting tool for NFTs
Python
9
star
35

hsms

HSMS: hardware security module software/simulator
Python
8
star
36

offline-signing-demo

Python
8
star
37

vdftrack1results

Track 1 results for Chia's VDF competition
C
8
star
38

node-chia-bls

A browser friendly implementation of bls-signatures in TypeScript.
TypeScript
8
star
39

vscode-chialisp-lsp

A Chialisp LSP client for Visual Studio Code
Rust
7
star
40

carbon-asset-token

carbon asset token project
JavaScript
7
star
41

mozilla-ca

6
star
42

chialinks

HTML
6
star
43

chia-wallet-connect-dapp-test

dApplication for wallet connect testing
TypeScript
6
star
44

node-chia-wallet-lib

Unofficial implementations for standard puzzles and the wallet for Chia
TypeScript
4
star
45

walletconnect-rpcs-dapp

An example dApp for testing Chia WalletConnect commands.
TypeScript
3
star
46

ledger_sim

Python
3
star
47

node-chia-rpc

An implementation of Chia RPC calls in TypeScript.
TypeScript
3
star
48

vdftrack2results

Track 2 results for Chia's VDF competition
C++
3
star
49

chia-simulator-docker

Docker Containers for a One-click Chiaโ„ข Simulator Setup.
Dockerfile
3
star
50

pub-metrics-grafana

Jinja
3
star
51

build-images

Docker images used for the release pipelines
Dockerfile
2
star
52

chia-operator

A Kubernetes operator for Chia
Go
2
star
53

helm-charts

Smarty
2
star
54

dev-community-meetings

2
star
55

actions

TypeScript
2
star
56

terraform-modules

common modules for chia terraform these modules are intended to be inherited by downstream projects
HCL
2
star
57

Climate-Tokenization-Engine

JavaScript
2
star
58

ansible-roles

Jinja
2
star
59

chia-toolbox

Tools
Python
2
star
60

Climate-Wallet

Climate Wallet that integrates with the Chia Wallet
JavaScript
2
star
61

chia-clawback-primitive

A developer primitive for clawbacks on the Chia Blockchain
Python
2
star
62

chiabip158

Chia's implementation of BIP 158 - https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki
C++
2
star
63

chialisp-crash-course

TypeScript
2
star
64

proofofspaceresults

C++
1
star
65

ecosystem-activity

Go
1
star
66

core-registry-ui

Unified user interface for the carbon Core Registry suite
JavaScript
1
star
67

vdfcontest2results

C++
1
star
68

go-modules

Go
1
star
69

climate-explorer-ui

User Interface for Climate Explorer
JavaScript
1
star
70

public_bluebox_image

Generate an AWS AMI for public use
HCL
1
star
71

climate-token-driver

Provides three types of functionality for carbon tokenization
Python
1
star
72

chia-healthcheck

A simple healthcheck for Chia components - support being added to new Chia components over time
Go
1
star
73

CAT-addresses

Tool that discovers all CAT addresses
Python
1
star
74

coin-tracing-scripts

Python
1
star
75

Climate-Tokenization-Engine-UI

Create tokenized carbon units on the blockchain
JavaScript
1
star
76

mysqlpunch

A small CLI tool for slamming a table in mysql with records to see how it reacts to load
Go
1
star
77

MonsterSprouts

TypeScript
1
star