v0.20.0
v0.20.0
Special Notes
Please note, the build directions and project dependencies have changed
Upgrade to this release is required
Network Upgrade at block 2,000,000
This release contains a network consensus update at block 2,000,000 which will not permit an output of a transaction to exceed 1/4th of the total supply (250,000,000,000.00 TRTL). Due to the static mixin size requirement of 3
mixins and thus a ring size of 4
, it is impossible to have enough mixins available to spend an output larger than 250 billion TRTL.
End of Life (EOL) Notice
This release is last release to contain legacy zedwallet. Any releases of the core suite after v0.20.0 will replace the legacy zedwallet with zedwallet++ and all legacy zedwallet code will be removed. Please make sure that you have backed up your keys from legacy wallets, upgraded them to the new format by using zedwallet-beta, wallet-api, or wallet-upgrader and that you can access your wallets using the above tools.
Clarification: turtle-service is not being deprecated as part of this process. It will still be available until further notice specifically regarding that binary.
End of Support (EOS) Notice
Support will be provided for legacy zedwallet through December 31, 2019. After that date, legacy zedwallet will no longer be supported.
Full Node Resync May Be Required
This release contains 2
fixes to the way that data is serialized/deserialzed. The fixes are necessary for the proper operation of TurtleCoind
; however, the fix may reveal data corruption in your local copy of the blockchain (both the database and underlying local cache). Unfortunately, the only way to resolve the data corruption is purge the corrupted data and resync from that point or perform a full resync.
If you encounter a message stating that your local blockchain cache is corrupted, please try the directions given (be patient, it may take a while). Or, you may resync your node from scratch.
Checkpoints
To help speed up your sync, you may use checkpoints to help speed things up.
Bootstrap
Alternatively, you may also use a bootstrap to import the blockchain using a copy of the local cache.
Link | Files Included | Snapshot Height | Size | CDN |
---|---|---|---|---|
trtl.se | blocks.bin , blockindexes.bin , & DB folder |
1,814,058 | 55.5GB | No |
TurtlePay Bootstrap | blocks.bin & blockindexes.bin |
1,940,000 | 21.3GB | Yes |
Note: Bootstraps containing the DB
folder may require the deletion of the DB
folder before use.
TurtleCoind Default Settings Change
The default database write buffer size, read buffer size, maximum open files, and background threads have decreased to help with daemon stability. The decreases are as follows:
- Write Buffer Size:
1GB
->256MB
- Read Buffer Size:
1GB
->128MB
- Maximum Open Files:
500
->125
- Background Threads:
10
->4
These values may need adjusted based on your system resources, configured limits, etc. Please review the TurtleCoind --help
for changing these values at runtime. We recommend that pool and other service operators run with higher values for the best performance.
Release Notes
General Updates
- Removed unused code and other general code cleanup
- Removed some Boost dependencies throughout the codebase
- Resolved OSX compilation errors in some environments
- Resolved a bug when deserializing data in some edge cases
- Added additional community seed nodes:
- @HashVault
- @ExtraHash
- @LeoStehlik
- Scheduled network upgrade at block 2,000,000 that will no longer permit transaction outputs in excess of 250,000,000,000.00 TRTL to mitigate creating unmixable outputs
250,000,000,000 * 4 (current ring size)
is equal to the total supply
- Wallets will refrain from creating outputs larger than 1,000,000,000.00 TRTL to mitigate the risk of creating unmixable outputs.
- This value is 1/1000th of the total supply
- Enabled GitHub Actions to try out GH's new CI tools -- @rashedmyt
- Now builds consistently with boost >= 1.70
TurtleCoind Updates
- Resolved #889: p2p-external-port out of range
- Resolved #910: setting db-enable-compression in a config file doesn't work
- Moved a few warning messages to debug messages as part of normal network operations
- Changed RocksDB compression engine from LZ4 to ZSTD for better compression ratios
- Upgraded RocksDB to v6.4.0
- Removed support for SQLite local blockchain cache due to performance issues
- Removed support for RocksDB local blockchain cache due to storage amplification issues
- Resolved an issue in returning RawBlocks via
/getblocks
endpoint - Added optional
blockCount
parameter to/getblocks
endpoint - Improved the output of
print_pool_sh
in the daemon console - Improved the output of
status
in the daemon console - Improved the transaction validation routine to allow for faster transaction validation on adding to pool
- Improved the pool transaction validation routine when a new block is added to the chain
- The
/queryblocksdetailed
endpoint has been moved behind the--enable-blockexplorer-detailed
configuration option - Updated daemon CORS policy to support request preflights -- (@kryptonchain)
- Added the current version to the
status
command - Added
?
as an alias ofhelp
in the daemon console - Added helpful error message that provides directions for recovering from blockchain cache corruption in the local data storage
zedwallet Updates
- N/A
zedwallet++ (zedlwallet-beta) Updates
- Resolved #894: zedwallet-beta segfaults if you attempt to open a directory (@ExtraHash)
- Added user-agent string to requests made to a node
- Resolved issue when upgrading a wallet from legacy wallet structures
- Resolved issue whereby locked inputs may have been removed from a wallet erroneously
turtle-service Updates
- N/A
wallet-api Updates
- Added user-agent string to requests made to a node
- Resolved issue when upgrading a wallet from legacy wallet structures
- Resolved issue whereby locked inputs may have been removed from a wallet erroneously
miner Updates
- N/A
cryptotest Updates
- N/A
wallet-upgrader (NEW)
- Created a simple tool designed to upgrade wallets to the latest wallet format used by
zedwallet++
andwallet-api
Known Issues
- #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
- #893: Incorrectly resetting instead of rewinding on subwallet import
How To Sync Quickly
Visit the checkpoints how to use site for simple to follow directions on using checkpoints.
How To Compile
Please see the How To Compile section of the project README for instructions on how to compile this release on your system.
Changelog
See the TurtleCoin Release page for the full change history.
Thanks
Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community