Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
Go to file
Kyle Altendorf e5bc89e5b6
catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629)
* updated wallet name

* deprecated series

* swap to cat2

* updating .gitmodule to point to defender-gui

* Remove break (its preventing other sockets from getting data when earlier ones have an error) (#12241)

* Convert DID Wallet to use the new coin selection algorithm that the normal wallet and the CAT wallet already use (#12063)

* small type change

* use coin_selection.py with DID Wallet

use more efficient coin selection methods.

* Add special DID edgecase + fix int type

* Ms.fix coin selection (#12261)

* Fix coin selection bug

* Fix properly

* Fallback in cases of too many coins selected

* Also check for num coins

* Lint issues.

* Add another test

* No sorting, and faster knapsack

* Lint fix

* Remove comment and useless check

* Lint line

* Tx submission idempotance, and prioritize wallet (#12282)

* Tx submission idempotance, and prioritize wallet

* TODO comment

* Updating gui modules

* extend min_coin to rpc calls & cli for coin selection  (#12274)

* add tests to test if min_coin is working

they are passing, but no harm in being safe

* expand min coin amount across wallet.py

* extend to trade_manager

* add new options to rpc's

almost done lol.

* add min_coin_amount to wallet send

* make param non optional

alleviate None errors

* add cat wallet changes, rpc and all + fix a bug i accidentally made

oops

* Fix offer compression backwards compatibility

* bumping gui pin to head of release/1.5.0

* Calculate NFT royalty amount

* Create NFT wallet after the DID created (#12175)

* Bumping gui

* Show total amount to be paid for NFT offers

* Fix for NFT0 and NFT+Royalty detection suggested by quex

* Linter fix and formatting change

* Add RPCs for getting/extending the current derivation path index (#12472)

* Sleep to allow neworking layer to execute (#12463)

* Sleep to allow neworking layer to execute

* Add comment

* Added param to indicate how many additional phs create_more_puzzle_hashes should create. (#12493)

Account for range() not including last_index when `up_to_index` is provided.

* Fixed the wallet db rename from v2/v1 to v2_r1.
Removed vestigial code for dealing with the lite wallet db now that
we're syncing v2_r1 from scratch.

* When extending the derivation index, make sure we don't mark previously (#12513)

unused indices as used. This helps minimize gaps in the address space.

* Updating SBX asset ID

* Adding 1.5.0 changelog (#56)

* Adding 1.5.0 changelog

* Adding CVE fix

* Updating gitmodules (#57)

* Updating gitmodules

* Pinning gui

* black fixes

* mypy fixes

* xfail some run_block tests that need CAT2 update

* fix test

* Fix test based on series<->edition changes

* Drop EOL impish and hirsute (#12559)

(cherry picked from commit 189790ced2)

* Expand select_coins rpc  (#12360)

* change type to uint64, 128 is too big anyway

* add new options to select_coins endpoint

* oops

* add tests and finalize

* oops

(cherry picked from commit d5bf4d8b59)

* .resolve() for wallet db path tests in windows

* followup to actually fix the wallet db path tests

* Update .gitmodules

* Update wallet_node.py

* Update trade_manager.py

Co-authored-by: Sebastjan <trepca@gmail.com>
Co-authored-by: matt <matt@chia.net>
Co-authored-by: William Allen <wallentx@users.noreply.github.com>
Co-authored-by: wallentx <william.allentx@gmail.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Jack Nelson <jack@jacknelson.xyz>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
Co-authored-by: Kronus91 <t.yu@chia.net>
Co-authored-by: Justin England <justin@chia.net>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
2022-07-29 16:58:21 -05:00
.github Drop EOL impish and hirsute (#12559) 2022-07-23 22:51:41 -05:00
benchmarks Rust coin (#11807) 2022-06-13 07:21:04 -05:00
build_scripts Add /usr/bin/chia and /opt/chia symlinks to the UI RPM to mirror available paths in the CLI version 2022-07-18 10:03:01 -05:00
chia catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629) 2022-07-29 16:58:21 -05:00
chia-blockchain-gui@baa47b29db catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629) 2022-07-29 16:58:21 -05:00
mozilla-ca@20aab1c28b adding ca updates (#12503) 2022-07-20 23:57:48 -05:00
tests catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629) 2022-07-29 16:58:21 -05:00
tools Move simulator test requirements over to new module (#12521) 2022-07-25 14:07:38 -05:00
.coveragerc run tests in CI via coverage (#9704) 2022-03-28 13:22:23 -07:00
.flake8 black the generated protocol messages code (#11786) 2022-06-08 10:21:03 -05:00
.gitignore Use get latest release endpoint for plotters, so that we ignore any pre-releases that could be returned by listReleases (#11165) 2022-04-13 18:06:50 -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 util: Enable `isort` and more `mypy` in `file_keyring.py` (#12531) 2022-07-28 14:07:27 -05:00
.markdown-lint.yml move all linter config to the root (#9830) 2022-01-19 11:38:11 -08:00
.pre-commit-config.yaml use language:system for pre-commit mypy (#12235) 2022-07-13 11:44:16 -05:00
BUILD_TIMELORD.md update permissions (#6061) 2021-05-26 11:33:26 -07:00
CHANGELOG.md catchup: into main from long_lived/post_1.5.0 @ 916ccee549 (#12629) 2022-07-29 16:58:21 -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 run pylint directly (#12100) 2022-06-27 10:53:04 -05:00
INSTALL.md Improve style consistency in root directory docs files (#4493) 2021-05-12 13:12:30 -07:00
Install-gui.ps1 replaced npm install => npm ci (#9717) 2022-01-19 16:52:20 -08:00
Install.ps1 add install action (#12075) 2022-07-07 19:56:33 -05:00
LICENSE 2021 year -> 2022 (#9829) 2022-01-15 19:41:56 -08:00
README.md Chia Seeder (#8991) 2021-11-27 18:30:25 -08:00
activated.ps1 run pre-commit across platforms in ci (#12287) 2022-07-15 21:08:07 -05:00
activated.py make pre-commit mypy run use regular venv (via activated shim) (#12077) 2022-06-27 12:13:22 -05:00
activated.sh make pre-commit mypy run use regular venv (via activated shim) (#12077) 2022-06-27 12:13:22 -05:00
install-gui.sh more set -o errexit (#10468) 2022-03-17 09:13:27 -07:00
install-timelord.sh Add dependencies macos rhel chiavdf (#11142) 2022-04-12 10:51:29 -07:00
install.sh Write python version error to stderr (#11239) 2022-05-14 02:04:18 -07:00
installhelper.py more isort (#11401) 2022-05-05 08:17:38 -07:00
lgtm.yml flag lgtm issues in test code and benchmark code as well (#11445) 2022-05-05 14:22:56 -07:00
mypy.ini util: Enable `isort` and more `mypy` in `file_keyring.py` (#12531) 2022-07-28 14:07:27 -05:00
pylintrc run pylint directly (#12100) 2022-06-27 10:53:04 -05:00
pyproject.toml black the generated protocol messages code (#11786) 2022-06-08 10:21:03 -05:00
pytest.ini Add Windows CI (#10681) 2022-05-31 14:04:45 -05:00
run-py-tests.sh more set -o errexit (#10468) 2022-03-17 09:13:27 -07:00
setup.py 20220705 clvm tools rs version bump (#12236) 2022-07-13 04:05:41 -05:00
start-gui.sh more set -o errexit (#10468) 2022-03-17 09:13:27 -07:00

README.md

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.