Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
Go to file
Yostra ca84fa9f8d
Sync improvements (#9974)
* stash

* change log level

* stash changes

* cat tests

* add node id chia show

* make max sibscribe items configurable

* lint

* add logs for limits

* paralelize incluzion valdiation, don't diconnet from remote peers until local peer in synced

* wallet rate limit

* test log lvl, trusted, black

* only validation under semaphore

* flake mypy trade test

* reduce flakyness

* merge fix

* rename

* linting

* validate parallel, apply serial

* reduce falkyness

* lint

* Fix CAT tests

* black

* flaky test, total amount

* fix cat test

* skip existing state

* skip existing

* try other caches

* flake8

Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: William Blanke <wjb98672@gmail.com>
2022-01-28 19:16:47 -08:00
.github Use native concurrency settings to cancel duplicate in progress jobs rather than waiting for the job to start to cancel (#9963) 2022-01-26 11:20:31 -06:00
benchmarks revert allow-upgrades configuration option. It makes it significantly more complicated to do proper database migrations (#9768) 2022-01-13 14:53:27 -08:00
build_scripts replaced npm install => npm ci (#9717) 2022-01-19 16:52:20 -08:00
chia Sync improvements (#9974) 2022-01-28 19:16:47 -08:00
chia-blockchain-gui@4f0dd57526 updated gui to 4f0dd57526 2022-01-28 12:10:37 -08:00
mozilla-ca@b1b808ab93 Chia Seeder (#8991) 2021-11-27 18:30:25 -08:00
tests Sync improvements (#9974) 2022-01-28 19:16:47 -08:00
tools introduce restrictions on generators at a specific height (#9957) 2022-01-28 12:29:11 -08:00
.flake8 move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
.gitignore Exclude Files created by wheel. (#9806) 2022-01-13 17:43:27 -08:00
.gitmodules Pools mainnet (#7047) 2021-06-29 14:21:25 -07:00
.isort.cfg move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
.markdown-lint.yml move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
.pre-commit-config.yaml Update pre-commit mypy to 0.930 (#9648) 2022-01-06 18:59:56 -08:00
azure-pipelines.yml Make sure to fail CI when unable to get madMAx version (#9573) 2021-12-15 10:00:36 -06:00
BUILD_TIMELORD.md update permissions (#6061) 2021-05-26 11:33:26 -07:00
CHANGELOG.md changelog1.2.11 (#9137) 2021-11-04 17:17:00 -07: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 pre-commit: Add initial config and run it for all files (#7053) 2021-08-02 10:48:22 -07:00
Install-gui.ps1 replaced npm install => npm ci (#9717) 2022-01-19 16:52:20 -08:00
install-gui.sh replaced npm install => npm ci (#9717) 2022-01-19 16:52:20 -08:00
install-timelord.sh Improve style consistency in root directory docs files (#4493) 2021-05-12 13:12:30 -07:00
INSTALL.md Improve style consistency in root directory docs files (#4493) 2021-05-12 13:12:30 -07:00
Install.ps1 Avoid activating venv in Install.ps1 (#8927) 2021-10-29 10:44:46 -07:00
install.sh Test installers in Dockers (#9896) 2022-01-23 21:46:16 -08:00
installhelper.py only use the last line of chia version output in installhelper.py (#8239) 2021-08-27 10:42:07 -07:00
lgtm.yml Fixed an issue where LGTM on chia-blockchain-gui did not work (#9750) 2022-01-10 20:56:46 -08:00
LICENSE 2021 year -> 2022 (#9829) 2022-01-15 19:41:56 -08:00
mypy.ini tweak mypy config (#9368) 2021-11-24 13:06:39 -08:00
node.prof Sync improvements (#9974) 2022-01-28 19:16:47 -08:00
pylintrc move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
pyproject.toml Plotting needs Mo memory (#620) 2021-01-12 17:02:22 -05:00
README.md Chia Seeder (#8991) 2021-11-27 18:30:25 -08:00
run-py-tests.sh Mypy issues on python 3.9.7 (#8554) 2021-09-22 10:44:03 -07:00
setup.py introduce restrictions on generators at a specific height (#9957) 2022-01-28 12:29:11 -08:00

chia-blockchain

Alt text

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 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.