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

Releases: turtlecoin/turtlecoin

v1.0.1

02 Dec 02:53
02ee0f0
Compare
Choose a tag to compare

The network successfully halted at block 5,500,000 on Wednesday March 15, 2023 at 16:04:29 GMT. Transacting on the network is no longer possible.

If you did not swap your funds over for wTRTL before the network shut down, there is no way to do so now.

The shutdown was announced on December 1, 2021 and there was over a year to swap over between November 27, 2021 and March 15, 2023.

image

v1.0.1

Master Build Status

Build Status

Special Notes

Upgrade to this release is mandatory

Final Release & Network Shutdown

This is the final release of the TurtleCoin v1 software and network. After more than a year (last release October 8, 2020) of running steady without issue, this final release contains the last few housekeeping items that people have come across over the last 11 months including a few bug fixes that resolve edge cases for some users and service operators.

We've also adjusted consensus to halt the chain at block 5,500,000. To ensure that transactions do not get trapped in the final hour of the network, new transactions will no longer be accepted in blocks, in the transaction pool, or otherwise at block 5,499,940.

As this is the final release, the repo has been squashed down to the root at the request of the core maintainers who put in a vast majority of the development work to get us this far.

End of Life (EOL) and End of Support (EOS) Notice

Please also note that this final release marks the End of Life for this iteration of TurtleCoin.

Funds should be migrated within the coming year over to wTRTL, the next iteration of our adventure as a community.

This notice serves as the End of Support notice for this software. Support will be provided, on a volunteer basis, until block 5,500,000; however, we suggest that you swap your funds over to wTRTL sooner rather than later.

We hope you will stick around with us and keep mining until the very end.

"See you on the other side" - RockSteady (RIP)

Release Notes

General Updates

  • Resolved an issue where /block API endpoints required the block explorer to be enabled and shouldn't have
  • As always, updating boost dependencies in the CI/CD pipeline (good riddance)
  • When a transaction fails validation, return the actual reason to the wallet (very helpful)
  • Fixed an issue with the rewind/reset arguments being ignored in WalletAPI & Zedwallet
  • End of Support for Mac OS in CI/CD. We expect it to still work okay if you compile yourself.
  • Updated Snappy dependency as it was causing some issues with MSVC
  • Updated internal checkpoints to the latest available
  • Resolved an issue wherein retrieving random outputs from the daemon for mixing would throw imaginary errors
  • Formatted the code one last time

Known Issues

  • N/A

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

A special thanks to the following contributors who submitted code to this repo directly (in descending order of commits, changes, etc.)

@zpalmtree
@brandonlehmann
@RocksteadyTC
@rashedmyt
@mrrovot
@thinkpol2
@dirtybits
@rixombea
@nnamon
@jprjr
@wrkzdev
@sumlnoether
@SoreGums
@yamiM0NSTER
@andrewnk
@hensleyrob
@LeoStehlik
@ExtraHash
@funkypenguin
@gxhshw
@lamby
@wreiner
@bwentzloff
@crappyrules
@ngeojiajun
@blakelapierre
@DaveLong
@trashbandit
@deertacos
@holytastyguacamole
@michelangelo314
@scottjw
@imperdin
@mager
@pypper
@0des
@HashVault
@cryptoBOOOOM
@CutterDev
@krruzic
@ftwillms
@Watt3r
@dmaillard
@Swardu
@hooftly
@Sajo8
@mark9064
@CaptainMeatloaf
@devinbileck
@anonanonymous
@fexra
@DevAurelius
@astrorigin
@mlametta
@iwoojoo
@gregmeszaros
@SylarBend

v1.0.0

08 Oct 16:22
a7df2cf
Compare
Choose a tag to compare

image

v1.0.0

Master Build Status

Build Status

Special Notes

Upgrade to this release is required

Network Upgrade at block 3,000,000

This release includes a mandatory network upgrade at block 3,000,000 that implements a change to the Proof of Work (PoW) algorithm for the network to Chukwa v2 (1 Thread, 1MB memory, 4 iterations). Pools, nodes, and services are required to upgrade to this new PoW to continue mining blocks at block 3,000,000 as blocks mined with the previous version of Chukwa will be rejected.

