Skip to content

Releases: wavesplatform/Waves

Version 1.2.2 (Stagenet)

27 Jan 15:33
99106a2
Compare
Choose a tag to compare
Pre-release

In this release

This is a maintenance release which changes the way VRF is used in block consensus validation. The changes it introduces are not compatible with previous 1.2.x releases, so the blockchain has been rolled back to height 264700. You will also need to re-import blockchain when updating your node.

Other notable changes:

  • For v5 blocks VRF is now accessible in RIDE's BlockInfo structure, as well as in REST API
  • Order v4 price calculation rules have changed

SHA256 Checksums

d81861c0be17b49fa4944a9ef0a9a286c8e453a96b64a67f29d427ffcd1a7778  grpc-server-stagenet-1.2.2.tgz
be8e8a83d39fc1396d80051714cfcc05d91a8e8a6f74461b56abc6e51035023a  grpc-server-stagenet_1.2.2_all.deb
dc4f51cf397a2daea9c3524f74c56050659bd437ad18d72a6bcdb1590fe4c341  waves-all-1.2.2.jar
14c86deb02eac62aecb1f8f69d2c18b1d98e5411ca23187f286507e6e0b5e8e1  waves-stagenet_1.2.2_all.deb

Version 1.1.7 (Mainnet + Testnet)

16 Jan 10:53
21270fb
Compare
Choose a tag to compare

In this release

This release contains an important fix and is highly recommended for all miners and those who broadcast transactions via their node's REST API. However, it does not contain any consensus changes, so it is not required to update your node. There's no need to rebuild state when upgrading from 1.x.

UTX Synchronization Fix

This release fixes an issue with unconfirmed transaction synchronizer, which sometimes caused the node not to include any transactions or include little amount of transactions in the blocks it forges. Most of the recent empty blocks on the blockchain were caused by this issue.

REST API Improvements

  • the above issue also caused sporadic "Error is unknown" errors when broadcasting transactions via REST API. Since the root issue has been fixed, transaction broadcast reliability should improve
  • Swagger documentation for /transactions/status method has been fixed, which makes it usable via the web interface.

SHA256 Checksums

fa4024802a0655a425fe3a5ed7f3bae5dc9db694c307f39d5a3ad097ebd7f75f  grpc-server-1.1.7.tgz
661278946f929b76f89391bc367cd32a9e691661672217f5ecff4d15e0d1115d  grpc-server-testnet-1.1.7.tgz
f558a5ab524efb1adbb936e2e30b91b9b21f99257920beb0776a5aabb3a1ee37  grpc-server-testnet_1.1.7_all.deb
81e3d71d65111bdacce36513dfbe8bb0db42264ddef62ae56cc21d85eda81a75  grpc-server_1.1.7_all.deb
8194570393ed531721e66a5a99097e52f9e2505ec9ea0bef6a795744e28935a3  waves-all-1.1.7.jar
a1bc494f122464bd77ce2267354344405e05997ac9d850ff12947985078e794b  waves-testnet_1.1.7_all.deb
dc10ee35a1403a2df3422c3bb866cc4e7b63006c2d53bc32c2a77e9fac02e2b8  waves_1.1.7_all.deb

Version 1.2.1 (Stagenet)

27 Dec 15:31
2741634
Compare
Choose a tag to compare
Pre-release

Note. This release is for Stagenet only

In this release

This release contains several important improvements:

  • Fixed microblock exchange between peers.
  • Custom networks launching with pre-activated BlockV5 feature no longer stall after the first block had been generated.
  • Fixed script and function call serialization in new transactions.

Due to changes in InvokeScriptTransaction serialization, stagenet blockchain has been reset to height 245781. Please re-import blockchain from file.

SHA256 Checksums

f6c69a4cb9a5cdfdcf3e2e500ef5cd83754dda376facabbfffbf5c9427f2f998  grpc-server-stagenet-1.2.1.tgz
e4cf7344ec9f8070558e0c982ea50f32d6312280a89c30661cc8f7d1607584f8  grpc-server-stagenet_1.2.1_all.deb
8ae6f4e4324fac69244c7bce5b7d317f06036b2286a4ab298da611e9e2ceb62a  waves-all-1.2.1.jar
63c73158f67b6c50a0894946ccd58be8413f79b31d37f2dfa58ebcea71c215f7  waves-stagenet_1.2.1_all.deb

