Skip to content
This repository has been archived by the owner on Apr 16, 2023. It is now read-only.

v0.20.0

Compare
Choose a tag to compare
@brandonlehmann brandonlehmann released this 31 Oct 17:37
638727c

image

v0.20.0

Build Status Build status

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:
  • 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 of help 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++ and wallet-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