All Projects → Chia-Network → chiapos

Chia-Network / chiapos

Licence: Apache-2.0 license
Chia Proof of Space library

Programming Languages

HTML
75241 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
assembly
5116 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to chiapos

chiavdf
Chia VDF utilities
Stars: ✭ 51 (-80.75%)
Mutual labels:  chia, chia-blockchain
farmr
A web dashboard for monitoring Chia farms. Also supports discord and email notifications.
Stars: ✭ 259 (-2.26%)
Mutual labels:  chia, chia-blockchain
chia-bls-go
chia-bls-signature in go, chia bls 签名工具go实现
Stars: ✭ 32 (-87.92%)
Mutual labels:  chia, chia-blockchain
pool-reference
Reference python implementation of Chia pool operations for pool operators
Stars: ✭ 452 (+70.57%)
Mutual labels:  chia, chia-blockchain
chia-client
TypeScript client for Chia RPC interfaces.
Stars: ✭ 84 (-68.3%)
Mutual labels:  chia, chia-blockchain
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (-50.57%)
Mutual labels:  chia, chia-blockchain
chia-blockchain-gui
Chia blockchain GUI in electron/react
Stars: ✭ 312 (+17.74%)
Mutual labels:  chia, chia-blockchain
dive-into-chia
chia深入研究以及一些工具(WIP)
Stars: ✭ 73 (-72.45%)
Mutual labels:  chia, chia-blockchain
chialisp-web
A docusaurus Chialisp website
Stars: ✭ 54 (-79.62%)
Mutual labels:  chia, chia-blockchain
chia-rosechain
chiarose(XCR) based on chia(XCH) source code fork, open source public chain
Stars: ✭ 378 (+42.64%)
Mutual labels:  proof-of-space, chia
prometheus-chia-exporter
Prometheus exporter for several chia node statistics
Stars: ✭ 30 (-88.68%)
Mutual labels:  chia-blockchain
blockchain-carbon-accounting
This project implements blockchain applications for climate action and accounting, including emissions calculations, carbon trading, and validation of climate claims. It is part of the Linux Foundation's Hyperledger Climate Action and Accounting SIG.
Stars: ✭ 123 (-53.58%)
Mutual labels:  blockchain-network
Swadeshi
Implementing a Web Based solution through which farmers can participate in a commodity exchange market
Stars: ✭ 21 (-92.08%)
Mutual labels:  farmer
ChiaMonitor
An approach for monitoring multiple Chia harvester in one web app based dashboard
Stars: ✭ 152 (-42.64%)
Mutual labels:  chia-blockchain
open-chain
Open source blockchain project designed for developer needs from the start. OPEN chain is a convenient and flexible technology for developing blockchain solutions and decentralized applications.
Stars: ✭ 59 (-77.74%)
Mutual labels:  blockchain-network
chia-log-analysis
Parses existing Chia plotter log files and builds a .csv file containing all the important details
Stars: ✭ 45 (-83.02%)
Mutual labels:  chia-blockchain
machinaris
An easy-to-use WebUI for crypto plotting and farming. Offers Plotman, MadMax, Chiadog, Bladebit, Farmr, and Forktools in a Docker container. Supports Chia, MMX, Chives, Flax, HDDCoin, and BPX among others.
Stars: ✭ 324 (+22.26%)
Mutual labels:  chia
Leveraging-cache-and-MessagingQueue-to-scale-BlockchainNetwork
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 28 (-89.43%)
Mutual labels:  blockchain-network
chiadog
A watch dog providing a peace in mind that your Chia farm is running smoothly 24/7.
Stars: ✭ 466 (+75.85%)
Mutual labels:  chia
Swar-Chia-Plot-Manager
This is a Cross-Platform Plot Manager for Chia Plotting that is simple, easy-to-use, and reliable.
Stars: ✭ 1,310 (+394.34%)
Mutual labels:  chia

Chia Proof of Space

Build PyPI PyPI - Format GitHub

Total alerts Language grade: Python Language grade: C/C++

Chia's proof of space is written in C++. Includes a plotter, prover, and verifier. It exclusively runs on 64 bit architectures. Read the Proof of Space document to learn about what proof of space is and how it works.

C++ Usage Instructions

Compile

# Requires cmake 3.14+

mkdir -p build && cd build
cmake ../
cmake --build . -- -j 6

Static Compilation With glibc

Statically compile ProofOfSpace

mkdir -p build && cd build
cmake -DBUILD_PROOF_OF_SPACE_STATICALLY=ON ../
cmake --build . -- -j 6

Run tests

./RunTests

CLI usage

./ProofOfSpace -k 25 -f "plot.dat" -m "0x1234" create
./ProofOfSpace -k 25 -f "final-plot.dat" -m "0x4567" -t TMPDIR -2 SECOND_TMPDIR create
./ProofOfSpace -f "plot.dat" prove <32 byte hex challenge>
./ProofOfSpace -k 25 verify <hex proof> <32 byte hex challenge>
./ProofOfSpace -f "plot.dat" check <iterations>

Benchmark

time ./ProofOfSpace -k 25 create

Hellman Attacks usage

There is an experimental implementation which implements some of the Hellman Attacks that can provide significant space savings for the final file.

./HellmanAttacks -k 18 -f "plot.dat" -m "0x1234" create
./HellmanAttacks -f "plot.dat" check <iterations>

Python

Finally, python bindings are provided in the python-bindings directory.

Install

python3 -m venv .venv
. .venv/bin/activate
pip3 install .

Run python tests

Testings uses pytest. Linting uses flake8 and mypy.

py.test ./tests -s -v

ci Building

The primary build process for this repository is to use GitHub Actions to build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish them with a source wheel on PyPi. See .github/workflows/build.yml. CMake uses FetchContent to download pybind11. Building is then managed by cibuildwheel. Further installation is then available via pip install chiapos e.g.

Contributing and workflow

Contributions are welcome and more details are available in chia-blockchain's CONTRIBUTING.md.

The main branch is usually the currently released latest version on PyPI. Note that at times chiapos will be ahead of the release version that chia-blockchain requires in it's main/release version in preparation for a new chia-blockchain release. Please branch or fork main and then create a pull request to the main branch. Linear merging is enforced on main and merging requires a completed review. PRs will kick off a GitHub actions ci build and analysis of chiapos at lgtm.com. Please make sure your build is passing and that it does not increase alerts at lgtm.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].