Skip to content

Releases: wavesplatform/Waves

Version 1.5.0 (Stagenet)

09 Oct 12:23
dbd8b10
Compare
Choose a tag to compare
Pre-release

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

In this release

This release introduces the new Light Node operation mode which greatly reduces CPU usage during block processing, as well as lays the groundwork for the upcoming Waves 2.0 release. RocksDB is now used instead of LevelDB, and the storage structure has been updated to take advantage of RocksDB's improvements and optimizations.

Protocol Enhancements

  • A block generator distributes state snapshots to the blockchain network, along with the key block and microblocks. Snapshots contain changes of blockchain state, including balances, entries of account data storages, assigned scripts, token parameters, etc., resulting from transactions added to the block. See the docs for more information about the Waves 1.5 protocol.
  • If a generating node discovers a discrepancy between a received snapshot and a block, the node can challenge the block and receive a reward instead of the original generator.
  • Other nodes get the option to operate in the light mode, sequentially applying ready-made state snapshots without performing transaction validation, and thus significantly speed up block processing. The light mode is enabled and disabled with the waves.enable-light-mode setting (no by default).
  • Added to the block header:
    • state_hash field containing the root state hash for the block,
    • challenged_header message containing header fields of the block being challenged by the current block.
  • Added the attachment field to an order as part of an Exchange transaction.

Ride

  • Released version 8 of the Standard Library.
  • Added built-in functions:
    • replaceByIndex — replaces an element in the list by index.
    • calculateDelay — calculates the time delay before generating a block.
  • Added the attachment field to the Order structure.
  • Disabled the ability to assign scripts, which use Standard Library versions 1-3, to accounts and assets. Previously installed scripts continue to operate.

