- Rust 51.2%
- C 38.5%
- HTML 2.5%
- Assembly 2.3%
- CMake 1.9%
- Other 3.6%
| .forgejo/workflows | ||
| .github/workflows | ||
| bin | ||
| bitcoin@6574cb4086 | ||
| ckpool | ||
| copr | ||
| crates | ||
| examples | ||
| src | ||
| static | ||
| templates | ||
| tests | ||
| .clang-format | ||
| .gitignore | ||
| .gitmodules | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rustfmt.toml | ||
para
para is a command-line tool for miners and pools. It is experimental
software with no warranty. See LICENSE for more details.
It implements a Rust library for the Stratum protocol and includes helpful
command-line tools that measure ping, inspect block templates, mimic mining
machines and run pool logic. To see a full list of available commands just
follow the instructions below and do para help.
This repository includes a modified fork of
ckpool, which currently
runs on parasite.wtf:42069. For instructions on how to connect, please visit
parasite.space. The modifications to the C
codebase of ckpool are:
- postgres database for share logging
- custom coinbase logic.
- support for signet
- miscellaneous helpful config flags
Setup
Requirements:
Manual Install
Rust is required to build, test, and develop. To install with curl:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Bundled Environment
This repo includes a bundled development environment with Hermit that provides the above requirements.
. ./bin/activate-hermit
Build
Clone the para repo:
git clone https://github.com/parasitepool/para.git
cd para
To build a specific version of para, first checkout that version:
git checkout <VERSION>
And finally to actually build para:
cargo build --release
Once built, the para binary can be found at ./target/release/para.
You can also install para directly into your path by doing:
cargo install --path .
Troubleshooting
Build Issues
Verify Minimum Versions
para requires:
rustcversion 1.90.0 or later- Available from
rustup update
- Available from
gccversion 10.5.0 or later.- Available from your package manager or gnu.org
These versions can be verified with:
rustc --version
gcc --version
Linux Builds
To compile software on Linux systems, you may need additional packages which
are not always installed by default. For Debian based systems (Ubuntu, Kali,
etc), you can install these dependencies with apt:
sudo apt install build-essential pkg-config libssl-dev
Windows Builds
To build Rust programs on Windows, you need one of two ABI configurations:
- MSVC
- On Windows,
rustupwill configure Rust to target this ABI by default - Visual Studio with
Build Tools
is required for building with MSVC
- this can be a very large install (~4GB)
- On Windows,
- GNU (GCC)
- Available from the
rustup toolchain install stable-gnucommand - Requires MinGW/MSYS2
# Run from within the MSYS terminal pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain \ mingw-w64-ucrt-x86_64-nasm
- Available from the
The Rustup Book provides more details on Windows builds.