Daemon API Changes

The daemon API has changed significantly in this version. The vast majority of the API calls have been removed, migrated, or otherwise adjusted such that all services using such API require that you perform updates to your packages. The API calls have moved to a most RESTful approach and the endpoint routes have changed. Please see https://meta.turtlecoin.dev/proposals/daemon-api/ for information on what the new API looks like and update your packages accordingly.

Note: Please be mindful when updating your packages that the property names in the returned responses including their name, case, structure, and/or data type may have changed.

Client / Wallet Upgrades are Mandatory

The API changes indicated in the daemon require that you use the latest version of the core wallet software. If you use a wallet other than wallet-api or zedwallet++ that wallet software must be updated to support the new API. As such using older wallet software with public node(s) that have upgraded to this release will fail until your wallet software is upgraded.

End of Life (EOL) and End of Support (EOS) Notice

Please note that v0.28.3 was the last release to contain turtle-service. This release no longer contains the turtle-service binaries or source code and thus is no longer supported. You must convert to wallet-api to continue working with the network as it is the only service to be upgraded in conjunction with numerous daemon API changes. If you have not converted your wallet(s) and or services over to Proton, zedwallet, or wallet-api you are encouraged to do so now. Should you experience any issues working with wallet-api, please make sure that you open an issue so that the issue may be resolved as quickly as possible.

Legacy Wallet Support Removed

Support for legacy wallets (ie. those created with simplewallet and/or turtle-service) has been removed from the project. We highly suggest that you upgrade your wallet(s) using a prior version of the core suite via wallet-api or zedwallet++ or recreate your wallets from the recovery mnemonic or keys using zedwallet or wallet-api.

As always, make sure you have backed up your keys as that is the only foolproof way to restore your wallet in the event of an issue.

Release Notes

General Updates

  • Bump version to 1.0.0
  • Removed turtle-service
  • Removed NodeRpcProxy
  • Removed support for legacy wallet versions
  • Removed WalletUpgrader
  • Removed support for upgrading legacy wallets to new wallet format
  • Removed WalletGreen
  • Implemented consensus change at block 3,000,000 via major block v7 to Chukwa v2
  • Replaced all usage of nlohmann::json with rapidjson
  • Updated coverage of TX_EXTRA field parsing
  • Numerous CI/CD process changes in support of newer GH runners

