Yesterday we released a new software build v18.104.22.168, in this version the most notable changes are some graphical changes and pre-downloading of the blockchain. The pre-downloading feature greatly reduces the sync time for fresh installs as it downloads a compiled image of the blockchain vs syncing block by block.
Listed below are all of the changes made since the last build release
[+] the first checkpoints are introduced for mainnet and testnet. Now space-saving technology is activated to keep both blockchain storage volume and sync bandwidth smaller. Checkpoints-related code was reviewed and polished before that.
[+] blockchain pre-downloading was implemented in order to significantly reduce sync-from-scratch time.
[+] all codebase was polished to pass Coverity static analysis check (many imperfections were fixed)
[*] fixed automatic small amount outputs consolidation when a PoS block is found by a user (it was broken in build 77)
[*] improved blockchain DB versioning and migration mechanism to provide more smooth DB upgrades in future builds
[*] wallet API: self-directed transactions with payment id are not allowed anymore (soft rule) to avoid issues with 3rd party services
[*] simplewallet: don’t put payment id into tx attachment if it’s empty (fixed a tiny bug)
[+] wallet API: introduced new long-call mode for wallets_manager
[+] Utilized wallets manager from GUI for mobile wallet native library, extended RPC API, polished remote-node mode, selected suitable timeouts for remote node mode, implemented asynchronous calls of native API for slow operations(to avoid freezing UI thread), significant fixes and new implementations all around
[*] simplewallet: transfer command syntax changed to accept only hex-encoded payment id
[*] Improved API for exchanges
[*] lots of fixes and small improvement all over the code
One of the new features in this build is the automatic outputs consolidation when a PoS block is found by a user.
1. When a wallet mints PoS block it checks whether there is enough unspent unlocked outputs of (exactly) 1.0 Zano
2. If there are > 100 such outputs, it creates a transaction that consolidates 101 of such outputs into a one output of 100 Zano (+ 0.9 + 0.09 ) + 0.01 fee, that is spent
3. This tx is added to the PoS block being mined, so tx’s fee is returned back to the miner’s wallet
4. As the result, the wallet instead of 101 outputs of 1.0 has 4 outputs (100 + 0.9 + 0.09 + 0.01)
The picture below is an example of what it looks like in the GUI
We hope to have more developments to share in the very near future, in the mean time everyone stay safe and healthy.
Latest Release: https://github.com/hyle-team/zano/releases