Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
Go to file
Adam Kelly e2ed6a4833
Typecheck tests/tools/test_full_sync.py (#14947)
* Typecheck tests/tools/test_full_sync.py

* Merge remote-tracking branch 'origin/main' into ak.typecheck-test_full_sync

* typecheck test_full_sync.py

* Revert "typecheck test_full_sync.py"

This reverts commit e5c0d9d565.

* Revert "Merge remote-tracking branch 'origin/main' into ak.typecheck-test_full_sync"

This reverts commit e5d0e57000.

* typecheck tests.toos.test_full_sync

---------

Co-authored-by: Earle Lowe <e.lowe@chia.net>
2023-05-23 19:53:20 -05:00
.github update build_network_protocol_files.py (#15345) 2023-05-23 14:30:07 -05:00
benchmarks more mypy platforms in ci (#12299) 2023-04-27 09:51:18 -05:00
build_scripts Enable signing for PRs that have secret access (#15331) 2023-05-18 13:18:45 -05:00
chia Typecheck chia/wallet/secret_key_store.py (#14945) 2023-05-23 19:53:01 -05:00
chia-blockchain-gui@9333f0f16d Bump chia-blockchain-gui to 2.0.0-b2 (#15359) 2023-05-23 04:42:11 -05:00
mozilla-ca@c8f36f4aec CA Cert updates (#14373) 2023-01-20 11:55:46 -06:00
tests Typecheck tests/tools/test_full_sync.py (#14947) 2023-05-23 19:53:20 -05:00
tools Fork infrastructure (#15299) 2023-05-18 20:20:11 -05:00
.coveragerc coverage use [run] source_pkgs= instead of source= (#14164) 2023-01-06 16:59:41 -06:00
.flake8 black the generated protocol messages code (#11786) 2022-06-08 10:21:03 -05:00
.gitignore mypy: Build mypy.ini config with exclusions dynamically (#15158) 2023-05-22 16:50:13 -05:00
.gitmodules catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629) 2022-07-29 16:58:21 -05:00
.isort.cfg isort: Remove the remaining exceptions and sort the related files (#14124) 2022-12-13 17:10:55 -06:00
.markdown-lint.yml move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
.pre-commit-config.yaml mypy: Build mypy.ini config with exclusions dynamically (#15158) 2023-05-22 16:50:13 -05:00
activated.ps1 Add .clvm.hex pre-commit check (#12050) 2022-09-12 16:08:55 -05:00
activated.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
activated.sh pre-commit: Fix a venv activation issue on linux (#12822) 2022-08-09 18:27:11 -05:00
BUILD_TIMELORD.md update permissions (#6061) 2021-05-26 11:33:26 -07:00
CHANGELOG.md 1.8.1 changelog (#15311) 2023-05-17 14:20:20 -05:00
CODE_OF_CONDUCT.md Bram's edit to code_of_conduct and start new dev branch 2020-09-15 12:26:16 -07:00
CONTRIBUTING.md Adding signed commit requirment info (#15313) 2023-05-17 10:47:58 -05:00
Install-gui.ps1 Adding submodule branch override to Install-gui.ps1 (#13752) 2022-10-31 11:23:53 -05:00
install-gui.sh Add Arch Linux to install-gui.sh script (#14059) 2022-12-09 20:29:23 -06:00
Install-plotter.ps1 Deprecate chia plotters install command (#13584) 2022-10-17 12:35:58 -05:00
install-plotter.sh bump default bladebit version to 2.0.1 in install-plotter.sh (#14181) 2022-12-19 10:55:28 -06:00
install-timelord.sh Setting actions version to latest (#14361) 2023-01-19 17:00:41 -06:00
INSTALL.md Improve style consistency in root directory docs files (#4493) 2021-05-12 13:12:30 -07:00
Install.ps1 Move to Discord in docs and install scripts (#15193) 2023-05-04 13:18:33 -05:00
install.sh Move to Discord in docs and install scripts (#15193) 2023-05-04 13:18:33 -05:00
installhelper.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
LICENSE update copyright year to 2023 (#14358) 2023-01-17 15:37:50 -07:00
manage-mypy.py mypy: Build mypy.ini config with exclusions dynamically (#15158) 2023-05-22 16:50:13 -05:00
mypy-exclusions.txt Typecheck tests/tools/test_full_sync.py (#14947) 2023-05-23 19:53:20 -05:00
mypy.ini.template mypy: Build mypy.ini config with exclusions dynamically (#15158) 2023-05-22 16:50:13 -05:00
PRETTY_GOOD_PRACTICES.md Update PRETTY_GOOD_PRACTICES.md (#13763) 2022-10-31 13:58:02 -05:00
pylintrc util: Remove legacy keyring support (#13398) 2022-11-18 10:33:18 -06:00
pyproject.toml Add support for Python 3.11 (#11407) 2023-01-27 17:16:03 -06:00
pytest.ini add datacases() and named_datacases() (#15265) 2023-05-12 12:58:45 -05:00
README.md Update the README to link to the Chia website (#14801) 2023-03-10 16:45:18 -06:00
SECURITY.md removing duped text 2022-11-22 15:53:40 -07:00
setup.py build(deps-dev): bump pyinstaller from 5.10.1 to 5.11.0 (#15306) 2023-05-23 14:28:07 -05:00
start-gui.sh more set -o errexit (#10468) 2022-03-17 09:13:27 -07:00

chia-blockchain

Chia Network logo

Current Release/main Development Branch/dev
Ubuntu Core Tests MacOS Core Tests Windows Installer on Windows 10 and Python 3.7 Ubuntu Core Tests MacOS Core Tests Windows Installer on Windows 10 and Python 3.7

GitHub contributors

Chia is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure. Here are some of the features and benefits:

  • Proof of space and time based consensus which allows anyone to farm with commodity hardware
  • Very easy to use full node and farmer GUI and cli (thousands of nodes active on mainnet)
  • Chia seeder, which maintains a list of reliable nodes within the Chia network via a built-in DNS server.
  • Simplified UTXO based transaction model, with small on-chain state
  • Lisp-style Turing-complete functional programming language for money related use cases
  • BLS keys and aggregate signatures (only one signature per block)
  • Pooling protocol that allows farmers to have control of making blocks
  • Support for light clients with fast, objective syncing
  • A growing community of farmers and developers around the world

Please check out the Chia website, the wiki, and FAQ for information on this project.

Python 3.7+ is required. Make sure your default python version is >=3.7 by typing python3.

If you are behind a NAT, it can be difficult for peers outside your subnet to reach you when they start up. You can enable UPnP on your router or add a NAT (for IPv4 but not IPv6) and firewall rules to allow TCP port 8444 access to your peer. These methods tend to be router make/model specific.

Most users should only install harvesters, farmers, plotter, full nodes, and wallets. Setting up a seeder is best left to more advanced users. Building Timelords and VDFs is for sophisticated users, in most environments. Chia Network and additional volunteers are running sufficient Timelords for consensus.

Installing

Install instructions are available in the INSTALL section of the chia-blockchain repository wiki.

Running

Once installed, a Quick Start Guide is available from the repository wiki.