Skip to content

Release 2.1.0.0

Compare
Choose a tag to compare
@ldmberman ldmberman released this 15 Jun 14:12
· 714 commits to master since this release

This release introduces the capability of storing and sharing large volumes of data. The goal is to sync arbitrarily large portions of the weave efficiently and in a way that keeps the distribution of data across the network uniform, while making storage and processing overhead grow only with the size of the data stored, not with the size of the entire weave.

Large data is uploaded and downloaded in chunks, via the POST /chunk, GET /tx/<id>/offset, and GET /chunk/<offset> endpoints. Client library support is underway.

Transaction data below 12 MiB continues to be accepted and served via the old APIs.

A portion of data can be uploaded immediately, before the corresponding transaction has been mined. The data is stored on disk in a "disk pool". There are some new configuration parameters to tweak it:

  • disk_pool_data_root_expiration_time, the time in seconds of how long a pending or orphaned data root is kept in disk pool, 2 hours by default;
  • max_disk_pool_buffer_mb, the maximum total size in mebibytes of the pending chunks in the disk pool, 2 GiB by default;
  • max_disk_pool_data_root_buffer_mb, the maximum size in mebibytes of the pending chunks in the disk pool, per data root, default is 50 Mib.

A graceful shutdown script

This release introduces a new storage engine (RocksDB), which may end up in a corrupt state unless closed properly.

Therefore, we introduce a new ./bin/stop script for stopping the miner gracefully. Note that the miner shell does not react to ctrl+c ctrl+c anymore.

Alternatively, one can send a SIGTERM signal to the process or run init:stop(). in the miner shell.

A bugfix

A bug was fixed where the nodes would connect to fewer peers than they are supposed to.

Upgrade instructions

N.2.1.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.1.0.0.linux-x86_64.tar.gz

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 source.

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.1.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.