Version 1.1.6 (Mainnet + Testnet)

20 Dec 14:57
a2fbf65
Compare
Choose a tag to compare

In this release

This is a mandatory release, as it contains several security fixes, as well as other improvements. However, there's no need to rebuild state when upgrading from 1.x.

UTX Pool Improvements

  • Invoke script transactions count towards size limit. waves.utx.max-scripted-size is set to 5000 by default.
  • To reduce the amount of logs the node produces under heavy load, execution traces are no longer written to waves.log by default. If you need the traces, define logback.utx-trace.enabled system property either in application.ini, on the command line or in logback.xml to save traces to utx-trace.log. Also waves.log is now rotated when size limit is reached (100 mb by default), in addition to daily rotation.
  • When microblock is appended, transactions it contains are removed from pessimistic portfolio.

Miner Improvements

  • To improve mining performance, the miner packs unconfirmed transactions in several passes. This ensures that non-scripted transactions are included in the microblock even when scripted transactions pool size limit is reached.
  • Default waves.miner.min-micro-block-age has been reduced from 6 seconds to 4 seconds. This will likely reduce the number of orphaned transactions during microforks.

API Changes

  • New API has been added which allows requesting transaction statuses in batches. It supports both GET and POST methods:
  GET /transactions/status?id=3qsBVPVRzyfityEo4cpL6ZyAZdXyJ5YQfR2vSeRbvxNy&id=CyvroiVc46ekEtVksmWndS99QSgddMEJozArXEHqKP5r
  POST /transactions/status {"ids": ["3qsBVPVRzyfityEo4cpL6ZyAZdXyJ5YQfR2vSeRbvxNy", "CyvroiVc46ekEtVksmWndS99QSgddMEJozArXEHqKP5r"]

See documentation for more info.

  • The node can now render numbers which can potentially have large significand (e.g. balances, amounts, quantites etc.) as strings. To request custom JSON serialization, clients must include the following header in their requests:
  Accept: application/json;large-significand-format=string

See documentation for more info.

  • Transactions for address from liquid block are returned in the same order as they were mined.
  • Fix callable functions arguments types fetching via /addresses/scriptInfo/{address}/meta.
  • Fix decompilation of native function names.
  • Add optional receiving of script result trace on transaction broadcast by specifying additional trace=yes parameter.
  • Fixed an issue where the node API returned incorrect generating balance

Misc Improvements

  • Importer/Exporter shut down gracefully even when metrics are enabled
  • Reduced systemd stop timeout
  • Improved locking mechanism

SHA256 Checksums

ce795f969c2dc2015ef0edc1d80a89e30803a17bb6352260655b1bd4f2ed1dd4  grpc-server-1.1.6.tgz
8b5957df32e744c41e3b72aeadabbd652fa38ecc128db1093f59134805aa1da6  grpc-server-testnet-1.1.6.tgz
611906590a0396679fc79bb76c4e79169486bdd4ece36d3ee7fbecad1d9381c9  grpc-server-testnet_1.1.6_all.deb
0dd991caa0af2f4d165544f4c0fb091652aa62c48738d95890b530745c719f8c  grpc-server_1.1.6_all.deb
c6cbee4b206bbc796b597f6f5d991373825469d20fae63a7662e37b51aba9eb4  waves-all-1.1.6.jar
f9d30a2ea6e7ef9c1f184f3ea4cc5449d4ec8746ef2fcae1f0894f7484af91f0  waves-testnet_1.1.6_all.deb
7858bcd075c3901ca0f3c684d977bae41dd1af10ff4ae841123d9a4d9a2d1651  waves_1.1.6_all.deb

Version 1.2.0 (Stagenet)

11 Dec 08:01
05ff528
Compare
Choose a tag to compare
Pre-release

Attention! This release is for stagenet only! Not for mainnet/testnet.

In this release

Node improvements

  • Improved block generation signature by implementing VRF (A Verifiable Random Function with Short Proofs and Keys). VRF is a pseudo-random function that uses a message and the private key of an account to provide a non-interactively verifiable proof for the correctness of its output. The use of VRF makes signature generation unpredictable because of the need to know the private key for calculation.
  • Added MerkleRootHash of block's transactions to the header, so that now it is sufficient to sign only the block header. Earlier, the miner node signed each block's transactions and its header. Read more about block generation.
  • Implemented account data storage records deletion by data transaction.
  • Implemented update asset info transaction. Now users can update names and descriptions of their issued assets.
  • Reduced the minimum transaction fee for reissue transaction from 1 to 0.001 WAVES.

Internal storage structure has changed in this release. You will need to rebuild the state.

REST API updates

  • GET /assets/details/{assetId} returns issued/reissued/burnt asset details. This endpoint also accepts multiple asset IDs.
  • GET /assets/nft/{address}/limit/{limit} returns assetDetails array of NFT assets which belong to address.
  • GET /transactions/merkleProof?id=some1&id=some2 returns merkle proofs for requested transactions.

Ride improvements

  • Issued fourth version of the Ride standard library.
  • Added built-in math median function. The function calculates the median of a list of integers.
  • Added DeleteEntry structure for implementing the deletion of records in the account data storage.
  • Implemented feature of using of issue, reissue and burn transactions in dApps.
  • Divided DataEntry structure on following structures:
    • BinaryEntry structure. The structure implements a binary data record of the account data storage.
    • BooleanEntry structure. The structure implements a boolean data record of the account data storage.
    • IntegerEntry structure. The structure implements an integer data record of the account data storage.
    • StringEntry structure. The structure implements a string data record of the account data storage.
  • Implemented processing in dApp up to two payments attached to invoke script transaction.
  • Added built-in zero-knowledge proof verifier function groth16verify
  • Added convenient option value handling function valueOrElse

SHA256 Checksums

13c63f89a47751823ef76bc778b55b2c385af4e90ff36f361cdfc2cb9f79c763  grpc-server-stagenet-1.2.0.tgz
80b9909d0d54fb668bec450354b3a27d432feda33b2da30a52c1bb3a426569c1  grpc-server-stagenet_1.2.0_all.deb
50db7a2908c37de2ee0b45712f9154f13310b2ef6beb547200a141668f227571  waves-all-1.2.0.jar
b2d528beea4d0de151a2e6b4465c2a31ad13b623171f0561899ca7f91c66b24d  waves-stagenet_1.2.0_all.deb

Version 1.1.5 (Mainnet + Testnet + Stagenet)

28 Oct 15:30
Compare
Choose a tag to compare

Security Fix

This release contains a security fix which has been released with version 1.1.4. The only difference is that this release is built from github sources after the fix had been published. If you have already updated to 1.1.4, you can skip this release. However, if you have not updated yet, make sure to update both the node and gRPC server extension to 1.1.5.

An issue in gRPC server extension allowed signing transactions with node's private key via gRPC without requiring API key (or any other authentication token). This issue only affects the nodes which expose gRPC interface to a third party (by default, the server binds to local address only). The method has been disabled in the extension, it will respond with NOT_IMPLEMENTED to all requests. We might re-enable this method when we find a viable gRPC equivalent of an API key.

Node Improvements

  • Improved /addresses/data/{address} now accepts the list of keys to retrieve values for. These keys can be specified as:
    • repeated query params in a GET request: key=first_key&key=second_key
    • JSON object with the keys field in a POST body: {"keys": ["first_key", "second_key"]}
    • multipart/form-data or application/x-www-form-urlencoded in a POST body.
      Please note that appropriate content types and param encoding is required.
  • A hard time limit has been imposed on UTX transaction validation duration. All transactions which are received from network or API and take longer than 5 seconds to validate are rejected. This rule is not a part of consensus and only affects unconfirmed transactions.
  • NFT list API endpoint has been fixed to return only tokens which are currently in posession of the specified address
  • Smart contract execution has been sped up thanks to Waves context reuse
  • gRPC Server can now be built on Windows hosts
  • Posting account data via /addresses/data has been deprecated and will be removed in one of the future releases. Please explicitly broadcast signed Data Transactions by POSTing to /transactions/broadcast instead.

Update Notes

If you are running version 1.1.4, you may skip this release, because it has been built from the same source. Also there's no need to rebuild state if you are updating from 1.1.3. Please make sure to update both the node and gRPC server extension.

SHA256 Checksums

c01c126577dc15c2446b93f3b02c0b4b8f38f52bfa59cabcd24b7d8c9993640d  grpc-server-1.1.5.tgz
f76a73d737ce05dbeaa7e9708ea56908311d3939cad457fadfd99a8f150127f9  grpc-server-stagenet-1.1.5.tgz
73e610d2156ffa3f19844985ac14ae0b5114c7dcb7bd70d9e6a57a0e23488cfb  grpc-server-stagenet_1.1.5_all.deb
602e60a3579b3678cff5a71d9c4bca7b86879e02c70e1edb42cab024cb402746  grpc-server-testnet-1.1.5.tgz
233fb007d5fb3178c66993e051f0c04fc27e8582e16e0ee6be9fe937cfe9eb10  grpc-server-testnet_1.1.5_all.deb
9b186c450aecad9aaad8a7b74bb716f14508053a0e62aa4062daf815e8442b90  grpc-server_1.1.5_all.deb
1ddea4c72e512f71feb2c70b3aee286c4a0ff66126214c7c49f43e617add1240  waves-all-1.1.5.jar
9503d8e739c42402796920adedc448074d17c22f04ff4e8ddfcba9bfcfbdfbbf  waves-stagenet_1.1.5_all.deb
2edffbcf3441cd2d9a25ae2d3a45e924037f624a451273d45c53d05be0769bb7  waves-testnet_1.1.5_all.deb
a2d81613d98f733aa5c41167719f21a211ba8f64f97bca3f2e958eff6f365da9  waves_1.1.5_all.deb

Version 1.1.4 (Mainnet + Testnet + Stagenet)

24 Oct 15:23
Compare
Choose a tag to compare

This release has been superseded by v1.1.5

Node Improvements

  • Improved /addresses/data/{address} now accepts the list of keys to retrieve values for. These keys can be specified as:
    • repeated query params in a GET request: key=first_key&key=second_key
    • JSON object with the keys field in a POST body: {"keys": ["first_key", "second_key"]}
    • multipart/form-data or application/x-www-form-urlencoded in a POST body.
      Please note that appropriate content types and param encoding is required.
  • A hard time limit has been imposed on UTX transaction validation duration. All transactions which are received from network or API and take longer than 5 seconds to validate are rejected. This rule is not a part of consensus and only affects unconfirmed transactions.
  • NFT list API endpoint has been fixed to return only tokens which are currently in posession of the specified address
  • Smart contract execution has been sped up thanks to Waves context reuse
  • gRPC Server can now be built on Windows hosts
  • Posting account data via /addresses/data has been deprecated and will be removed in one of the future releases. Please explicitly broadcast signed Data Transactions by POSTing to /transactions/broadcast instead.

Security Fix

This release fixes a security issue. If you have gRPC Server extension installed, please make sure to update it along with the node.

To avoid premature disclosure and allow some time for node owners to update, we will publish the fix to github on Monday, October 28 at 13:00 UTC. Binaries for this release were built from our private repo.

Update: the fix has been published and released as v1.1.5

Update Notes

There's no need to rebuild state if you are updating from 1.1.3.

SHA256 Checksums

7f04b4c47aebbe1f929bc34484cb759617d52fbde93603b2cc32229fa33f0cb7  grpc-server-1.1.4.tgz
f0932785b74d79dcb7fd924796909dc240a91f74eb01fba90303f86be1fe85ff  grpc-server-stagenet-1.1.4.tgz
8896a2c979f3475cf7ca3c64b4e741529e32fc56a43880cc311e13f31558378a  grpc-server-stagenet_1.1.4_all.deb
d56d04998504b8175e2b98cfcf169317ba0dbd439467a97fdbf577cb902cb6bf  grpc-server-testnet-1.1.4.tgz
35e68d9552ace23a9e714b225792b9fddab5532f3cc6b718955890393fa4ab75  grpc-server-testnet_1.1.4_all.deb
b3dd664e1e4fab9f0a0746e15d3d3aa1264b0c9f150b78adfd3ee51d1558d5b6  grpc-server_1.1.4_all.deb
a956535c39437168c7e04e8a2498abb3627caac437b1f1cbb6050e7382cc0b5d  waves-all-1.1.4.jar
5f1368913e2c105591569b0b39c8470feb2e3dc6fbaaf9aa5581af3c80476dd6  waves-stagenet_1.1.4_all.deb
035feb9f273913cb65cf760eabfeeaeb5611773cc88b6c0a79997d7bac9daa72  waves-testnet_1.1.4_all.deb
397ab384b0d51f250c963afb99590cea2565265e6e14d9b87c66e8e1f0d444d5  waves_1.1.4_all.deb

Version 1.1.3 (Mainnet + Testnet + Stagenet)

14 Oct 10:14
2e9143d
Compare
Choose a tag to compare

This is an optional release, however, we encourage all miners to update their nodes to improve miner performance.

In This Release

  • Reduced the amount of empty blocks.
    Miner will continue mining microblocks even when UTX pool temporarily becomes empty after all transactions had been removed due to validation errors.
  • All DB-related errors are treated as fatal and cause the node process to be terminated (see below).
  • Fixed an issue when Explorer, Importer and Exporter never exited when metrics were enabled.

Known Issues

In some cases DB-related errors (e.g. writes failures caused by the lack of free space) were silently discarded by prior node versions, which made it appear as though the node has forked from the rest of the network for no apparent reason. This release introduces some additional tweaks to make these errors more apparent. If your node stops with exit code 74, please file a bug.

Update Notes

There's no need to rebuild state if you are updating from 1.1.2.

SHA256 Checksums

5e3ca8a951e8e9bb52616ff3b62c123e2d213a4e4baa3b460f47f50a7f174adf  grpc-server-1.1.3.tgz
334073565a84c50ef9e0ac4316e4d8f0addc733d72ecf700c5e22766ff9e7e04  grpc-server-stagenet-1.1.3.tgz
dc16bd133dec0a7138d4d5e7149c033d309f827be2467c93203277db82a3b5ed  grpc-server-stagenet_1.1.3_all.deb
3dc9070cd2e9e772d4dabe36c45c1b926a1849ded62ceeb2b832a5b49d47de8c  grpc-server-testnet-1.1.3.tgz
ca0e0e2bd02d2dfb8e2778c5503d7351509e8acd31d867e37d64dd7efe7befe2  grpc-server-testnet_1.1.3_all.deb
c7a0a99c6af97718815009cabae3d165f22ed2859193f625b5bef5468a71e85b  grpc-server_1.1.3_all.deb
6ac9777dd3da8f9bfed56f07dbaaff12f32b1e08f7ec24c9be459def3abc7e4e  waves-all-1.1.3.jar
dfa9112db6792724ebffeac0ef5d0b71d2af597891af7683fff34f7cb17f99d2  waves-stagenet_1.1.3_all.deb
31195fb3e8959f8c004fae3c41fe04a3b23e77b774dcc70c52620b186f2d9b89  waves-testnet_1.1.3_all.deb
3816001dd2e49633db3fc48dcf5dcf725f6512e4444f825b785af6f549c2deff  waves_1.1.3_all.deb

Version 1.1.2 (Mainnet + Testnet + Stagenet)

19 Sep 13:16
ff4bc32
Compare
Choose a tag to compare

In This Release

Stagenet

In order to test new functionality without affecting projects on the testnet we represent new blockchain — stagenet. The testnet from now on becomes stable. The Waves testnet and mainnet will have the same versions and will be updated simultaneously. There is a separate .deb file for the stagenet in the release artifacts.

Please join the stagenet as a miner!

WEP 4: Block Reward and Community Driven Monetary Policy

Generators will receive additional WAVES with each generated block. The amount of the reward will be regulated by miners’ voting. WEP 4 is published here.

BlockReward is implemented as Feature 14. Please vote!

RIDE improvements

  • Fixed complexity estimator returning incorrect values in some cases
  • Decompiler improvements
  • Callable function signatures exposed via REST API at /utils/script/meta and /addresses/scriptInfo/{address}/meta.

Node updates

  • Protobuf schemas have moved to a dedicated repository, which also includes instructions on how to add them to your project. This release also includes numerous fixes and improvements in gRPC server extension.
  • Added support for Java 11.
  • As long as there are no established connections to other peers, the node will more aggressively attempt to establish a new connection, which should improve the startup process.
  • When DEB package is reinstalled during updates, the Node process will be restarted automatically.
  • The node will stop on a disk-related exception (e.g. when there's no space left on the device)
  • Due to scheduling issues, previous node versions could mine microblocks less often than specified in miner config. This is no longer the case: this version improves mining accuracy ensuring that microblocks are mined as often as specified.

REST API changes

  • API key which was previously used for all networks by default has been removed from default configuration files and banned from use. If you rely on API key protected methods, read the docs to find out how to adjust your node's configuration.
  • /assets/broadcast/* routes have been removed for good. They have been hidden from Swagger for a long time, and now their time has come. Please use /transactions/broadcast instead.

Update Notes

There's no need to rebuild state when updating from v1.0.2.

Docker image

From now on, node releases will be published to Docker Hub. Read more about running a container here.

APT repository

We are now providing an APT repository to make it easier for node operators to install and update their deployments. The repo provides mainnet, testnet and stagenet packages. To install the latest version of a package for mainnet from the repo, run the following commands:

curl -sL http://apt.wavesplatform.com/apt-key.gpg | sudo apt-key add -
add-apt-repository "deb https://apt.wavesplatform.com/ xenial mainnet"
apt update
apt install waves

Note: don't worry about the 'xenial' part in the repo name: Waves package should work on Debian jessie+, Ubuntu xenial+, and their forks.
Note: If this is a fresh install, APT will also pull all required dependencies (namely OpenJDK 8). Once the new version is released, you can easily update the package:

apt update 
apt upgrade

SHA256 Checksums

ef52f2e2e6aeba7750ff9187e48029fa77c08024cf06a09a08e364410e07c8a3  grpc-server-1.1.2.tgz
1b3b8c50785f8b6daca96e25888f2cbd5bafe0011057e35174861b200d9ce2c5  grpc-server-stagenet-1.1.2.tgz
4f65e37701b8e195b8bb20a1d69829c1cea20267c4f22938f174609e0925ddfa  grpc-server-stagenet_1.1.2_all.deb
23cc50f81a5e25c385ea0ab6fcf6fda1af3b1e3fb7a517f45aaeb2032b604e21  grpc-server-testnet-1.1.2.tgz
c85ebd352313f171a3ac77b5daf4dd401ee27cab42a8fba7b68f10d8d53309e6  grpc-server-testnet_1.1.2_all.deb
61a3ce6bf46d7dd3844b47ad7828c1ea2468345eeb7af1a997e1a42b7df60f1a  grpc-server_1.1.2_all.deb
bc3dcd6744945d14bb16e3b0e663238d8a12d33d77aa304902dc67952cabebf8  waves-all-1.1.2.jar
0dbd0ecaf9dad1c04ffd75c3840c3d3df2e1a1aa30646838f1cafbe7940d4494  waves-stagenet_1.1.2_all.deb
e7e1c51db6dd618798871ceef7358b8384d5077368d931f516a6ecb13005231d  waves-testnet_1.1.2_all.deb
bd042183ee1bae1d69170602bdb2471cc267611787cfb31bd87082ed2435c938  waves_1.1.2_all.deb

Version 1.1.1 (Stagenet)

17 Sep 10:02
6537360
Compare
Choose a tag to compare
Pre-release

In this release

  • Fixed several issues with Block Reward feature. Unfortunately, if you are updating from v1.1.0, you will have to manually rebuild the state.
  • Minor improvements and performance optimisations in complexity Estimator
  • Callable function signatures can be directly received by account address at /addresses/scriptInfo/{address}/meta

For more information on 1.1.x series, see 1.1.0 release notes.

SHA256 Checksums

7a5e6b892233cfcbf828b56bf30d76f0acb1fba3702bc217ce8f7d5f54eba50e  grpc-server-stagenet-1.1.1.tgz
3167fd74227dab1f8b058ee71c3aac59a5551cfc0057a873f593504753c0c93f  grpc-server-stagenet_1.1.1_all.deb
0d4c0293c84ec2a9e687f0a96d9860f94e3ab55ca4cdb9ebea0028ffda54673a  waves-all-1.1.1.jar
281ef7e3068eeb445ced9d80f36e15d0bc0a9b691f34863d23e4decb723ace51  waves-stagenet_1.1.1_all.deb