Wavesplatform Waves Versions Save

⛓️ Reference Waves Blockchain Node (client) implementation on Scala

v1.3.9

2 years ago

In this release

This bugfix contains important security fixes. We encourage everyone to update their nodes. There's no need to rebuild state when updating from 1.3.8 (mostly; see below).

  • Added spentComplexity field to transaction JSON containing actual complexity spent during transaction processing. This complexity only includes dApp script complexity and does not include verifier complexity or smart asset complexity (if any). The node will store complexities only for the transactions it has processed after an update. State rebuild is required to be able to retrieve complexities for older transactions.
  • Added order IDs to exchange transaction meta provided by Blockchain Updates. Please update your schemas to version 1.3.3 to gain access to this functionality.
  • Updated LevelDB, Swagger UI and Akka HTTP to their respective most recent versions.

Update Notes

There's no need to rebuild state when updating from 1.3.8 unless you need to retrieve spent complexities for older transactions via REST API.

SHA256 Checksums

0e5d05645f23c8df48aae44d40e4bcf3a1e6f6f308cad11cbf12fe17da09ba45  waves-all-1.3.9.jar
0d41dc96e0e09e333557445ced2822c097671e83fb9ce7ffff91e8e28cbf5213  waves-grpc-server-1.3.9.tgz
5fca0c2c2cb64aab0c5bed0648a6856796f075a4110f9de0338e5a9da94059b7  waves-grpc-server-testnet_1.3.9_all.deb
a3ec99c8a50d4cae64995ecc24f8f92611fb084e484caca1de8aa758ea170187  waves-grpc-server_1.3.9_all.deb
aefbbe362285cfb55dbe6f4e0ac666ac57a1e28802f24374cbd90306b7f86af3  waves-testnet_1.3.9_all.deb
23c637b3c251789f025172a783686061f62bdde84ff922f593681002eb212a0d  waves_1.3.9_all.deb
5fca0c2c2cb64aab0c5bed0648a6856796f075a4110f9de0338e5a9da94059b7  waves-grpc-server-testnet_1.3.9_all.deb
aefbbe362285cfb55dbe6f4e0ac666ac57a1e28802f24374cbd90306b7f86af3  waves-testnet_1.3.9_all.deb

v1.4.1

2 years ago

In this release

This release fixes a protocol issue which involves ethereum transaction processing, and is therefore mandatory for all miners.

  • Fixed ethereum-style invocation processing to fully execute dApp script.
  • Fixed fee calculation in JSON-RPC method used by Metamask.
  • Fixed free call compilation and decompilation.
  • Restored FOLD<> macro support in Ride V6.

Update Notes

When updating from 1.4.0, a full state rebuild is required.

SHA256 Checksums

d212e2a8c35736425eee7048b27b1f88b78d70d2bf1223e547b6fd28fa422b55  waves-all-1.4.1.jar
44747efde309fa25051e7a2602c98dd4788ad78edeba4ab9b1a1811129108166  waves-grpc-server-1.4.1.tgz
c4cc9629ac31bf0930ad5a9da88419babc2513228516fae53cdf2877ca28c12d  waves-grpc-server-stagenet_1.4.1_all.deb
110c281057f7becd763f2d26296507ab734231b675de7649e2162dbe1c28defb  waves-stagenet_1.4.1_all.deb

v1.4.0

2 years ago

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

In this release

Protocol Enhancements

  • Added support for Ethereum transactions that perform token transfers or dApp script invocations. Thanks to this, MetaMask users can sign transactions and send them to the Waves blockchain. More details
  • Added support for orders with ECDSA signature in Exchange transactions. Thanks to this, users can sign orders with MetaMask. More details
  • Implemented a new transaction type: Invoke Expression transaction that executes the script attached to it.

Ride

  • Issued version 6 of the Ride Standard library.
  • Added a new script type: call script designed to be executed once by an Invoke Expression transaction.
  • Added a built-in variable: i that is available in a call script and contains the Invocation structure.
  • Added the InvokeExpressionTransaction structure that is used to verify an Invoke Expression transaction by smart contracts.
  • Added the fold range of functions, designed to implement operations on a list of values. The functions replace the FOLD<N> macro used in previous versions of the Standard Library.
  • Added the following built-in functions:
  • For the built-in string functions makeString and split added the range of similar functions with different complexity depending on the data size limit. When data size is known in advance, the “cheaper” function can be used.
  • Changed the complexity of certain built-in functions. The complexity is given in the [Ride v6] Built-in functions article.

