* Create directories with 755 permissions, SSL certs with 644, and keys with 600. * Check SSL file permissions during chia_init(). Exits if permissions are incorrect. * Overwrite certs/keys instead of failing to write * Skip SSL file permission checks on Windows (requires checking ACLs) * Check SSL file permissions when creating an ssl_context * Skip check_ssl on Windows. Handle some SSLInvalidPermissions exceptions. * Added a few comments * Added chia init --fix-ssl-permissions option to attempt to fix SSL file permission issues. Update imported cert permissions when using chia init -c. Code cleanup/restructuring. * Return a tuple instead of a list * LGTM and other minor fixes * Fixed SSL test breakage when calling ssl_context_for_client. The ca_crt param was being passed in as both the cert and private key, triggering the permission check failure. * Don't exit if SSL file permissions issues are found * Tweak the exception types that are raised from traverse_dict
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.