Skip to content

Release N.1.8.0.0

Compare
Choose a tag to compare
@ldmberman ldmberman released this 21 Aug 14:46
· 951 commits to master since this release
The release comes with a hard fork which activates on 2019-08-29 approximately at 14:00 CET.

**New features in the release:**

1. Multiple transactions per wallet per block.

After the fork, multiple transactions made from the same wallet can be posted to a node and included into one or more subsequent blocks.

The client-side support (JS SDK, arweave-deploy, browser extensions) is coming soon. In case you want to prepare transactions yourself, query the new GET /tx_anchor endpoint and put the result into the last_tx field of your transaction. You can use the same "anchor" for multiple transactions. Until the fork activates, there is still a limitation of one transaction per wallet per block. For backward-compatibility reasons, we are keeping support for the old way of building transactions using the last transaction of the wallet for last_tx. Subsequently, the current apps continue functioning. Note though that only one transaction built the old way per wallet per block is included into the block, even after the fork.

2. Transaction data size limit has increased to 10 MB.

3. Linear difficulty.

Effective from the first block after the fork, the network difficulty is a number the hash must be greater than. `2 ** 256 / (2 ** 256 - Diff)` is an average number of hashes one needs to try to mine a block. The new format allows us to do smooth increments and decrements of the difficulty, proportional to the ratio of the actual time to the target time. As a result, block time becomes more stable.

**Bugfixes and improvements:**

1. The performance of transaction verification was improved to account for the increase in the expected number and data volume of transactions.
2. The GET /wallet/[Addr]/txs(/[EarliestTX) endpoint is now based on the ArQL index and works much faster for the wallets with many transactions.
3. The POST /arql endpoint returns results sorted. arweave.net nodes have been already running this for a while.
4. There are updates to the pooling mechanics.
5. Various reliability improvements were made to ensure smooth node operation.

**Upgrade instructions:**

1. Shut down arweave-server. To make sure the shutdown was successful, run `ps aux | grep beam | grep -v grep`. The output should be empty.
2. Run `git fetch --all --tags && git checkout N.1.8.0.0 && git reset --hard N.1.8.0.0`
3. Start arweave-server again with the same arguments as before.

For more details on how to run the 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 https://discord.gg/bC5W2T or email us on team@arweave.org.