Node REST API

Breaking Changes

  • Added support for Ethereum transactions that perform token transfers or dApp script invocations. JSON representation of a transaction depends on its content:

    Example transfer by Ethereum transaction
    {
       "type": 19,
       "id": "AAU7gnVCc4G6LrSndTy3qbgnsDT9FTHkhRCRQNDVo52k",
       "fee": 100000,
       "feeAssetId": null,
       "timestamp": 1632300900966,
       "version": 1,
       "chainId": 67,
       "bytes": "0xf8ac86017bc01bcd9001830186a0943353cdb2c6454ad0811f29b632208162037fc22d80b844a9059cbb00000000000000000000000088955b80d3796397c447220793f625a8e47a589400000000000000000000000000000000000000000000000000000000000f424081ada07221e88bbaf6c221faf586766d856d64c66350017f94515c675930b5a38bfe45a05a36e1ab1cc27938c7a962c794b39b68d5a228d2dc987c04916b97246796db23",
       "sender": "3F11ucZTFLBGrY3TpSmWH3tH4iaYRgLVvZV",
       "senderPublicKey": "4NzCXwRd3wKsmrrYrGVBsmuiUu6sVhZNKdvxPqzreCMRftvpXD7jJ19XFdXZqSC63nS59CtjCXXrBfwMspvf8nfs",
       "applicationStatus": "succeeded",
       "payload": {
          "type": "transfer",
          "assetId": null,
          "amount": 100000000,
          "recipient": "3FDztq6huchm3TEbJXNcZE9HeDH3b4qpEoK"
       }
    }
    
    Example script invocation by Ethereum transaction
    {
       "type": 19,
       "id": "AAU7gnVCc4G6LrSndTy3qbgnsDT9FTHkhRCRQNDVo52k",
       "fee": 500000,
       "feeAssetId": null,
       "timestamp": 1632300900966,
       "version": 1,
       "chainId": 67,
       "bytes": "0xf9014b86017bc121a113018307a12094c811007db5e07a1bd3d91aef1f37bd3010c28d5980b8e4a72afeeb000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000087100000000000000000000000000000000000000000000000000000000000000001ca0fbe876dcb9939c4812d2ef95bb30cd84740e7db96d7959f043152958a101e177a055356f63ccee0a020cd12bc4350e6a888d2ed7967f5ca0fefe773c4a752950ff",
       "sender": "3F11ucZTFLBGrY3TpSmWH3tH4iaYRgLVvZV",
       "senderPublicKey": "4NzCXwRd3wKsmrrYrGVBsmuiUu6sVhZNKdvxPqzreCMRftvpXD7jJ19XFdXZqSC63nS59CtjCXXrBfwMspvf8nfs",
       "applicationStatus": "succeeded",
       "payload": {
          "type": "invocation",
          "dApp": "3FEVXxz656kaC24vh3r25eXNY64QSqX9ZFg",
          "payment": [],
          "call": {
             "function": "depositRef",
             "args": []
          },
          "stateChanges": {
             "data": [],
             "transfers": [],
             "issues": [],
             "reissues": [],
             "burns": [],
             "sponsorFees": [],
             "leases": [],
             "leaseCancels": [],
             "invokes": []
          }
       }
    }
    

    Features of the Ethereum transaction JSON representation:

    • sender contains Waves address base58 encoded,
    • senderPublicKey is 64 bytes base58 encoded,
    • bytes contains the entire Ethereum transaction bytes, including the ECDSA signature, HEX encoded.
    • proofs array is missing.
  • Added support for Exchange transactions containing an order (or both orders) with an ECDSA signature.

    Example order with ECDSA signature.
    "order1": {
       "version": 4,
       "id": "2Wx5ctbaU9GqQYXtEkqsin6drfu6SuADdwAyvuYnwai9",
       "sender": "3FzoJXUesFqzf4nmMYejpUDYmFJvkwEiQG6",
       "senderPublicKey": "5BQPcwDXaZexgonPb8ipDrLRXY3RHn1kFLP9fqp1s6M6xiRhC4LvsAq2HueXCMzkpuXsrLnuBA3SdkJyuhNZXMCd",
       "matcherPublicKey": "9BUoYQYq7K38mkk61q8aMH9kD9fKSVL1Fib7FbH6nUkQ",
       "assetPair": {
          "amountAsset": "5fQPsn8hoaVddFG26cWQ5QFdqxWtUPNaZ9zH2E6LYzFn",
          "priceAsset": null
       },
       "orderType": "buy",
       "amount": 1,
       "price": 100,
       "timestamp": 1,
       "expiration": 123,
       "matcherFee": 100000,
       "signature": "",
       "proofs": [],
       "matcherFeeAssetId": null,
       "eip712Signature": "0xe5ff562bfb0296e95b631365599c87f1c5002597bf56a131f289765275d2580f5344c62999404c37cd858ea037328ac91eca16ad1ce69c345ebb52fde70b66251c"
    }
    

    Features JSON representation of an order with ECDSA signature:

    • sender contains Waves address base58 encoded,
    • senderPublicKey is 64 bytes base58 encoded,
    • eip712Signature contains an ECDSA signature HEX encoded,
    • proofs array is missing.
  • Added the new transaction type: Invoke Expression.

