Skip to content

Release 2.4.2.0

Compare
Choose a tag to compare
@ldmberman ldmberman released this 07 Jun 15:41
· 726 commits to master since this release

The release features a significant syncing speedup, various other improvements, and changes made in preparation for the new iteration of the mining algorithm.

Among the prepared but not yet activated protocol upgrades is removing floating-point arithmetic from the protocol - likely the most significant obstacle on the path to alternative node implementations.

Please, note you can run the new release with existing data, but you cannot run the previous versions of the miner from the same data_dir after running the latest release.

Other changes include:

  • Synchronization is made much faster by removing the bottleneck added in 2.1.
  • A header_sync_jobs command line and config file parameter is introduced for speeding up chain headers download.
  • The joining process is made faster.
  • A new synchronization scheme is implemented improving data discovery after a significant amount of data is synced.
  • The requirement for the peers specified on startup to be available is dropped.
  • v1 transactions with more than 100 bytes of data are deprioritized over all other transactions. Such transactions saturate network links and fill up blocks much quicker. Users are expected to submit v2 transactions to upload data.
  • Orphaned transactions are returned to the mempool now. Very roughly, about 0.5% of all submitted transactions used to be dropped from the weave after a reorg. The measure will eliminate almost all of such cases.
  • A bug is fixed where the peer list update may get stuck (the ar_bridge_update_peers_process_is_stuck log).
  • A bug is fixed where the node may store and report as synced but not serve some chunks after shutdown.
  • A bug is fixed where a node might lose a chunk after a chain reorg.

Upgrade instructions

N.2.4.2.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.4.2.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 . 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, upgrade Erlang to version 23 and execute the following command:

git fetch --all --tags && git checkout -f N.2.4.2.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 [email protected].