TurtleCoind Updates

  • Required P2P minimum version bump to v11
  • Upgraded API endpoints to RESTful style calls (see. https://meta.turtlecoin.dev/proposals/daemon-api/).
  • Resolved a bug in the retrieval of headers such that the iterator was decrementing below 0 and thus trying to look for blocks that will not exist
  • Change the /indexes endpoint to be inclusive of the end height supplied
  • Added explorer property to the /info API call
  • Adjusted TX_EXTRA field ordering in block templates such that they are ordered by tag type (ascending)
  • Catch and handle segfaults when block is not found in some explorer methods

zedwallet++ Updates

  • Updated user expoded file path opening with error messages
  • Added --reset CLI flag
  • Added rewind to height CLI flag
  • Updated WalletBackend to rewind on subwallet import

wallet-api Updates

  • Updated WalletBackend to rewind on subwallet import
  • Added rewind endpoint (see documentation for more information)
  • Prevent the import of wallets that already exist in the wallet container
  • Update Regex matchers in API endpoints

miner Updates

  • Updated support for new daemon API
  • Updated support for Chukwa v2

cryptotest Updates

  • Inclusion of Chukwa v2 test hashes and verification

Known Issues

  • N/A

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

v0.28.3

16 Aug 22:21
342cc11
Compare
Choose a tag to compare

image

v0.28.3

Master Build Status

Build Status

Special Notes

Upgrade to this release is highly recommended and upgrade to any 0.28.x release is mandatory for the majority of users

Pool and service operators should treat this as a mandatory upgrade to prevent possible issues with mined block acceptance.

End of Life (EOL) and End of Support (EOS) Notice

Please note that v0.28.x are the last releases to contain turtle-service. Releases after 0.v28.x will no longer contain the turtle-service binaries and the code will be removed. The next release will not contain turtle-service or any legacy WalletGreen dependencies. If you have not converted your wallet(s) and or services over to Proton, zedwallet, or wallet-api you are encouraged to do so soon. The next release will remove all legacy support for older wallets and the daemon API will be changed thus rendering turtle-service inoperable. Should you experience any issues working with wallet-api, please make sure that you open an issue so that the issue may be resolved as quickly as possible.

This also establishes the timeline for the End of Support (EOS) of turtle-service being the next release (v1.0.0). With the release of v1.0.0, turtle-service will no longer be supported or work with the core software.

As always, make sure you have backed up your keys as that is the only foolproof way to restore your wallet in the event of an issue.

Release Notes

General Updates

  • General CI/CD updates due to GH Actions updates

TurtleCoind Updates

  • P2P minimum version bumped to 11
  • Resolved regression whereby block submissions to the daemon would result in a failure to accept a valid block in rare instances. -- Special thanks to the Hashvault.pro pool for notifying us of this bug.

zedwallet++ Updates

  • N/A

turtle-service Updates

  • N/A

wallet-api Updates

  • N/A

miner Updates

  • N/A

cryptotest Updates

  • N/A

wallet-upgrader

  • N/A

Known Issues

  • #893: Incorrectly resetting instead of rewinding on subwallet import resolved in v1.0.0
  • #943: wallet-upgrader needs further scrutiny dropped in v1.0.0
  • #1024: Prevent importing same wallet multiple times resolved in v1.0.0

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

v0.28.1

26 Jul 22:32
a0bf8fd
Compare
Choose a tag to compare

image

v0.28.1

Master Build Status

Build Status

Special Notes

Upgrade to this release is mandatory

Network Upgrade at block 2,800,000

This release includes a mandatory network upgrade at block 2,800,000 that enforces a requirement that coinbase transactions (miner rewards) be provably claimed by a miner (or pool). This is a consensus level requirement that helps to reinforce the security of the network.

End of Life (EOL) and End of Support (EOS) Notice

Please note that v0.28.x are the last release(s) to contain turtle-service. Releases after 0.v28.x will no longer contain the turtle-service binaries and the code will be removed. The next release will not contain turtle-service or any legacy WalletGreen dependencies. If you have not converted your wallet(s) and or services over to Proton, zedwallet, or wallet-api you are encouraged to do so soon. The next release will remove all legacy support for older wallets and the daemon API will be changed thus rendering turtle-service inoperable. Should you experience any issues working with wallet-api, please make sure that you open an issue so that the issue may be resolved as quickly as possible.

This also establishes the timeline for the End of Support (EOS) of turtle-service being the next release (v1.0.0). With the release of v1.0.0, turtle-service will no longer be supported or work with the core software.

As always, make sure you have backed up your keys as that is the only foolproof way to restore your wallet in the event of an issue.

Release Notes

General Updates

  • #1072: Fixed numerous Clang 10 warnings & Updated RocksDB to v6.10.2
  • #1073: Require coinbase transactions to prove their destination address

TurtleCoind Updates

  • #1078: Create Pool Nonce TX_EXTRA tag

zedwallet++ Updates

  • #1074: Fixed a potential infinite loop while exiting

turtle-service Updates

  • #1084: Resolves an error whereby the payment ID was not being properly included in transactions created with turtle-service

wallet-api Updates

  • #1074: Fixed a potential infinite loop while exiting

miner Updates

  • N/A

cryptotest Updates

  • N/A

wallet-upgrader

  • N/A

Known Issues

  • #893: Incorrectly resetting instead of rewinding on subwallet import
  • #943: wallet-upgrader needs further scrutiny
  • #1024: Prevent importing same wallet multiple times
  • #1028: Issue with compiler gcc-7 on Ubuntu 18

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

v0.26.0

30 May 20:22
e36f628
Compare
Choose a tag to compare

image

v0.26.0

Master Build Status

Build Status

Special Notes

Upgrade to this release is recommended

End of Support (EOS) Notice

Legacy zedwallet is no longer supported. zedwallet++ has officially replaced legacy zedwallet in all builds. If you're having problems with legacy zedwallet, you're on your own.

End of Life (EOL) Notice

Please note that v0.28.0 will be the last release to contain turtle-service. Releases after 0.v28.0 will no longer contain the turtle-service binaries and the code will be removed. In preparation for this EOL, please work to implement wallet-api in your application(s), perform testing, and report any issues that you encounter so that they may be resolved as quickly as possible.

Note: The End of Support (EOS) date for turtle-service has not been set at this time. Please pay attention to release notes for further information regarding turtle-service EOS.

Release Notes

General Updates

  • #1049: Updated COMPILE.md with directions for CentOS 7.x (thanks @sohamb03)
  • #1050: Updated OpenSSL to 1.1.1f in AARCH64 Cross-Compilation (thanks @rashedmyt)
  • #1051: Updated Windows CI (GH Actions) Builds
  • #1060: Updated CI build instructions to use the latest GH Actions image(s)
  • #1062: Add LevelDB support (big thanks to @wrkzdev & @zpalmtree)
    • Enable use of LevelDB instead of RocksDB using the --db-enable-level-db configuration switch
    • If you'd like to switch to using LevelDB, you must fully resync your node

TurtleCoind Updates

  • #1057: Daemon CORS Header Adjustment (no longer handles an array as that is unsupported in the HTTP header)

zedwallet++ Updates

  • N/A

turtle-service Updates

  • #1061: Fix block with final transaction with invalid public key preventing wallet syncing

wallet-api Updates

  • #1048: Add /transactions/paymentid and /transaction/paymentid/{paymentid} endpoints

miner Updates

  • N/A

cryptotest Updates

  • N/A

wallet-upgrader

  • N/A

Known Issues

  • #893: Incorrectly resetting instead of rewinding on subwallet import
  • #943: wallet-upgrader needs further scrutiny
  • #1021: Buffer overflow in wallet-api
  • #1024: Prevent importing same wallet multiple times
  • #1028: Issue with compiler gcc-7 on Ubuntu 18

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

v0.24.0

22 Mar 12:38
3270ffe
Compare
Choose a tag to compare

image

v0.24.0

Master Build Status

Build Status

Special Notes

Upgrade to this release is recommended

End of Support (EOS) Notice

Legacy zedwallet is no longer supported. zedwallet++ has officially replaced legacy zedwallet in all builds. If you're having problems with legacy zedwallet, you're on your own.

End of Life (EOL) Notice

Please note that v0.28.0 will be the last release to contain turtle-service. Releases after 0.v28.0 will no longer contain the turtle-service binaries and the code will be removed. In preparation for this EOL, please work to implement wallet-api in your application(s), perform testing, and report any issues that you encounter so that they may be resolved as quickly as possible.

Note: The End of Support (EOS) date for turtle-service has not been set at this time. Please pay attention to release notes for further information regarding turtle-service EOS.

Release Notes

General Updates

TurtleCoind Updates

  • #1015: Fix issue where has was interpreted as height
  • #1031: Prevent calling certain endpoints when unsynced
  • #1032: Use a thread safe DB access method for threaded input is spent check
  • #1035: Fix race conditions in pool and submit block
  • #1037: Better way to ensure daemon is fully synced

zedwallet++ Updates

  • #1016: Allow parallel send transaction requests to not interfere with each other
  • #1026: Add logging to file arg for zedwallet and wallet-api

turtle-service Updates

  • #1004: Fix bug in handling of fee params in created delayed transaction

wallet-api Updates

  • #1001: Fix path of delete prepared transaction
  • #1016: Allow parallel send transaction requests to not interfere with each other
  • #1018: Fix invalidly accessing JSON causing throw
  • #1023: Ensure we do not add inputs to a container more than once
  • #1026: Add logging to file arg for zedwallet and wallet-api
  • #1027: Add exporting wallet JSON to file to wallet-api
  • #1029: Add optimize target parameter

miner Updates

  • N/A

cryptotest Updates

  • #1012: Multi-signature primitives

wallet-upgrader

  • N/A

Known Issues

  • #893: Incorrectly resetting instead of rewinding on subwallet import
  • #943: wallet-upgrader needs further scrutiny
  • #1021: Buffer overflow in wallet-api
  • #1024: Prevent importing same wallet multiple times
  • #1028: Issue with compiler gcc-7 on Ubuntu 18

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

v0.22.0

07 Jan 13:01
6b800a9
Compare
Choose a tag to compare

image

v0.22.0

Master Build Status

Build Status

Special Notes

Upgrade to this release is required

Network Upgrade at block 2,200,000

This release contains a network consensus update at block 2,200,000 that activates the following consensus rules:

  • A single transaction must not contain more than 90 outputs
  • Minimum network transaction fees are now calculated via a fee-per-byte method.
    • Transactions with a fee of less than the minimum fee-per-byte amount will be rejected by the network.
    • Fusion transactions remain free
    • See #967 for more details.

The change to fee-per byte takes effect immediately in zedwallet, wallet-api, and turtle-service in this release. The software will not wait for the network upgrade before setting the minimum transaction fee via fee-per-byte.

End of Support (EOS) Notice

Legacy zedwallet is no longer supported. zedwallet++ has officially replaced legacy zedwallet in all builds from here on out. If you're having problems with legacy zedwallet, you're on your own.

End of Life (EOL) Notice

Please note that v0.28.0 will be the last release to contain turtle-service. Releases after 0.v28.0 will no longer contain the turtle-service binaries and the code will be removed. In preparation for this EOL, please work to implement wallet-api in your application(s), perform testing, and report any issues that you encounter so that they may be resolved as quickly as possible.

Note: The End of Support (EOS) date for turtle-service has not been set at this time. Please pay attention to release notes for further information regarding turtle-service EOS.

Reminder

Wallets created and/or managed by zedwallet are no longer compatiable with with turtle-service. To be very clear, turtle-service can only open wallets created with turtle-service as of this release.

TurtleCoind API Changes

A number of API changes have been made as a result of the RPC rewrite in #903. The /getinfo, /getheight, /getpeers, and /getfee calls have been removed in lieu of /info, /height, /peers, and /fee. In addition, quite a few json_rpc calls were removed as they were deemed redundant during the rewrite. All of the TurtleCoind API calls remaining are listed below. All other API methods have been removed.

  • /info
  • /fee
  • /height
  • /peers
  • /json_rpc
    • getblocktemplate
    • submitblock
    • getblockcount
    • getlastblockheader
    • getblockheaderbyhash
    • getblockheaderbyheight
    • f_blocks_list_json
    • f_block_json
    • f_transaction_json
    • f_on_transactions_pool_json
  • /sendrawtransaction
  • /getrandom_outs
  • /getwalletsyncdata
  • /get_global_indexes_for_range
  • /queryblockslite
  • /get_transactions_status
  • /get_pool_changes_lite
  • /queryblocksdetailed
  • /get_o_indexes
  • /getrawblocks

Wallet Software & Node Interaction

Due to fixing the HTTP verbs (GET vs POST) as part of the rewrite, it is unlikely that older versions of wallet software will properly sync with Daemon’s running v0.22.0+. Please make sure you are always using the latest version of your favorite wallet software.

Release Notes

General Updates

  • Implemented #915: Switch to GitHub Actions for CI/CD
  • Resolved #925: Link in SSS3 Support in Argon2
  • Accepted #934: Remove legacy Zedwallet and promote Zedwallet++ out of beta
  • Implemented #938: Update error codes to be in line with js backend
  • Implemented #945: Enforce Excessive Output Creation Limits
    • Implemented #968: Rework output capping
  • Implemented #951: Update CuvéeCZ Seed Node
  • Implemented #954: Reorder transaction validation to be easier to follow
    • Implemented #969: Remove invalid transactions from pool once a new block comes in
  • Implemented #967: Fee per byte
  • Implemented #987: Updated inbuilt checkpoints
  • Implemented #990: HTTP Client Retry on Socket Failure
  • Accepted #995: Updated README.md with directions for compiling on RHEL-based systems. Thanks @sohamb03
  • Accepted #999: Pass thru cmake used binary to rocksdb cmake build

TurtleCoind Updates

  • Resolved #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
  • Implemented #903: Full RPC rewrite with threading
  • Resolved #942: Fix a bug that prevents blockchain to be loaded if the blockindexes.bin corrupts. Thanks @ngeojiajun
  • Implemented #946: Update Transaction Pool To Account For Additional Metrics in Transaction Ordering
  • Resolved #952: wallet-api creates hundreds of connection to node daemon
  • Implemented #954: Limit the number of Fusion Transactions In The Transaction Pool
  • Implemented #965: Threaded Input Validation
    • Adds new daemon CLI argument --transaction-validation-threads to specify the number of threads to use. Defaults to maximum on a per system basis.
    • Implemented #970: Cancel the validation if one of the inputs is invalid instead of waiting for all inputs to be fully validated. Thanks @ngeojiajun
  • Implemented #975: Add size, fee to Daemon 's command print_pool_sh. Thanks @wrkzdev
  • Implemented #980: Fix Daemon status command when using threaded RPC
  • Implemented #982: Fix off by one error in transaction extra parsing
  • Implemented #986: Fix Legacy RPC Responses Containing Raw TX_EXTRA
  • Resolved #988: Error in Transaction Input Serialization
  • Implemented #993: Log the IP address of the requestor when they use the daemon RPC
  • Implemented #996: TransactionValidationResult Cross Thread Safety
  • Implemented #998: /getblocktemplate invalid returned offset
  • Updated P2P Version from 7 to 8 and set the minimum required to 7 to help with the network upgrade at block 2,200,000

zedwallet++ Updates

  • Implemented #831: Generating deterministic private spend keys for subwallets
  • Resolved #842: Key images are regenerated on transaction creation [WB]
  • Resolved #892: Updated WalletBackend and friends to return daemon rejection message
  • Resolved #922: Log data fetch failures and JSON deserialization failures in Nigel
  • Implemented #930: Improved nigel logging
  • Implemeneted #936: Update zedwallet++ to allow setting trace log level via command
  • Resolved #940: Need to deduct node fee + network fee before checking send_all validity
  • Implemented #948: Allow syncing with /getrawblocks instead of /getwalletsyncdata

turtle-service Updates

  • Implemented #981: Add User-Agent Header to HTTP requests made by NodeRpcProxy
  • Implemented #983: Fix turtle-service log levels not working as expected
  • Implemented #985: NodeRpcProxy HTTP Method fixes for Threaded RPC

wallet-api Updates

  • Implemented #831: Generating deterministic private spend keys for subwallets
  • Resolved #842: Key images are regenerated on transaction creation [WB]
  • Resolved #892: Updated WalletBackend and friends to return daemon rejection message
  • Resolved #922: Log data fetch failures and JSON deserialization failures in Nigel
  • Implemented #930: Improved n...
Read more

v0.20.0

31 Oct 17:37
638727c
Compare
Choose a tag to compare

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

v0.18.1

30 Aug 01:10
5d0399d
Compare
Choose a tag to compare

image

v0.18.1

Build Status Build status

Special Notes

This patch release reverts the difficulty reset. Mining Nodes may need to --rewind-to-height 1799999 to recover from the first pass of the upgrade that failed

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.

Release Notes

General Updates

  • Reverted difficulty reset for block 1,800,000
  • Resolved LZ4 linking error on some platforms

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

v0.18.0

13 Aug 00:26
27f042d
Compare
Choose a tag to compare

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:/...
Read more