Releases: ArweaveTeam/arweave
Release 2.7.0
This release introduces a hard fork that activates at height 1275480, approximately 2023-10-05 07:00 UTC.
New features
Flexible Merkle Tree Combinations
When combining different data transactions, the merkle trees for each data root can be added to the larger merkle tree without being rebuilt or modified. This makes it easier, quicker, and less CPU-intensive to combine together multiple data transactions.
Documentation on Merkle Tree Rebasing: https://github.com/ArweaveTeam/examples/blob/main/rebased_merkle_tree/README.md
Example Code: https://github.com/ArweaveTeam/examples/blob/main/rebased_merkle_tree/rebased_merkle_tree.js
VDF Retargeting
The average VDF speed across the network is now tracked and used to increase or decrease the VDF difficulty so as to maintain a roughly 1-second VDF time across the network.
Bug fixes and other updates
Delay the pricing transition
This release introduces a patch that adds to the transition period before the activation of Arweave 2.6’s trustless price oracle, in order to give miners additional time to on-board packed data to the network. The release delays the onset of the transition window to roughly Dec. 14, 2023.
Memory optimization when mining
This change allows the mining server to periodically reclaim memory. Previously when a miner was configured with a suitably high mining_server_chunk_cache_size_limit
(e.g. 5,000-7,000 per installed GB of RAM) memory usage would creep up, sometimes causing an out of memory error. With this change, that memory usage can be periodically reclaimed, delaying or eliminating the OOM error. Further performance and memory improvements are planned in the next release.
Start form local state
Introduce the start_from_latest_state
and start_from_block
configuration options allowing a miner to be launched from their local state rather than downloading the initialization data from peers. Most useful when bootstrapping a testnet.
Ensure genesis transaction data is served via the /tx endpoint
Fix for issue #455
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.7.0
See the Mining Guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.10
The release introduces a few improvements, bug fixes, and one new endpoint.
- Fix two memory issues that occasionally cause out-of-memory exceptions:
- When running a VDF server with a slow VDF client, the memory footprint of the VDF server would gradually increase until all memory was consumed;
- When syncing weave data the memory use of a node would spike when copying data locally between neighboring partitions, occasionally triggering an out-of-memory exception
- implement the
GET /total_supply
endpoint to return the sum of all the existing accounts in the latest state, in Winston; - several performance improvements to the weave sync process;
- remove the following metrics from the
/metrics
endpoint (together accounting for several thousand individual metrics):erlang_vm_msacc_XXX
erlang_vm_allocators
erlang_vm_dist_XXX
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.10
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.9
The release introduces a few improvements and bug fixes.
- Improve syncing speed and stability significantly;
- fix the issue where the node connected to a VDF server would occasionally lag behind;
- add support for the VDF server pull interface, removing the requirement of a static IP when using a VDF server; to enable it, run your client with
enable vdf_server_pull
; - improve the mining performance of the nodes connected to the VDF server;
- fix the bug introduced in 2.6.4 where two-chunk solutions with the chunks coming from different partitions would be dropped;
- disable the server-side packing/unpacking of chunks by default (used to be enabled but very strictly limited); enable with
enable pack_served_chunks
; - add the GET /inflation/{height} endpoint returning the inflation reward for the given height;
- reduce peak memory footprint during node initialization, and baseline memory footprint while syncing.
Note if you are running your own VDF servers, update the server nodes first, then the client nodes.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.9
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.8
This release introduces a patch that adds to the transition period before the activation of Arweave 2.6’s trustless price oracle, in order to give miners additional time to on-board packed data to the network. The release delays the onset of the transition window by 4 months, and extends the interpolation between of old and new pricing systems to 18 months, from 12. This release introduces a hard fork that activates at height 1,189,560, approximately 2023-05-30 16:00 UTC.
Please note that the activation date for this patch is May 30th, as the present version has a real but small effect on end-user storage pricing. You will need to make sure you have upgraded your miner before this time to connect to the network.
Release 2.6.7.1
- Fix a regression introduced by 2.6.7 where packed chunks were not padded correctly;
- tweak the data discovery and syncing a bit.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.7.1
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.7
- Reduce the overhead caused by the inefficient GET /recent_hash_list_diff handler,
essentially speeding up (re-)packing; - fix the bug introduced in 2.6.6 where the in-place repacking could store invalid data;
clean up the invalid records; - fixed the bug where the node would print the out-of-sync warning in the
console when only one (or several out of many) trusted peer(s) are lagging behind.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.7
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.6
The release introduces a few improvements and bug fixes.
- Fix the regression introduced in 2.6.5 where data synchronisation became very slow;
- speed up the in-place repacking of the 2.5 storage;
- choose the default packing rate based on the actual packing latency achieved by the node's processor;
- hard-code the trusted peers to use when no trusted peers are specified explicitly; filter out the peers which fell behind.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.6
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.5
The release introduces various improvements and bug fixes.
Some hightlights:
- Fix a bug where the node would fail to produce a block if it cannot find the recent VDF checkpoints in the cache;
- improve the node behaviour under disk space constraints:
- stop writing data to storage modules residing on the separate drives when less than 1% of the disk space remains available;
- stop writing data to storage modules on the
data_dir
drive when the remaining space is less than what is reserved for the disk pool and block headers cache;
- fix a bug introduced in 2.6.4 where the node may fail to join the network when only some of the specified trusted peers are not available;
- add support for syncing exclusively from local peers:
- to enable the feature, specify local peers to sync from using the
local_peer
command line parameter and set thesync_from_local_peers_only
command line flag; - the peer address may be (although it does not have to be) a private IP address;
- make sure to specify
local_peer
on both sides - the node does not expect to be rate limited when syncing from a "local" peer so its peer needs to recognize it as local too;
- to enable the feature, specify local peers to sync from using the
- the data synchronization is improved;
- the
sync_jobs
configuration parameter now determines the number of workers responsible for fetching the chunks from the network and also from the other local storage modules:- if you run the node with
sync_jobs 0
, it won't sync any data from the network and it won't copy and repack the data between storage modules either; - if you set a positive value, the node will at first copy and repack the data across the intersecting storage modules and only then attempt to sync the missing data from the network;
- if you want to copy and repack local storage modules but do not want to sync from the network, start the node with
sync_from_local_peers_only
(you do not have to specifylocal_peer
s).
- if you run the node with
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.5
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.4
The release introduces various improvements and bug fixes.
Some hightlights:
- Added GET /wallet/[addr]/reserved_rewards_total serving the sum (in Winston) of the reserved mining rewards;
- introduced support for repairing specific RocksDB databases; specify each database to repair with:
repair_rocksdb [file]
- VDF peers addressed using domain names now stay connected even if the IP addresses change (applies to both clients and servers configured via vdf_client_peer and vdf_server_trusted_peer accordingly);
- sped up loading of blocks and transactions when joining the network;
- a bug is fixed where mining with custom size storage modules would sometimes fail with "mined_block_but_failed_to_read_chunk_proofs";
- fixed a bug where a failure to allocate a large page would result in the obscure "rwlock destroy" error.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, execute the following command:
git fetch --all --tags && git checkout -f N.2.6.4
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.
Release 2.6.3
The release introduces an improvement to the VDF pre-emptive gossip and validation logic for Arweave 2.6.
The release comes with the prebuilt binaries for the Linux x86_64 platforms.
If you want to run the miner from the existing Git folder, upgrade Erlang to version 24 and execute the following command:
git fetch --all --tags && git checkout -f N.2.6.3
See the mining guide for further instructions.
If you have any issues upgrading or would like to know more about the release, feel free to reach out to us in the Arweave Miners Discord (https://discord.gg/GHB4fxVv8B) or email us at team@arweave.org.