Improvements

  • Added the /eth/assets endpoint that accepts asset IDs in Ethereum representation (the first 20 bytes of the token ID, HEX encoded) and returns the asset details including asset ID in Waves format (32 bytes, base58 encoded). The asset details in the response are in the same order as IDs in the request.

Activation

To activate the improvements listed above, vote for feature #17 “Ride V6, MetaMask support, Invoke Expression”.

SHA256 Checksums

6be46aafd306429f9dd2b3d1e8f0b579a4e7a246f53547d69125c3275568d213  waves-all-1.4.0.jar
aaa78e9087adc19fd082ec02ab84c7652c566b20c035aa1af86ef02a1a68dfa6  waves-grpc-server-1.4.0.tgz
a624ec2f0c182640a2726ce36df6f44114b7ee984ec1830180e4e69a92b998cf  waves-grpc-server-stagenet_1.4.0_all.deb
7a9f041d5e60b3525c4c6106172482b616365549901b8541c27a91155a115848  waves-stagenet_1.4.0_all.deb

v1.3.8

2 years ago

In this release

This release fixes a critical issue in Blockchain Updates extension, which was introduced with release 1.3.7. This release is mandatory for everyone operating the extension. There's no need to rebuild state when updating from 1.3.7.

If you don't have the extension enabled, you can continue using release 1.3.7. Please read about release 1.3.7 for more info.

SHA256 Checksums

6a9136d247510ff7ffced3c8909674fe6732a95ec1552bd6fb0c7b9cabdfad17  waves-all-1.3.8.jar
57af487020076521f095379e784dc600861b5fd98a9fcd96d9aa428a01c65b59  waves-grpc-server-1.3.8.tgz
3d43618f42a5b83ec4c4fb15132bd18293ab6b8b8072a1ac20106f2a7277aeee  waves-grpc-server-stagenet_1.3.8_all.deb
b41fd081ddac210de1a60baa67ab242137e10e87c0301e95bd8c396f3262b1bb  waves-grpc-server-testnet_1.3.8_all.deb
b2d09a24a56160e1d3c323d6f24d8c726e8a57c3f671da1f9fcd1d7127f36027  waves-grpc-server_1.3.8_all.deb
fac395a991831149bab8e3a50c3db3c2987499487ea9a31e500e4a07b9f726e8  waves-stagenet_1.3.8_all.deb
616a15d959441d8018876bc8a31e60fa51558a3586e42252dc76b3d52c594a48  waves-testnet_1.3.8_all.deb
54d4fd9dee97c37c38994181c56d2b97d9d5b829847735a816d3d16d2be72aaa  waves_1.3.8_all.deb

v1.3.7

2 years ago

In this release

This is mandatory release. It includes several Blockchain Updates, REST API and RIDE enhancements and improvements. Please pay attention to the Update Notes section.

