Releases: wavesplatform/Waves
Version 0.13.3 (Mainnet Only)
In this release
- New Data Transaction
- Burn Any Tokens feature
- Fee Sponsorship
- Fair PoS
- Optimaized LevelDB storage
What is Data Transaction
Data Transaction allows storing additional information on the account. For now, this information could be used by third-party services, but as soon as Smart Contracts will come to Mainnet, this information could be used during transaction validation.
Please, reade detailed information about Data Transaction.
Burn Any Tokens
Now it is possible to burn any tokens your own before this update it could be done only by the issuer of the token. Read about the token burning.
How Fee Sponsorship works
Fee Sponsorship is here to replace the transactions fee paid in assets. Not all node owners were happy with receiving various assets as the fee paid for transactions processing. Now the things are going to change. After activation of this feature to process the transactions paid in assets issuer of the asset should set up a sponsorship for the asset. Sponsorship is a sum of Waves that the issuer is willing to pay for the processing of transactions paid in the asset. Miners will receive only Waves as the fee.
Please, read additional information about Sponsor Fee Transaction and Sponsored transactions.
Fair PoS
Fair PoS is an adjusted consensus algorithm that provides accurate performance ratio of mining. Please, read the paper about Fair PoS and following discussion.
Optimized Level DB storage
We've optimized node's storage. Some caches were put in-between that speed up the data processing. Import of the blockchain from a binary file is twice faster now. Due to this optimization, the node's storage should be rebuilt. Please, refer the update notes.
New features voting
With this release it is possible to activate following features:
- Data Transaction, feature number 5
- Burn Any Tokens, number 6
- Fee Sponsorship, number 7
- Fair PoS, feature number 8
To vote for any set of available features, please add them to node's configuration file as follows:
features {
supported = [5, 7] # This is an example, make your own decision what vote for
}
How to update
Basically, the node should be updated as follows:
- Stop the node
- Export existing blockchain to a binary file or download binary file
- Update node's executables
- Import binary file
- Start the node
Prepare binary blockchain file
After stopping the node execute following command to export existing blocks to a binary file:
sudo -u waves java -cp '/usr/share/waves/lib/*' -Dwaves.directory=/var/lib/waves com.wavesplatform.Exporter /etc/waves/waves.conf /usr/share/waves/mainnet
Or download binary blockchain file created for you at height 1,031,479.
Import binary file
Remove data
folder:
sudo rm -rdf /var/lib/waves/data
Install the new version of the node:
sudo dpkg -i waves_0.13.3_all.deb
Import blocks from the binary file:
sudo -u waves importer /etc/waves/waves.conf /usr/share/waves/mainnet-[some height]
After import do not forget to remove the file:
sudo rm /usr/share/waves/mainnet-[some height]
Checksums
MD5 (waves-all-0.13.3.jar) = 061750cd20ef7ade66795129282717f3
MD5 (waves_0.13.3_all.deb) = 3f676c6512a11c25fbac3143d5a5d73a
Version 0.13.2 (Testnet Only)
In the release
- We have fixed the bug with a rollback of a Fee Sponsorship transaction
- New in Smart Accounts:
- Union Types, Case Types and Type Matching:
Transaction = TransferTransaction | IssueTransaction | DataTransaction ...
- Initialization of arrays using
base64
text - Useful information in error message then a transaction is not allowed by the script
- Union Types, Case Types and Type Matching:
- Update to RIDE IDE: multiple tabs and Base64 support
What are Union Types, Case Types and Type Matching
Previously it was not neccessary but very important to check transaction type before accessing field:
if (tx.type == 4) tx.recipent == ...
But that's error-prone, because
if (tx.type == 44) tx.recipent == ...
would still compile and result in execution error.
With this change, each transaction type has its own fields, and you have to match tx type first:
match tx {
case t: TransferTransaction => t.recipient = ... # works
case d: DataTransaction => d.recipient = ... # won't compile!
case _ => false
}
In this example, tx
, d
don't have recipient
field, but t
has. All calls to transaction fields are now exception-free.
Update notes
Due to changes to RIDE scripts serialization we have to truncate the Testnet's blockchain. Please, delete existing data and resync from the network.
Version 0.13.1 (Testnet Only)
In this release
This is a bugfix release. The bug in the NXT PoS, that was introduced in v0.13.0, was fixed.
Update notes
Some blocks in Testnet are invalid. In order to switch on the correct chain, please, delete existing blockchain data and import blocks from a binary file or the network.
Version 0.13.0 (Testnet Only)
In this release
- Fair PoS
- DataTransaction update (increased value size, string data type, base64 encoding)
- Smart Contracts improvements
- Waves and Asset distribution report performance improvements
New features
- Feature 8 "Fair PoS"
Please vote for new feature 8.
Update notes
With this release, we're rolling back Testnet blockchain to block 366057 to accommodate for changes in the way Sponsor Fee Transaction is signed. Please, use import/export routine or download the blockchain from the network.
Version 0.12.0 (Testnet Only)
In this release
- Smart Accounts & Smart Assets
- Fee Sponsorship
New features
- Feature 4 "Smart Accounts"
- Feature 7 "Fee Sponsorship"
Read more about Fee Sponsorship at new Waves Documentation site.
Please, read about Smart Accounts & Smart Assets.
The IDE for Smart Contracts programming language RIDE is available at ide.wavesplatform.com. Feel free to ask questions and discuss Smart Accounts at our Discord channel #smart-contracts.
Please, vote for new features 4 and 7.
Note about activation of Fee Sponsorship
Activation of "Fee Sponsorship" starts a cooldown period of 3000 blocks (on Testnet). During this time it is possible to create Fee Sponsorship transactions, but they will be active and will replace the Assets Fee Settings only at the end of the cooldown period.
Update notes
A minor bug in the state was fixed. Because of this, the full rebuild of the state is required. Please, use import/export routine or download the blockchain from the network.
Version 0.11.1 (Testnet Only)
In the release
- New feature 6 "Burn any tokens"; It's now possible to burn an asset by any owner not only by an issuer, of course, the burn is limited by the amount in possession
- Fixed bug of how Data Transaction stored
Please, start voting for Feature 6.
Update notes
In case of moving from version 0.11.0 before activation of Data Transaction just update binary files, no need to rebuild the storage.
If you are moving from an older version or version 0.11.0 after activation of Data Transaction, please, remove existing data and reload from the network.
Version 0.11.0 (Testnet Only)
In this release
- Optimized LevelDB storage; This version imports blockchain twice faster than version 0.10.x
- New Data Transaction; A step towards Smart Accounts and Smart Assets
- Updated DEX Matcher API
Please, vote for the new feature number 5 (Data Transaction).
Read about Data Transaction on our new documentation site.
Update notes
It is required to rebuild storage. Use export/import to reimport existing blockchain or download it from the network.
Version 0.10.3 (Mainnet & Testnet)
This release is not mandatory. In the release, we slightly improved the node API and fixed a minor bug.
In the release
- New API method to get detailed information about an asset
- New API method to get local time on a node
Update notes
This release has fully compatible storage format with versions 0.10.x and 0.9.x. You don't have to reload the blockchain, just update binary files.
Checksums
MD5 (waves-testnet_0.10.3_all.deb) = b2730538ad37d620926e5f69a2467024
MD5 (waves-all-0.10.3.jar) = b01727e3ff5d45aff67a070aea88bd5d
MD5 (waves_0.10.3_all.deb) = 27085b10889b6c381649e8a656bb30b8
Version 0.10.2 (Mainnet & Testnet)
In this release
- New Mass Transfer transaction goes to Mainnet
- Various bug fixes
Please, read documentation about Mass Transfer Transaction.
New feature voting
Mass Transfer transaction is the new feature #3. To vote for the feature, please, edit node's configuration file as follows:
features {
supported = [3]
}
Update notes
If you are updating from version 0.9.x just update the binaries and put voting for feature #3 in the configuration file.
In case of updating from earlier versions, please, follow the update notes for the version 0.9.2.
Checksums
MD5 (waves-all-0.10.2.jar) = d39d86b179c9a5ed88cfe1f00b45c2f0
MD5 (waves_0.10.2_all.deb) = bb4791158114ff50578a5124e5309122
MD5 (waves-testnet_0.10.2_all.deb) = bd691b7cf385e1081198a1f3797a394d
Version 0.10.1 (Testnet Only)
In this release
- Mass Transfer transaction format updated
Please, update before feature 3 activation, nodes with version 0.10.0 will end up on a fork.
Checksums
MD5 (waves-all-0.10.1.jar) = 922ec5a3fa5e6606e355a9c3a4d340b3
MD5 (waves-testnet_0.10.1_all.deb) = ec05b7d38ae0834da992a22a3fc2b3fa