You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #84 from Chia-Network/alpha-1.3
Alpha 1.3
FullNode performance improvements - Syncing up to the blockchain by importing all blocks is faster due to improvements in VDF verification speed and multithreading block verification. Also fixed a bug where the node may not sync if it restarts close to a tip.
VDF improvements - VDF verification and generation speed has increased and dependence on flint2 has been removed. We wish to thank Dr. William Hart (@wbhart) for dual licensing parts of his contributions in [FLINT](http://www.flintlib.org/) and [Antic](https://github.com/wbhart/antic) for inclusion in the Chia blockchain.
Implemented an RPC interface with JSON serialization for streamables - currently on port 8555 - and moved the ssh UI to use RPC.
Mongodb deprecated. Moved to [SQLite](https://www.sqlite.org/) for the blockchain database. This will require nodes to re-sync with the network. Luckily this is now faster.
Changed the displayed process names for harvester, farmer, fullnode, timelords, and VDFs to to chia_full node, chia_harvester, etc. Fixed a bug that could cause inadvertent shutdown of other processes like an ongoing plotting session when new chia services were started.
Added details on how to contribute in CONTRIBUTING.md. Thanks @RichardLitt. Also moved documentation from inside the repository to the [wiki](https://github.com/Chia-Network/chia-blockchain/wiki).
Added color logging and now chia_harvester will periodically announce which plots it is currently farming and their k sizes.
Fixed a typo in the UI. Hat tip to @lvcivs for the pr.
Clarified the minimum version of boost required to build timelord/VDFs. Hat tip @AdrianScott
Lots of smaller bug and documentation fixes.
We are happy that you are taking a look at the code for Chia, a proof of space and time cryptocurrency.
4
+
5
+
A lot of fascinating new cryptography and blockchain concepts are used and implemented here.
6
+
This repo includes the code for the Chia full node, farmer, and timelord (in src), which are all written in python.
7
+
It also includes a verifiable delay function implementation under lib/chiavdf (in c/c++), and a proof of space implementation under lib/chiapos.
8
+
9
+
If you want to learn more about this project, read the [wiki](https://github.com/Chia-Network/chia-blockchain/wiki), or check out the [green paper](https://www.chia.net/assets/ChiaGreenPaper.pdf).
10
+
11
+
### Contributions
12
+
We would be pleased to accept code contributions to this project.
13
+
As we are in the alpha stage, the main priority is getting a robust blockchain up and running, with as many of the mainnet features as possible.
14
+
You can visit our [Trello project board](https://trello.com/b/ZuNx7sET) to get a sense of what is in the backlog.
15
+
Generally things to the left are in progess or done. Some things go through "Coming up soon" but some will come directly out of other columns.
16
+
Usually the things closer to the top of each column are the ones that will be worked on soonest.
17
+
If you are interested in cryptography, math, or just like hacking in python, there are many interesting problems to work on.
18
+
Contact any of the team members on keybase: https://keybase.io/team/chia_network.public, which we use as the main communication method and you can comment on any Trello card.
19
+
20
+
### Run tests and linting
21
+
The first time the tests are run, BlockTools will create and persist many plots. These are used for creating
22
+
proofs of space during testing. The next time tests are run, this won't be necessary.
23
+
24
+
```bash
25
+
black src tests && flake8 src && mypy src tests
26
+
py.test tests -s -v
27
+
```
28
+
Black is used as an automatic style formatter to make things easier, and flake8 helps ensure consistent style.
29
+
Mypy is very useful for ensuring objects are of the correct type, so try to always add the type of the return value, and the type of local variables.
6. Preferences > Settings > mypy > Targets: set to ./src and ./tests
39
+
40
+
### Submit changes
41
+
To submit changes, please make a pull request to the appropriate development branch.
42
+
For example, after the 1.2 release, the 1.3 branch is used for development, etc.
43
+
The master branch is updated with the latest releases only.
44
+
45
+
### Copyright
46
+
By contributing to this repository, you agree to license your work under the Apache License Version 2.0, or the MIT License, or release your work to the public domain. Any work contributed where you are not the original author must contain its license header with the original author(s) and be in the public domain, or licensed under the Apache License Version 2.0 or the MIT License.
Python 3.7 is used for this project. Make sure your default python version is >=3.7 by typing python3.
2
+
Please check out the [wiki](https://github.com/Chia-Network/chia-blockchain/wiki) and [FAQ](https://github.com/Chia-Network/chia-blockchain/wiki/FAQ) for information on this project.
3
3
4
-
You will need to enable [UPnP](https://www.homenethowto.com/ports-and-nat/upnp-automatic-port-forward/) on your router or add a NAT (for IPv4 but not IPv6) and firewall rule to allow TCP port 8444 access to your peer. These methods tend to be router make/model specific.
4
+
Python 3.7 is required. Make sure your default python version is >=3.7 by typing `python3`.
5
+
6
+
You will need to enable [UPnP](https://www.homenethowto.com/ports-and-nat/upnp-automatic-port-forward/) 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.
5
7
6
8
For alpha testnet most should only install harvesters, farmers, plotter and full nodes. Building timelords and VDFs is for sophisticated users in most environments. Chia Network and additional volunteers are running sufficient time lords for testnet consensus.
7
9
8
-
## Install harvester, farmer, plotter, and full node
10
+
## Step 1: Install harvester, farmer, plotter, and full node
0 commit comments