Node REST API

  • Added fields stateHash and challengedHeader to the response of endpoints returning a block or block header.

  • Added fields order1.attachment and order2.attachment to the response of endpoints returning transactions, as part of an Exchange transaction.

  • Added the value elided for the field applicationStatus for transactions of any type that have become invalid as a result of a block challenge.

  • Removed deprecated API routes
    • /debug/stateChanges/address/{address}/limit/{limit}
    • /debug/stateChanges/info/{id}
    • /debug/rollback-to/{id}
    • /assets/broadcast/*
    • /assets/[transfer,masstransfer,…]
    • /alias/broadcast/create
    • /alias/create
    • /leasing/lease
    • /leasing/cancel
    • /leasing/broadcast/*
    • /assets/{assetId}/distribution
    • POST /addresses/data
    • /blocks/signature
    • /utils/script/compile
    • /addresses/verify/{address}
    • /addresses/sign/{address}
    • /addresses/verifyText/{address}
    • /addresses/signText/{address}
    • /blocks/first

Activation

To activate the improvements listed above, vote for feature #22 Light Node.

Update Notes

Please re-import the blockhain from scratch when updating from 1.4.

SHA256 Checksums

710e0d69bda5bc7171cd10ed22200f367c3df060790e1d3486cf92bd5f932e8b  waves-grpc-server-stagenet_1.5.0_all.deb
1d9864fb55397f2bbfe855c75c045cb8413ac1a120c8b409c03fbd6f587e2e9c  waves-stagenet_1.5.0_all.deb
8bb32cd74a7202de0d8ca8139879afa8e54683575b26361b11fcda6dc10c9808  waves-all-1.5.0.jar
de1ee83c07db9365abd9c29dee46debac0d330a87de252458f0d1c86ef30e790  waves-grpc-server-1.5.0.tgz

Version 1.4.18 (Mainnet + Testnet + Stagenet)

12 Jun 12:31
6809792
Compare
Choose a tag to compare

In this release

This is a mandatory release for all nodes. You need to update your Mainnet node before the new features are activated.

Protocol Enhancements

This release adjusts block reward distribution introduced with feature #​19 "Block Reward Distribution". The design of these features is based on the extensive feedback provided by the community members.

Feature #​20 "Capped XTN buy-back & DAO amounts".

The following changes will only take effect if feature #​19 has been activated.

  • Waves DAO and XTN buy-back reward amounts are capped at 2 waves, e.g. if the community votes to increase block reward to 6.5 waves, block miners would receive 2.5 waves and Waves DAO and XTN buy-back addresses would receive 2 waves each.
  • Block reward term is decreased from 100000 blocks to 50000 on Mainnet, Testnet and Stagenet. For custom networks, a new parameter term-after-capped-reward-feature has been added to Reward Settings.

Feature #​21 "Cease XTN buy-back"

Once activated, the XTN buy-back address will no longer receive its reward share, if feature #​19 had been activated more than X blocks ago (X is 100000 on Mainnet, 2000 on Testnet and 1000 on Stagenet). Waves DAO address would still receive at most 2 waves, with the rest of the reward going to the miner. This feature is meant to be a tool for the community to control the XTN buy-back mechanism.

REST API Changes

  • A new field rewardShares has been added to block headers. The field contains a map of the addresses which received the reward share and its respective share amount.

Activation

Please vote for features #​19 and #​20 on Mainnet! The current voting window started at height 3670000. If the features are voted during this voting interval, activation will happen at height 3720000 (2023-07-06 18:14 UTC). Both features have been activated on both Testnet and Stagenet.

Update notes

There's no need to rebuild the state when upgrading from 1.4.16 or 1.4.17.

SHA256 Checksums

511d2e246bed1d7bbb5e41e82bcc702ccf691e0d2db8803190410e17d7eddb43  waves-grpc-server_1.4.18_all.deb
f4be2b05e41b32f08393d02810b1a308a6e9750bd72f69220424bbf9286ee146  waves_1.4.18_all.deb
3a33a90408e17cd22dce03f35c0ac5a26c0e6aa9e3ad6a891f3a04e1f08cdc2a  waves-grpc-server-testnet_1.4.18_all.deb
002b259d2197344fbc001a85d38ecb3c57f0ec7b0444f57c65a19ad79f434b90  waves-testnet_1.4.18_all.deb
02c8d0ec687319c1a96a52aa569a2f6aef53a7a4d5d1f1c2e791c95107b08b0b  waves-grpc-server-stagenet_1.4.18_all.deb
65fce4291f60d57f956ba069ef8e6af2b8b13c2da3001fcf4651856c36d42fc7  waves-stagenet_1.4.18_all.deb
12062434409ea9f1710eb851465efe51af930eec0493ae85c7294c193dbe4ff0  waves-all-1.4.18.jar
9414f2339dd8bf3e60953f0f2305497d8dbb85ce11690a52f8205ccadfc953f7  waves-grpc-server-1.4.18.tgz

Version 1.4.17 (Testnet + Stagenet)

07 Jun 16:19
243ebef
Compare
Choose a tag to compare
Pre-release

This release is intended for Testnet and Stagenet only, it is not ready for Mainnet yet!

In this release

Protocol Enhancements

This release adjusts block reward distribution introduced with feature #​19 "Block Reward Distribution".

Feature #​20 "Capped XTN buy-back & DAO amounts".

The following changes will only take effect if feature #​19 has been activated.

  • Waves DAO and XTN buy-back reward amounts are capped at 2 waves, e.g. if the community votes to increase block reward to 6.5 waves, block miners would receive 2.5 waves and Waves DAO and XTN buy-back addresses would receive 2 waves each.
  • Block reward term is decreased from 100000 blocks to 50000 on Testnet and Stagenet. For custom networks, a new parameter term-after-capped-reward-feature has been added to Reward Settings.

Feature #​21 "Cease XTN buy-back"

Once activated, the XTN buy-back address will no longer receive its reward share, if feature #​19 had been activated more than X blocks ago (X is 2000 on Testnet and 1000 on Stagenet). Waves DAO address would still receive at most 2 waves, with the rest of the reward going to the miner.

REST API Changes

  • A new field rewardShares has been added to block headers. The field contains a map of the addresses which received the reward share and its respective share amount.

SHA256 Checksums

4d1ad2fecbffc2f1bf78d91e2b4f64282cb2f6f2a77fb3272b0c9148ac15fabd  waves-grpc-server-testnet_1.4.17_all.deb
f06d6a0e8f5b78d926b5e0c84c42ee81953de1e8fc9bb164f776e2b634c1aeaa  waves-testnet_1.4.17_all.deb
56ca0bb0d175bd9a52242b33e8740885bcbe506a2a1273a7f3fa9b314ffb7ef0  waves-grpc-server-stagenet_1.4.17_all.deb
203c6e0eb9a63107358c6cb92790c1be9edda6858fbb3cfce982be85beae582b  waves-stagenet_1.4.17_all.deb
9807f8d25cd1bf6880a23aeb76549ed62757c642b0b7153f7b7ec9edf858dab5  waves-all-1.4.17.jar
5a1d4a99f397a09da961ca521ccfe112358ac95a8491fa233408afd1e69fdaca  waves-grpc-server-1.4.17.tgz

Version 1.4.16 (Mainnet + Testnet + Stagenet)

22 May 13:08
2f56bfa
Compare
Choose a tag to compare

In this release

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature #​19 "Block Reward Distribution".

  • With WEP-14 activation, block rewards would be shared between three beneficiaries: block miner, Waves DAO, and XTN buy-back contract. New RIDE stdlib version 7 adds the rewards field to BlockInfo structure. This field holds the list of tuples of beneficiary address and the amount they receive. Beneficiary addresses for Mainnet, Testnet and Stagenet are predefined in the functionality settings.
  • Sync invoke action limit has been fixed to match the root contract version. After feature 19 activation, even if there is a V5 contract in invocation chain started by a V6 contract, V6 global limits will apply for the whole invocation chain.

Activation

To activate the improvements listed above, please vote for feature #​19 on Mainnet! The next activation window starts at height 3660001, which is expected to happen on 2023-05-26 at 05:00 UTC.

Update notes

There's no need to rebuild state when upgrading from 1.4.14.

SHA256 Checksums

775a23a59bad11623ea79d8fde0661346432b014ce0b951a180d20738d6d601f  waves-grpc-server_1.4.16_all.deb
c746988daf4d6736c825b6d75869da8341051a54957fa32b6a2d3eaf7d8c11ce  waves_1.4.16_all.deb
978cbbcb8935df83be6d80ccafdff51c4bed649d0ac37c83c9ed639aaf7eff5d  waves-grpc-server-testnet_1.4.16_all.deb
e46cd78e44518c07eb2891002e2ef1b381b911c870a011b5987bdc4665dfc789  waves-testnet_1.4.16_all.deb
f00bc6c4fb007e4114ca4de1804284b93b28f11acb8f1f5d85cdc5bc370753c8  waves-grpc-server-stagenet_1.4.16_all.deb
2a85a127445e4b15d0fbc2236ea3fa6c551da3c57c9152c465f4b468908fd2ea  waves-stagenet_1.4.16_all.deb
f48508cd618c24b64651153a367ec3ec3876c45c926944e68585b4864b0eeca1  waves-all-1.4.16.jar
be45c29ce2a533496fe6d243dee4740c525dbfd8184d3b44b152a5f493aecff5  waves-grpc-server-1.4.16.tgz

Version 1.4.15 (Testnet + Stagenet)

05 May 11:27
2540243
Compare
Choose a tag to compare
Pre-release

This release is intended for Testnet and Stagenet only, it is not ready for Mainnet yet!

In this release

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature #​19 "Block Reward Distribution".

  • With WEP-14 activation, block rewards would be shared between three beneficiaries: block miner, Waves DAO, and XTN buy-back contract. New RIDE stdlib version 7 adds the rewards field to BlockInfo structure. This field holds the list of tuples of beneficiary address and the amount they receive. Beneficiary addresses for Testnet and Stagenet are predefined in the functionality settings.
  • Sync invoke action limit has been fixed to match the root contract version. After feature 19 activation, even if there is a V5 contract in invocation chain started by a V6 contract, V6 global limits will apply for the whole invocation chain.

Activation

To activate the improvements listed above, please vote for feature #​19 on Testnet and Stagenet!

Update notes

There's no need to rebuild state when upgrading from 1.4.14.

SHA256 Checksums

f605a65ea4b556c23b6a7c91d557bb9c91ca5a65144a718a2e860a9a16c9c651  waves-grpc-server-testnet_1.4.15_all.deb
add15b0d6fd25a6d03809ffd844fab6a4f6a817b36e3ca79b756a1504082e45b  waves-testnet_1.4.15_all.deb
eefe5b4fc380b95751084ea82ff2319d64bf9d371dc730f17550d04afabd3e21  waves-grpc-server-stagenet_1.4.15_all.deb
2635d88665a472959528974c4cf73087d86235ffbda7fbe936c4b75175c1111d  waves-stagenet_1.4.15_all.deb
bc57b1c40e513ceb666ee3f048afcf51ff2a4c2eeb02a1e423d8ea90add2f828  waves-all-1.4.15.jar
37e68a4b8a6b4082358d1acaf07fffa0f979bd289c9321f6051562579eb641a5  waves-grpc-server-1.4.15.tgz

Version 1.4.14 (Mainnet + Testnet + Stagenet)

27 Mar 13:44
1e4831f
Compare
Choose a tag to compare

In this release

This is an optional release that includes numerous improvements and bug fixes.

  • Added a new field to the asset details, which holds the sequence number of an asset within a block. This field (together with issue height) can be used to identify which of the two assets was issued earlier reliably. To take advantage of this new field, the blockchain needs to be re-imported. The new field is available in REST API, gRPC API and Blockchain Updates.
  • Added new fields to BU events: VRF, features activated with the block, and script set by the transaction.
  • Added support for mining with several addresses not derived from a single seed. If any base58-encoded private keys are specified in the waves.miner.private-keys setting, only those keys are used to sign blocks (wallet contents are ignored).
  • Fixed an issue with script compaction, which incorrectly replaced references to global names in some cases.
  • Fixed /utils/script/evaluate route to take payments attached to the transaction into the account when executing the call and to support Accept: application/json; large-significand-format=string header.
  • Known transaction cache is reset on each microblock instead of each block, which will speed up transaction propagation.
  • Fixed signal handling in docker container. Containers that were started in non-interactive mode (without -i flag) will cleanly shut down on Ctrl+C. This also allows capturing thread dumps by sending QUIT signal to a running container (docker kill -s QUIT $CONTAINER_ID).

Update notes

Unless you rely on asset ordering, there's no need to re-import blockchain when updating from 1.4.13.

SHA256 Checksums

8c89081e3a67bbcde25e821e10f3084e1c9f1ae404241d7dc39344b6c5f760e3  waves-grpc-server_1.4.14_all.deb
d87dbf6d845884bed792bf4b5c47c26bb7444652e88c2715d0bf8ecd5225541a  waves_1.4.14_all.deb
fd3e4cbdd98b1ec18c5cd94b7591f5a8c5d1ce82559b0fa5725b83590ba6e6d0  waves-grpc-server-testnet_1.4.14_all.deb
b786de890113a2fde5884ba2f65e38417c99784610c50e3109863ee090728c43  waves-testnet_1.4.14_all.deb
49cdd96c9ba7fa2a5e164df593747256578c68b503d48164af8543e16e1e8ab5  waves-grpc-server-stagenet_1.4.14_all.deb
fff93d586d930fa2f1316ec0e19bf02c439e228873605176d4996b3071974844  waves-stagenet_1.4.14_all.deb
61427f97bd5fb24c0071dbbc419093a447317e9d67cba703eeb938b4c20a3ade  waves-all-1.4.14.jar
7eb9000a2901299d1bc9f4564804e0313d18d67cf422edeef6d58c14cef4ab5a  waves-grpc-server-1.4.14.tgz

Version 1.4.13 (Mainnet + Testnet + Stagenet)

31 Jan 12:00
ec19e7e
Compare
Choose a tag to compare

In this release

This release brings MetaMask and other consensus fixes to Mainnet. After the activation of the feature #​18 all Protocol changes become available. This release is mandatory for all nodes: outdated nodes will shut down when new feature is activated, which is expected to happen on February, 18th, given sufficient miners support.

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature #​18 "Consensus and MetaMask improvements".

  • Improved support for orders and transactions signed by MetaMask and by Ledger devices via MetaMask.
  • Improved support for SetScript transactions containing longer scripts in RIDE.
  • Genesis block signer will no longer get block reward even if feature #​18 is pre-activated.

Other Improvements

  • Fixed NFT order in /assets/nft/{address}/limit/{limit}: the tokens are listed in the order they were received by the account, beginning with the most recent one. If you use your node to retrieve NFT list and rely on correct NFT order, you need to re-import blockchain for the fix to have effect.
  • /utils/script/evaluate shows state changes when transaction-like invocation is evaluated. Also default complexity limit has been increased to 52000 to match invocation complexity limit.
  • Added a new setting waves.utx.always-unlimited-execution. When enabled, all script invocations are evaluated completely, not up to the fail-free limit. This functionality is turned off by default.
  • Misc improvements and optimisations in RIDE compiler.
  • Added support for alternative commands in docker image, e.g.
    docker run -it wavesplatform/wavesnode:1.4.13 import -c /etc/waves/waves.conf -i https://blockchain.wavesnodes.com/mainnet_last
    

Activation

To activate the improvements listed above, please vote for feature #​18 on Mainnet!

Update notes

Unless you rely on proper NFT order described above, there's no need to re-import state when upgrading from 1.4.11.

SHA256 Checksums

3518809f4bea4dfa0174f21465da00c2df40bf3d49577ba579be74b7fe76f1b9  waves-grpc-server_1.4.13_all.deb
c7398da1cebfb28f3ebb456f11d178c2f754909e201957aa4ea1fd7e5168a915  waves_1.4.13_all.deb
e5153a68ba8e816806f3b200e9d5d30d2d00a673d01102684af7a5258860e995  waves-grpc-server-testnet_1.4.13_all.deb
774fff0b88e8814624fc90d3bfa2a9c6d2cb1c0b10109c875d18e810eb05bfb3  waves-testnet_1.4.13_all.deb
48f779f5c0585ff1a9e526ec28c5ab31d032a401f053751ba81eba7572d77266  waves-grpc-server-stagenet_1.4.13_all.deb
9342c633a2506254ff2b84fda13686925236b1dfc10584843c38df120a5ac9ba  waves-stagenet_1.4.13_all.deb
d83fa784d51ec3517f694770531c08fd955b2804f71bbef2d97a029929484fb6  waves-all-1.4.13.jar
9cac8c80368cba7cd66d5208ebe858ec608692587589ce7bec073167bdd33689  waves-grpc-server-1.4.13.tgz

Version 1.4.12 (Testnet + Stagenet)

19 Jan 12:55
7800159
Compare
Choose a tag to compare
Pre-release

This release is intended for Testnet and Stagenet only, it is not ready for Mainnet yet!

In This Release

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature # 18 "Consensus and MetaMask improvements".

  • Improved support for orders and transactions signed by MetaMask and by Ledger devices via MetaMask.
  • Improved support for SetScript transactions containing longer scripts in RIDE.
  • Genesis block signer will no longer get block reward even if feature # 14 is pre-activated.

Other Improvements

  • Fixed NFT order in /assets/nft/{address}/limit/{limit}: the tokens are listed in the order they were received by the account, beginning with the most recent one. If you use your node to retrieve NFT list and rely on correct NFT order, you need to re-import blockchain for the fix to have effect.
  • Added a new setting waves.utx.always-unlimited-execution. When enabled, all script invocations are evaluated completely, not up to the fail-free limit. This functionality is turned off by default.
  • Default /utils/script/evaluate complexity limit has been increased to 52000 to match invocation complexity limit.
  • Misc improvements in RIDE compiler.

Activation

To activate the improvements listed above, please vote for feature # 18 on Testnet and Stagenet!

Update notes

Unless you rely on proper NFT order described above, there's no need to re-import state when upgrading from 1.4.11.

SHA256 Checksums

ae5a9942a4819cbc24ec277de6ad4ca4b7e3755badea7c90de9dc596c676e6a1  waves-grpc-server-testnet_1.4.12_all.deb
0574bdaca295e9d174bdfa9095a7656742d91464591424cec65e7a13b1aa9ee0  waves-testnet_1.4.12_all.deb
4a7711de5a31f43a8db6a6875cce9abfbf066cd357291081053f893805045699  waves-grpc-server-stagenet_1.4.12_all.deb
dd64ef980f4c5b93566886024e9560a03a046280fa64a992364c4ca671f30abb  waves-stagenet_1.4.12_all.deb
c030686c8b9fa32702c11d68879916ea6ce5df6d5a8da1212e4180f19e83ccbc  waves-all-1.4.12.jar
d2cd9e55a06e10ba994a816be97401e0808cdb1cd752fa851471fe53d0b09ab5  waves-grpc-server-1.4.12.tgz

Version 1.4.11 (Mainnet + Testnet + Stagenet)

06 Nov 09:17
67a8798
Compare
Choose a tag to compare

In this release

This release improves node performance and prevents miners from generating empty blocks under heavy load. This release is strongly recommended for all node operators, especially miners.

InvokeScript transaction support in /utils/script/evaluate/{address}

This release adds support for evaluating transactions with /utils/script/evaluate/{address} endpoind. Transaction JSON can be specified in the request body. Neither proofs nor attached payments are validated; transaction sender, ID and other fields are retrieved from the supplied JSON. dApp field is ignored, the function is evaluated in the context of {address}. This functionality simplifies debugging contracts: no private key is required to simulate transaction processing.

RIDE compiler improvements

  • Improved error messages make it easier to find out what's actually wrong with the code, and where exactly an error has occured.
  • DApp meta is returned in JS and Java API.

Update notes

There's no need to re-import state when updating from 1.4.10.

SHA256 Checksums

2616718a09f11299930d7182279bf0ba87e835a8ec1867e0cc33f82e1f45096f  waves-grpc-server_1.4.11_all.deb
2a7b0759d733f9d93f91772450935e026e4a872d4081c3f8d5a2b8cd9f4d94e5  waves_1.4.11_all.deb
69fae275d2d18f682054d886e9f31fe368fdb43c703cba32fd900ff53a8f9688  waves-grpc-server-testnet_1.4.11_all.deb
6689aedf462035db17e3efd3cb197e3761815abd53c6c67dc988a6ea3835256d  waves-testnet_1.4.11_all.deb
ad5ee3092007cc041f783f224644a9e8e06ba1d3ab1bc1cfc1bdcb234480969c  waves-grpc-server-stagenet_1.4.11_all.deb
788c60e9c235318c8cdbf49f4aa1117eb333502b349effd3c72185b1cc93b049  waves-stagenet_1.4.11_all.deb
de521da2b444e06b1f63349e834bc39b8ee0a20bca74c0a0c499d30b216b9167  waves-all-1.4.11.jar
3f4cf8412001c2d0f67ac60c0ce88402b6fc38397a48b02c331a7565efddc49d  waves-grpc-server-1.4.11.tgz

Version 1.4.10 (Mainnet + Testnet + Stagenet)

18 Oct 15:45
dc78dea
Compare
Choose a tag to compare

In this release

This is a mandatory release which resolves an issue with transaction validation, as well as improves block processing performace for blocks containing excessive number of transactions.

An issue with docker containers introduced in 1.4.9 has also been fixed. There's no need to explicitly specify waves.directory in custom waves.conf unless you need to store data files in the non-default directory.

Update notes

There's no need to re-import blockchain when updating from v1.4.9.

SHA256 Checksums

179b6ca4a5d728b285d8e8c6c10bb4fb4f3c186baeb79ce344830a88c2a85aba  waves-grpc-server_1.4.10_all.deb
89dd85b14a1ba8a588f9e740921eb0307679e142bc96f0cdcdc0041bfdbf3855  waves_1.4.10_all.deb
01a70b01b14a81c8902ae961fb51f406c0438e81de0d89892df2397d6007b4f0  waves-grpc-server-testnet_1.4.10_all.deb
93f142ba5863c11c26ff5f08c2e089c296fed87cb4bcc89f2d6adace6edf7777  waves-testnet_1.4.10_all.deb
62e7436118dd3cf80cedb703bdbd34f7e37e10760a4a78ed399468ebdf82b2ce  waves-grpc-server-stagenet_1.4.10_all.deb
987fd4b24fccc72c09404dfe4f7f452b0ac7ac23e671d432b4ac489c96235f3f  waves-stagenet_1.4.10_all.deb
816b7d820776daaabf9ba2a5c9bf7233e3c90ac6de88d60a546626771d0d5c0b  waves-all-1.4.10.jar
45eae9ede9b752865b88d28602976513b8f2939cb136bc61992fd53275cb2dd9  waves-grpc-server-1.4.10.tgz