8a028c3594
* Prority locking to consensus * Remove pstats * Linting * Do some stuff outside of lock * Fix startup * Add log timings * Try some different locking * Add limit * catch excp * CLVM inside lock * Try using a semaphore instead * use events for lock queue * test * Add logging for message types * type * remove seed * check new peak waiters * correct FullNodeAPI self.full_node.new_peak._waiters typo * correct logging string typos * only warn about new_peak Waiters if there is at least 1 * remove no-longer-accepted parameter to FullNode.peak_post_processing() * only warn about respond_transaction Waiters if there is at least 1 * lint * Change some constants * Small fix and logging changes * Put message types outside * Change some log levels so we can test with info * More logging * Increase rate limits but decrease paralelism * tweaks * Log dropped tx * Fix pool rpc test * Test fixes * Mempool optimization * Remove from seen if fails * Increase queue sizes * Message types info * More test and logging * Small changes to networking just in case * Decrease logging * Decrease logging even further * Decrease logging even further even further * Decrease logging 3 * Transaction queue * Don't cancel tasks or close connection * Cancel tasks on disconnect (for shutdown purposed) * Fix typo * Catch cancelled * Do multiple at a time * More accurate farmer response time * More efficiently create tasks * Increase queue size and priority by fee * Revert priority * Don't re-request too many times for dropped TX * Handle cancelled error so we don't go into a bad state * Catch cancelled in syncing tasks * Reduce new_peak_sem to improve performance * Less bytes conversion * Missing file, and 2 workers for CLVM * Validate BLS in a new thread * tests * Change semaphore constants * correct a cancellation triggered exception and assertion * Fix send_transaction, dont use BaseException, fix tests * Fix more tests * only log transaction handler cancellation in debug * typing in log * move unfinished validation to diff proc * it is asyncio.CancelledError * Add a test for bad signature * Fix more tests, reduce logging, lint * One more lint * blockchain tests, pass bytes directly, single call * Try to fix rl_wallet failures * Fix mempool test * catch everything * Don't test RL wallet * Fix more tests and return error code * Improve error handling in multiprocess * Add pre-validation time * Add pre-validation time in logs, and revert pytest.ini changes * Add log correctly * Ms.bls cache experiment (#9115) * Logging for cache * Less logging * Return to original plan * Clean up * Remove coment * Remove log * formalize LockQueue shutdown * Comments * Fix blockchain test * Improve cache * Remove logs * Fix sign_coin_spends * Fix pool wallet Co-authored-by: Kyle Altendorf <sda@fstab.net> Co-authored-by: Yostra <straya@chia.net> |
||
---|---|---|
.github | ||
benchmarks | ||
build_scripts | ||
chia | ||
chia-blockchain-gui@1863a31603 | ||
mozilla-ca@b1b808ab93 | ||
tests | ||
.flake8 | ||
.gitignore | ||
.gitmodules | ||
.isort.cfg | ||
.pre-commit-config.yaml | ||
azure-pipelines.yml | ||
BUILD_TIMELORD.md | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Install-gui.ps1 | ||
install-gui.sh | ||
install-timelord.sh | ||
INSTALL.md | ||
Install.ps1 | ||
install.sh | ||
installhelper.py | ||
LICENSE | ||
mypy.ini | ||
pyproject.toml | ||
README.md | ||
run-py-tests.sh | ||
setup.py |
chia-blockchain
Current Release/main | Development Branch/dev |
---|---|
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)
- 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. 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.