Node Improvements

  • Updated build system and dependencies: SBT to 1.5.5 and LevelDB to 1.23.0, among others.
  • Blockchain Updates improvements:
    • Refactored subscriptions handling to improve consistency when subscribing from near-recent heights
    • Nested invocation arguments are included in transaction meta. Don't forget to update protobuf schemas to 1.3.2 to use this functionality.
  • Introduced new REST API settings:
    • waves.rest-api.minimum peers sets the number of peer connections required to broadcast transactions via REST API. If the node has less peers, the transaction is not accepted into the UTX pool. By default, at least one connection is required.
    • waves.rest-api.heavy-request-processor-pool-threads sets the number of threads which process "heavy" API requests (e.g. transactions by address, complete portfolio or batched data requests). When no value is set, at most 4 threads are used. Explicitly setting higher value may improve throughput on multicore systems.
  • Upon strartup, the node will check if the value of waves.wallet.seed matches the actual seed stored in wallet.dat file. If the values don't match, the node will report an error and shut down.
  • New filter in /assets/balance/{address}: optional repeated id parameter can be used request balances for selected assets. Just like in other batched requests, this parameter can either specified as a query parameter in a GET request, or in the body of a POST request.
  • /debug/validate method returns traces for nested invocations
  • /transactions/calculateFee takes expensive DApp actions into account, e.g. asset issuance will increase minimal fee by 1 WAVES

RIDE Improvements

  • Total size of the data written to account data storages in a single Invoke Script transaction is limited by 15 Kbytes.
  • Added validation of balances including payments in the chain of dApp-to-dApp invocations.
  • Added as[SomeType] and exactAs[SomeType] macro that cast Any type to specified one.
  • Optimized pow function.

Update Notes

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

This release introduces new mandatory fields in application.ini. If you have not changed this file, apt/dpkg will silently replace the existing version with the new one. If you have, you will need to manually install the new version, and then add your custom parameters to the new file.

  • If you manually install DEB package, pass --force-confnew to dpkg:
    dpkg -i --force-confnew waves_1.3.7_all.deb
    
  • If you install DEB package from apt repository, pass -o Dpkg::Options::=--force-confnew to apt:
    apt-get update && apt-get install -o Dpkg::Options::=--force-confnew waves waves-grpc-server
    
  • You can also just update the package as usual. In this case, if apt/dpkg discovers the file has changed, you'll be prompted to update the file:
    Configuration file '/usr/share/waves/conf/application.ini'
     ==> Modified (by you or by a script) since installation.
     ==> Package distributor has shipped an updated version.
       What would you like to do about it ?  Your options are:
        Y or I  : install the package maintainer's version
        N or O  : keep your currently-installed version
          D     : show the differences between the versions
          Z     : start a shell to examine the situation
     The default action is to keep your current version.
    *** application.ini (Y/I/N/O/D/Z) [default=N] ? Y
    
    Select Y to update the file.

Once the package is updated, you can tweak the file to suit your needs, just make sure that the lines starting with -J-Dwaves.defaults are left intact.

Legacy Ubuntu Notes

Ubuntu 16.04 has reached its end of life in April 2021 and will no longer receive security updates. Some of the node's dependencies require newer versions of GNU C library, which are not included with Ubuntu 16.04. It is recommended to update your OS to a more recent version.

SHA256 Checksums

0acb8be41e821622f0e129d957d92ee8fa776b53a48af2f960d9ee84d0c3f14a  waves-all-1.3.7.jar
3e8ee2c2c712c002b28c0783b884b0103abefb90b30ae5559a4af1fdc562bd90  waves-grpc-server-1.3.7.tgz
f5093d271d3a993bb3141ebee371a664e56fdd54052b41d2058e7e4516e44f9e  waves-grpc-server-stagenet_1.3.7_all.deb
c231b337168886e98db943a674802f4aa0fbe31310023fafb951404f09117423  waves-grpc-server-testnet_1.3.7_all.deb
60bd4e7e2ceb7da0d35ce5d8cfc71016fb672b4f6b402f8014b7611fedd5261a  waves-grpc-server_1.3.7_all.deb
e926255c94bccf5f65916e0935b66c39fa8deabe58cda2b17458b51012bba370  waves-stagenet_1.3.7_all.deb
09cb4924a3bb0ee9ac780aaf361741cbb44167e7110ad566d024752192909813  waves-testnet_1.3.7_all.deb
b41546aa89435bf7fbd0d8a5044f3a429260ca54fbd8790fb65c00c9ee74b8e9  waves_1.3.7_all.deb

