Skip to content

Release 2.0.0.0

Compare
Choose a tag to compare
@ldmberman ldmberman released this 31 Mar 09:33
· 762 commits to master since this release
The release is a hard fork that activates at height 422250, approximately 2020-04-09 10:00 UTC. You will need to make sure you have upgraded your miner before this time in order to be connected to the 2.0 network.

The release introduces **Fast Write**: a major modification to the core Arweave protocol that removes relevant limits to the write speed of the network.

The new _protocol_, enforced by this _client_ release, supports enormous volumes of data. However, the _client_ does not yet accept data separately from transaction headers, constraining the upload speeds not only by the network speeds, but also memory pool and transaction queue limits. The extended _client_ capabilities for managing arbitrarily huge volumes of data are planned for 2.1, but will not require a hard fork. Nonetheless, this upgrade still dramatically increases the practical block size of the network.

In addition to increasing the write speed, the new protocol makes block validation more efficient. This is achieved through using a new Merkle tree-based Succinct Proofs of Access scheme, and an iterative block hashing mechanism.

Other notable changes:

- The memory footprint is reduced by about 1 GB.
- Mining bookkeeping costs are reduced.
- Data syncing speeds are improved.
- The auto-update feature has been dropped.
- No firewall checks are made during fork recovery. Since the data is distributed separately from the headers for the new transactions, it is not feasible to do firewall checks on the fly.
- It is no longer necessary to store historical block metadata and wallet lists for mining.

**Upgrade instructions**

N.2.0.0.0 comes with the prebuilt binaries for the Linux and Darwin x86_64 platforms.

Download the corresponding archive and unpack it:

```
tar -xzf arweave-2.0.0.0.linux-x86_64.tar.gz
```

It makes sense to unpack it inside a dedicated directory. You can always move this directory around, but the miner may not work if you move only some of the files. The weave data would, by default, be stored in this directory, too, but it can be overridden using the data_dir command-line argument.
The archive contents look like this:

```
bin/  data/  erts-10.3/  lib/  releases/
```

To run the miner, execute ./bin/start <arguments>. See the mining guide for more details.
If your OS/platform architecture is not in the list, check README for how to build the miner from sources.

If you want to run the miner from the existing Git folder, execute the following command to upgrade:

```
git fetch --all --tags && git checkout -f N.2.0.0.0
```

You can now run the miner using the arweave-server script.

**Support**

For more details on how to run a mining node, please see our mining guide - https://docs.arweave.org/info/mining/mining-guide. If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the #mining channel on Discord Arweave Dev Talk server (https://discord.gg/DjAFMJc) or email us at team@arweave.org.