Tags: virdpool/arweave
Tags
Release 2.4.1.0 The release's main goal is to improve the efficiency of the new SPoRA miner. The changes include: - blob storage for chunks optimized for random reads tailored specifically to the miner; - the recall byte computation - the only mining operation on the Erlang side that takes ~100 us per chunk - is re-implemented in C; - Erlang VM tuning; - a more streamlined and configurable mining server. Note that there is no automatic migration to the new storage, only the new data is written there. You can still mine with existing data; however, you need to sync from scratch to achieve the largest performance gain. If you run the new version with existing storage, run it with `enable search_in_rocksdb_when_mining`. See [the new version of the mining guide](https://docs.arweave.org/info/mining/mining-guide) for more details on tuning the node. Also, the new storage contains sparse files - you need to account for it if you copy your data from one place to another. You can find more information about it in the guide. **Other improvements** - Transaction processing performance is improved a bit in response to increased transaction volumes. - The `rocksdb` and `chunk_storage` folders can reside on their own disks now, and the node would still track the amount of available space. These folders contain all the data required during mining. E.g., a fast nvme SSD drive can be mounted to these folders while the rest of the data may be on a cheaper HDD disk. - A few issues with the peering logic are fixed (no more `ar_bridge_update_peers_process_is_stuck` logs). - An improvement in the block propagation logic is made where nodes re-send a block to some of the best peers who did not know the previous block at the time of the first attempt, usually when two successive blocks are mined close in time. Previously, those peers had to ask for the missing blocks themselves. - Serving HTML over `/tx/[id]/data.html` and `/[id]` can be optionally disabled via the `disable serve_html_data` command line setting. - The joining procedure is made more reliable to make it easier to join when the recent blocks are big. - The broken `disk_space` setting is fixed. **Upgrade instructions** N.2.4.1.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.1.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 8000 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.4.1.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.
Release 2.4 This release introduces a hard fork that activates at height 633720, approximately 2021-02-24 11:50 UTC. You will need to make sure you have upgraded your miner before this time in order to connect to the 2.4 network. The release introduces SPoRA - the new consensus mechanism aiming to promote further replication of the dataset, and reduce the energy consumed by the network by trade hashing expenditure for throughput of data access links. See more about the design [here](https://github.com/ArweaveTeam/arweave-standards/blob/ans-103/ans/ANS-103.md). The estimated USD to AR rate is fixed in the release version due to the high uncertainty about the difficulty change at the fork block. A follow-up hard fork will re-enable the dynamic difficulty-based price estimation. Thereby the /price endpoint would now return the precise amount to pay, not a pessimistic estimation of it. It may take significantly longer than usual to mine the fork block, leading to disruption in usage of the network for this period. **HTTP API changes** - The "reward_pool", "block_size", and "weave_size" block fields are served as JSON strings starting from the fork block. **Transaction verification changes** - The "target" field must be empty when no tokens are transferred. For transfer transactions, the size of the "target" field must be 32 bytes. - A bug is fixed where the nodes [would not verify some valid RSA PSS signatures](ArweaveTeam#286). **New features and improvements** - A new logging system is introduced. Logs are now written to "logs/arweave@127.0.0.1.*" and rotated automatically. The messages are one-liners. - The "polling" command line option is an integer now - the polling frequency in seconds. - The memory footprint is reduced. The release also includes various performance improvements. **Bug fixes** - A bug was fixed where the miner won't log the "[Stage 3/3]" message about the confirmed mined blocks. **Upgrade instructions** N.2.4.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.4.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.4.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.
Release 2.3.0.0 This release introduces a hard fork that activates at height 591140, approximately 2020-12-21 11:00 UTC. You will need to make sure you have upgraded your miner before this time in order to connect to the 2.3 network. Most of the work put into this release is preparation for SPoRA - the new consensus mechanism. **New features and improvements** * The difficulty of mining on alternative recall chunks grows linearly as a function of the alternative sequence number. It follows the pattern applied in SPoRA. [Link.](ArweaveTeam@ea4955d) * A `sync_jobs` configuration parameter is added to control the intensity of data syncing. The node now runs two jobs by default. Consider increasing it on the new nodes and decreasing once you replicate the desired amount of data. * Block application is [reworked](ArweaveTeam@93323da). The new version maintains a cache of uncle blocks to efficiently validate the work component of a block for the fast and DoS-resistant block propagation in the network. The update is especially relevant for validating blocks that are not on top of the longest chain currently known to the node. * The data of v1 transactions is moved to the new [index](ArweaveTeam@60de0fc). The planned consensus mechanism incentivizes fast random access to past data. Therefore, it is crucial to have quick access to the historical v1 data. * The benchmark [is made more representative by running a node](ArweaveTeam@65e6ac6). Run it via `./bin/benchmark`. * The node [can run under limited disk space now](ArweaveTeam@d7d6e9f). Once there is little available space left, the node stops syncing data and begins cleaning up older headers to free up space for the new block and transaction headers. * The transaction blacklist [is reworked](ArweaveTeam@f9ee427). The new blacklist is more scalable, supports v2 data, allows to fetch blacklisted transactions from external sources, and automatically removes already stored blacklisted data. Additionally, the change introduces a whitelist. * The v2 chunk data is migrated from the individual files to RocksDB, see the [commit](ArweaveTeam@8c1fb73) for more details. **Bug fixes** * A bug is fixed where the node would never attempt to sync a historical transaction if it crashed right after syncing the corresponding block header. * A bug where the node would not send new blocks to the configured webhooks is [fixed](ArweaveTeam@82ba60f). * The broken requests_per_minute flag [works again](ArweaveTeam@82ba60f). **Upgrade instructions** N.2.3.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.3.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.3.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.
Release 2.2.0.0 This release introduces a hard fork that activates at height 552180, approximately 2020-10-21 13:00 UTC. You will need to make sure you have upgraded your miner before this time in order to connect to the 2.2 network. The core of this release is an update to the protocol that allows to efficiently incorporate an arbitrarily big number of wallets in the weave. The changes makes block processing times grow very slowly and only up to a hard cap with the growing number of wallets. For details, see [the commit description](ArweaveTeam@748dd28). The release also changes the wallet generation fee. Starting from the block 552180, an extra fee for a new wallet is 0.1$ according to the AR to USD exchange rate estimated by the protocol at the given block. Additionally, the release includes a significant improvement of the internal state management, decreasing request latencies and memory footprint and increasing the hashing power. See [the commit](ArweaveTeam@0555292) fore more info. A new `GET /wallet_list/[root_hash]/[addr]/balance` endpoint is added. The endpoint allows to lookup wallet balances with a certain number of confirmations. `root_hash` is the Merkle root of the wallet tree corresponding to a block (the `wallet_list` field), `addr` is a wallet address. Finally, [a change](ArweaveTeam@ff8f5b5) is introduced to make nodes that missed transactions included in a block catch up faster. **Upgrade instructions** N.2.2.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.2.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.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 team@arweave.org.
Release 2.1.0.2 This release provides a few patches and improvements. * A randomx_bulk_hashing_iterations configuration parameter is introduced - tweaking it allows increasing the mining performance on powerful CPUs significantly. * The memory pool is now persisted before shutdown and loaded on startup so pending transactions do not get lost on restart increasing the joining speed and decreasing the chance the data attached to v2 transaction headers gets lost when poorly seeded. * The data attached to v2 transaction headers is propagated to the trusted peers to increase the initial seeding coverage. * A bug is fixed where RocksDB may not have sufficient time to shut down. * A bug is fixed, which would delay the network joining by 30 seconds. * An improvement is made, which relaxes the bandwidth requirements on network join. **Upgrade instructions** N.2.1.0.2 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.2.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](https://docs.arweave.org/info/mining/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.2 ``` 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.
Release 2.1.0.1 This release provides a few patches and improvements. **Bug fixes** This release fixes [several bugs](https://github.com/ArweaveTeam/arweave/pull/244/commits), one from 2.1.0.0, another one from long ago, which does not have any negative side effects apart from producing a lot of error logs, mostly from the 2.1.0.0 bug. Also [fixed](ArweaveTeam@7638205) an issue which could make the node crash with a segmentation fault if RocksDB got corrupted. If you experience that, please start the miner with `enable automatic_rocksdb_repair`. **The ArQL tag index is now off by default** See the [commit description](ArweaveTeam@788a42f) for some explanation. **Upgrade instructions** N.2.1.0.1 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.1.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](https://docs.arweave.org/info/mining/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.1 ``` 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.
Release 2.1 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](https://docs.arweave.org/info/mining/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.
Release 2.0.0.4 The release includes a bugfix, a new HTTP client, and an improvement. **A new HTTP client** The new client allows to strictly control how much data is downloaded and fetches big blobs of data more efficiently. **A bugfix** A bug is fixed which prevented fresh nodes from joining the network. **An improvement** Accepting data from peers is made more efficient. **Upgrade instructions** N.2.0.0.4 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.4.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](https://docs.arweave.org/info/mining/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 (*note the submodule update and the cleaning step*): ``` git fetch --all --tags && git checkout -f N.2.0.0.4 ``` 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.
Release 2.0.0.3 The release includes a bugfix, a cleanup made after the transition to 2.0, and support for specifying peers via DNS in the command line. **DNS peers** You can now use domain names of your trusted peers on startup. E.g. to use the Arweave peers, you may specify ``` peer sfo-1.na-west-1.arweave.net peer nyc-1.na-east-1.arweave.net peer tor-1.na-east-2.arweave.net peer ams-1.eu-central-1.arweave.net ``` **A post-2.0 cleanup** There are changes to the miner's bookkeeping, which reduce the memory footprint and increase the reliability of the miner. **A bugfix** A bug was fixed which caused nodes under some very specific conditions to get stuck recovering from a fork. ** Upgrade instructions ** N.2.0.0.3 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.3.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](https://docs.arweave.org/info/mining/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.0.0.3 ``` 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.
PreviousNext