v1.3.6

2 years ago

In this release

This is an optional release which mostly fixes several REST API issues. There's no need to rebuild state when upgrading from 1.3.5.

  • Fixed JSON format inconsistencies in Lease Details objects across different routes.
  • Fixed node version and Chain ID in Swagger.
  • Fixed Stagenet and Testnet public pool ports in configuration file as well as tweaked sample config.

SHA256 Checksums

de337c5da41c2c823dd4758d9f196b6f27300bbd39cf8997afb2a7e4c4b0c69c  waves-all-1.3.6.jar
8582d78ed582047e10a85189ef93b196deb89debba0d7c8c81849ad44b593f0a  waves-grpc-server-1.3.6.tgz
de9e96dae9294b499e8844cdb6f639cd9534064824207f6798f244fb6743f12a  waves-grpc-server-stagenet_1.3.6_all.deb
65e654dfd82a9cc15dd70dc8374b949c8af96277f02349934b1fb73b7dd82c09  waves-grpc-server-testnet_1.3.6_all.deb
fe3976559c95a59e1e6e0412586c778a10c8bfe3104911aa30c2533bfa2d3616  waves-grpc-server_1.3.6_all.deb
4064a8d94422fdf4d984a25358b3f3260862580768e7aa6c13d1273292e80c10  waves-stagenet_1.3.6_all.deb
5d25f75ea8747c0d0389feeb4b05a50058f43a920a8ed0c38e93330ea783d204  waves-testnet_1.3.6_all.deb
f32dce4beecf59c500bbfabfd2d5899ef14b1f919395df101a3e02c73b5a13b0  waves_1.3.6_all.deb

v1.3.5

2 years ago

In this release

This release is accumulation of all previous 1.3.x releases. Now it's available for Mainnet. After the activation of the feature #​16 all Protocol changes become available.

