Skip to content

@brandonlehmann brandonlehmann released this Aug 13, 2019

image

v0.18.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 1,800,000

The v0.18.0 release of the core TurtleCoin suite activates a network upgrade at block 1,800,000 that implements block major version 6. Block major version 6 changes the Proof-of-Work (PoW) algorithm to Chukwa. Please be sure to update your miners before the network upgrades to continue mining. We're working on the final steps to make sure the algorithm is supported in the most common mining packages and will post news in the official TurtleCoin blog as we are made aware of additional miners supporting the algorithm. In addition to the blog, we urge users to join the TurtleCoin Discord and type *news to be added to the announcements list to be notififed of the latest TurtleCoin updates.

Known Mining Software With Chukwa Support

Please see the mining software's documentation for how to activate the proper algorithm for mining TurtleCoin after the network ugprade.

Mining Software Not Listed

If your preferred mining software is not listed, please contact the developer/maintainer of the package and let them know you want TurtleCoin support!

Known Mining Pool Software With Chukwa Support (For Pool Operators)

The changes for supporting Chukwa in most pool software packages is minimal if the pool uses the TurtleCoin-Multi-Hashing Node.js module. However, if you need assistance adding support to your pool, please feel free to ask for assistance in the TurtleCoin Discord in the #dev_general channel.

TurtleCoind Default Settings Change

The default database write buffer size, read buffer size, maximum open files, and background threads have increased to help with daemon stability. The increases are as follows:

  • Write Buffer Size: 256MB -> 1GB
  • Read Buffer Size: 10MB -> 1GB
  • Maximum Open Files: 100 -> 500
  • Background Threads: 2 -> 10

These values may need adjusted based on your system resources, configured limits, etc. Please review the TurtleCoind --help for changing these values at runtime.

End of Life (EOL) Notice

The final release of zedwallet is scheduled for v0.20.0. 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.

Release Notes

General Updates

  • Added Chukwa support
    • Argon2id with 512KB memory, 3 iterations, 1 thread.
  • Scheduled block major version change to 6 at block 1,800,000.
  • Difficulty reset scheduled at block 1,800,000 to account for possible drops in network hashrate.
  • Switch to native builds instead of portable builds by default. Releases will still be default (portable) builds. Please see the build directions if you wish to compile portable builds.
  • CryptoNight based cryptography has been split into platform specific files to make it easier to read through the code.
  • Dropped support for gcc based builds on OSX due to ongoing issues with the gcc toolchain on that platform. Clang is the recommended toolchain for OSX.
  • Resolves an issue with the portable CryptoNight cryptography that would result in invalid hash calculations on some platforms.
  • Changed default build type from Release with Debug Info to Release
  • Core code reorganization to help reduce dependencies for some binaries thereby speeding up compilation for some users.
  • Removed unused code from the project.
  • Renamed all directories in the /src folder to lowercase
  • Internal checkpoints updated through block 1,705,000
  • Applied standard code formatting via clang-format to project source code.
    • New PRs must be formatted using clang-format against the changes before the PR will be accepted. For ease of use, the node script found at /scripts/format.js can be ran to travserse all of the necessary directories and format the code to the new standard.
  • Resolved a number of compiler warnings when using Clang or GCC
  • Simplified the Windows build instructions

TurtleCoind Updates

  • Resolved #815: QueryBlocksDetailed does not populate transaction extra "raw" property in response
  • Resolved #861: Return better error messages via the node /sendrawtransaction method
    • This now returns an informative error message in the error property of the response on why a submitted transaction failed to be broadcast to the network
  • P2P version increased to version 6 to assist with the upcoming network upgrade
    • Minimum version now set to 5
  • Increased the default DB write buffer size, read buffer size, max open files, and number of background threads to improve daemon performance. Thanks @LeoStehlik
  • Removed all references to testnet as that has not been supported in production code for quite some time.
  • Clarified the error message generated when a submitted transaction contains already spent input key images

zedwallet Updates

  • Resolved #839: Zedwallet crashing when parsing extra)
  • Resolved issue in edge cases where parsing of the public key from tx_extra would fail.

zedwallet-beta Updates

  • Added support for prefetching block information from nodes such that the wallet maintains a cache of blocks locally for processing versus waiting for new data before scanning for transactions.
  • Added support for multithreaded wallet syncing thereby allowing the wallet to sync faster than when just a single thread is used.
  • Added support for skipCoinbaseTransactions that is enabled by default that skips scanning coinbase transactions as the large majority of users do not directly receive block rewards. To enable the scanning of coinbase transactions, specify --scan-coinbase-transactions as a CLI argument.
  • Resolved issue in edge cases where parsing of the public key from tx_extra would fail.
  • Updated user messages to provide more information upon chain fork.
  • Added support for opening and thus transparently upgrading legacy wallets created by zedwallet and turtle-service.
  • Added set_log_level command
  • Resolved an issue in handling inputs during chain reorganization events

turtle-service Updates

  • N/A

wallet-api Updates

  • Added support for prefetching block information from nodes such that the wallet maintains a cache of blocks locally for processing versus waiting for new data before scanning for transactions.
  • Added support for multithreaded wallet syncing thereby allowing the wallet to sync faster than when just a single thread is used.
  • Resolved issue in edge cases where parsing of the public key from tx_extra would fail.
  • Updated some user messages to provide more information upon chain fork.
  • Added support for opening and thus transparently upgrading legacy wallets created by zedwallet and turtle-service.
  • Added --no-console option to allow for a non-interactive session thereby supporting wallet-api as a daemon process in the background
  • Resolved an issue in handling inputs during chain reorganization events
  • Corrected API HTTP status code responses for some endpoint calls

Special Note

  • Added support for skipCoinbaseTransactions that is enabled by default that skips scanning coinbase transactions as the large majority of users do not directly receive block rewards. To enable the scanning of coinbase transactions, specify --scan-coinbase-transactions as a CLI argument.
    • If you operate a pool or other service using wallet-api we highly recommend that you activate this option.

miner Updates

  • Reduced dependencies

cryptotest Updates

  • Added Chukwa testing
  • Added Chukwa benchmarking (single-core)

Known Issues

  • #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values

How To Sync Quickly

  • Download the latest checkpoints archive from https://github.com/turtlecoin/checkpoints
  • Unpack the archive and place checkpoints-all.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints-all.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints-all.csv

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

Assets 6
You can’t perform that action at this time.