8000 Tags · AndyChenW/arweave · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: AndyChenW/arweave

Tags

stable

Toggle stable's commit message
Bump release number 45, 2.4.0.0, schedule fork 2.4

N.2.4.0.0

Toggle N.2.4.0.0's commit message
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 "[
8000
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.

N.2.3.0.0

Toggle N.2.3.0.0's commit message
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.

N.2.2.0.0

Toggle N.2.2.0.0's commit message
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.

N.2.1.0.2

Toggle N.2.1.0.2's commit message
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.

N.2.1.0.1

Toggle N.2.1.0.1's commit message
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.

N.2.1.0.0

Toggle N.2.1.0.0's commit message
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.

N.2.0.0.4

Toggle N.2.0.0.4's commit message
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.

N.2.0.0.3

Toggle N.2.0.0.3's commit message
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.

N.2.0.0.2

Toggle N.2.0.0.2's commit message
Release 2.0.0.2

The release includes a bugfix, a major performance optimization, and a script for removing old wallet lists.

**A performance optimization**

After the 2.0 upgrade, some nodes were noticed to spend significant amount of time decoding recall data encoded in Base64URL and consequently lag behind.

The release introduces a new Base64URL decoding library, which is more than 20x faster than the previous one.

**A script for removing old wallet lists**

Starting from the version 2.0, the wallet lists are no longer required for block syncing and recall block verification. Therefore, the node will not download them again after removal. This allows to clean up a lot of disk space.

**A syncing bugfix**

A bug is fixed which prevented the v2 transaction data from syncing in a timely manner. The tooling for posting v2 transactions has not been published yet, so the bug had a mild effect on the network.

**Upgrade instructions**

N.2.0.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.0.0.2.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 (*note the submodule update and the cleaning step*):

```
git fetch --all --tags && git checkout -f N.2.0.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.
0