Protocol Enhancements

  • dApp-to-dApp invocation. A dApp callable function can invoke a callable function of another dApp, or another callable function of the same dApp, or even itself. All invoked functions are executed within a single Invoke Script transaction. The total complexity is limited. More about dApp-to-dApp invocation
  • Amended Invoke Script transaction:
    • Canceled the extra fee of 0.004 WAVES for smart assets in payments and script actions.
    • Transaction can contain up to 10 attached payments.
    • The total complexity for all callable functions and asset scripts involved is limited by 26,000 (the sender's account script complexity is not included in this limit).
    • The maximum complexity of a callable function of a dApp script is changed to 10,000.
  • For all types of transactions, canceled the extra fee of 0.004 WAVES for sending a transaction from a smart account or dApp unless the complexity of sender's account script or dApp script verifier function exceeds 200.

Ride

  • Issued version 5 of the Ride Standard library.

  • Enabled processing up to 10 payments attached to the Invoke Script transaction.

  • Added the functions for dApp-to-dApp invocation:

  • Added strict variables that are evaluated before the next expression to ensure executing callable functions and applying their actions in the right order.

  • Modified the callable function result by adding a return value.

  • Modified the Invocation structure: in case of dApp-to-dApp invocation, the structure contains the address and public key of both the sender of the Invoke Script transaction and the dApp account that invokes the callable function.

  • The maximum total number of Issue, Reissue, Burn, SponsorFee, ScriptTransfer, Lease, LeaseCancel script actions executed by all callable functions in a single transaction is 30.

  • The maximum total number of BinaryEntry, BooleanEntry, IntegerEntry, StringEntry, DeleteEntry script actions executed by all callable functions in a single transaction is 100.

  • Added script actions that the callable function can perform:

    Using these actions, you can change the amount of the lease, in particular, withdraw a part of the leased funds. If you cancel a lease for a larger amount and create a new lease for a smaller amount with the same recipient in the same script invocation, the recipient's generating balance decreases by the difference. Otherwise, if you send two separate transactions: a Lease Cancel transaction and a Lease transaction, they can be added to a different blocks and therefore generating balance decreases by the amount of the canceled lease immediately and increases by the amount of the new lease after 1000 blocks.

  • Added the function calculateLeaseId that calculates ID of the lease formed by the Lease structure.

  • Added an arbitrary data type — Any.

  • Added the BigInt data type of 64 bytes (512 bits) and functions.

  • Added the following built-in functions:

  • Added the following account data storage functions that allow the dApp script to read entries of its own data storage:

    • getBinary(key: String): ByteVector|Unit
    • getBinaryValue(key: String): ByteVector
    • getBoolean(key: String): Boolean|Unit
    • getBooleanValue(key: String): Boolean
    • getInteger(key: String): Int|Unit
    • getIntegerValue(key: String): Int
    • getString(key: String): String|Unit
    • getStringValue(key: String): String
  • The maximum complexity of a callable function of a dApp script is changed to 10,000.

Node REST API

Breaking Changes

A lease can be created both as a result of a Lease transaction and as a result of an Invoke Script transaction via a Lease script action. Therefore, the response of the following endpoints has been changed:

  • In the response of /transactions/address/{address}/limit/{limit} and /transactions/info/{id} endpoints for a Lease Cancel transaction, the lease structure now contains lease parameters instead of Lease transaction fields.
  • /leasing/active/{address} returns an array of structures containing lease parameters instead of array of Lease transactions.

Semantic Changes

  • dApp-to-dApp invocation results are added as the invokes array to the stateChanges structure returned by the following endpoints:

    • /transactions/info/{id}
    • /transactions/address/{address}/limit/{limit}

    Each element of invokes array, in turn, also contains stateChanges.

  • Results of the Lease and LeaseCancel script actions are added to the stateChanges structure.

  • Results of Lease and LeaseCancel script actions are also added to the trace structure returned by the following endpoints:

    • /transactions/broadcast
    • /debug/validate

Improvements

  • Added the /leasing/info endpoint that returns lease parameters by lease IDs.
  • Added the /blocks/heightByTimestamp endpoint that returns blockchain height at a given timestamp.

Activation

To activate the improvements listed above, vote for feature #16 “Ride V5, dApp-to-dApp invocations”.

Update Notes

If you are not using Blockchain Updates extension, there's no need to reimport state when updating from version 1.2.x. Attention Blockchain Updates users:

  • Due to an issue with one of the previous versions, current extension data is likely inconsistent with the blockchain. Please reimport blockchain to rebuild BU state.
  • In some cases BU subscription can get stuck, that is once connected, the client receives some updates up to the most recent block/microblock, but won't receive any subsequent updates when node appends new blocks/microblocks. This is a known issue. While we are working on a fix, one possible workaround is to monitor the connection, and once the subscription is stuck, restart the node process.

Official pools update notes

Due to presense of breaking changes in the Node's API please migrate your existing projects/applications. Version 1.3.5 will be immediately available on the testnet. Mainnet will be updated on June, 11th.

SHA256 Checksums

b938cbd04016131be6a06a3f6db9d8fc5df8fe6fd1204469e1a67eeb999f1bbc  waves-all-1.3.5.jar
76381331a983383ef4991077abcafcaed3f5ad55bb686c52dd0f1c68ca752d04  waves-grpc-server-1.3.5.tgz
449af81db3ec693baaf5508ca5769587a7023ddaea203f406413efca6a2e840f  waves-grpc-server-stagenet_1.3.5_all.deb
aa801db4c4b279fc226b2642d11281cc02ec7f182668a96628e8bc097e0aadb8  waves-grpc-server-testnet_1.3.5_all.deb
2c28f517df7595fd85e1a12a0dc78eb2e8cf3f7316251b160eeacf5f56dbabf0  waves-grpc-server_1.3.5_all.deb
f4faf1da9fc23b90ba96f48585f73b4ac1a1127ec73fd636decac57261cca5fa  waves-stagenet_1.3.5_all.deb
6dd05421d4f2622693acb8ca320af291c04aeb0052863b9bedf3c2dc79e167df  waves-testnet_1.3.5_all.deb
142616a71ed1aa3f08623db036cb540234a546d2d6cbd769dbe605cced28abb4  waves_1.3.5_all.deb

v1.3.4

3 years ago

In this release

This is the first release of 1.3 series intended for both Testnet and Stagenet (however, it is not ready for Mainnet just yet). Please vote for feature 16 on Testnet!

The following issues have been fixed since 1.3.3:

  • Fixed liquid block rollbacks in Blockchain Updates extension.

SHA256 Checksums

c35b97d5e7e842ba7ed14dbca663d89452cfe78ef0802a0669f8d470eedc2491  grpc-server-stagenet-1.3.4.tgz
2d891990360b654a26e20fae85d709f2ff9d1db5fae4cf6a4fa0d5c00fd0881f  grpc-server-stagenet_1.3.4_all.deb
c550927f681cdedd0c6047e1203d8de29b981ac298bdaae4fb9a28aaa6517ec9  grpc-server-testnet-1.3.4.tgz
c82a99252aebb1511843ee6e2b6fd8026640b8a1a980e71e6def2f040059d634  grpc-server-testnet_1.3.4_all.deb
169401cf4d81aa99ffc936b3de36bed61c7d499dd12218635ba7f6a9360ea912  waves-all-1.3.4.jar
4783b334f08151b2c89f0762de4e86720288911266f0dc08e121f6b84ccba78b  waves-stagenet_1.3.4_all.deb
ef304c7f0412d3e0127f468f6ee043aa773d84b071410ec845d9772d7d4b813a  waves-testnet_1.3.4_all.deb

v1.2.21

3 years ago

In this release

This release fixes an issue which could prevent the node from successfully completing blockhain import. All miners are advised to update their nodes. A bug which prevented Blockchain Updates extension from properly handling certain types of microblock rollbacks has also been fixed.

There is no need to rebuild state when updating from version 1.2.20.

SHA256 Checksums

3d5e98bc15dec945c3925e7e430240a9dde47961c4c8f91dfca4e45284f849dc  grpc-server-1.2.21.tgz
70193a320a7f41b80ea84644daf9eab3e8aae9e50359337da1e7829465903bd4  grpc-server-testnet-1.2.21.tgz
e123842f551ceb802e4db6c3341d3f53a1ef3bdbc7b1832eda29db569c6660cd  grpc-server-testnet_1.2.21_all.deb
ade342d99951383084743d30875dc5c34c9666ccfe36df88d950e7720dee0bd2  grpc-server_1.2.21_all.deb
9e074f65338ee74c171b591354080ebee4274f9d231f66886df9a7e26cc8e753  waves-all-1.2.21.jar
4afa8bc74e7fe9420b716550117a255bbc9542552d4bbeff8c81f7c37e54f258  waves-testnet_1.2.21_all.deb
190c7cfb303bd933a5a1df8e6255ae662b95bd51a65314cc392326332a2e2c6d  waves_1.2.21_all.deb

v1.3.3

3 years ago

In this release

This release is intended for Stagenet only. There's no need to rebuild state when updating from 1.3.2

This release includes the following improvements:

  • Added the reentrantInvoke function for dApp-to-dApp invocation. The only difference from the invoke function is that there is no reentrancy restriction for the parent dApp that uses reentrantInvoke.
  • The maximum complexity of a callable function of a dApp script is changed to 10,000.
  • Blockchain Updates stream no longer freezes upon microblock rollbacks.
  • Updated nested invocation lease state changes format to be consistent with /leasing/info/{id} endpoint.

SHA256 Checksums

4851a8c950fb08e3a42a191d8bb313afc21ca0a20c2317b385e0a40b9bd775fc  grpc-server-stagenet-1.3.3.tgz
0ef5fed6a84029d41e1e939ac1822d6780815470121265ac5442ee53a742d740  grpc-server-stagenet_1.3.3_all.deb
ef099346d232a976f9d858cf4ead88bf286359cdfb8135f3eb13dca05dd0e530  waves-all-1.3.3.jar
3fa8b99760ab5752a86eb80aa2725773789c1915dabc8745579da92b7b83372a  waves-stagenet_1.3.3_all.deb