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

Releases: turtlecoin/turtlecoin

v0.14.6

20 May 15:21
9d2a318
Compare
Choose a tag to compare

image

v0.14.6

Build Status Build status

Special Notes

Please note, the build directions and project dependencies have changed

Upgrade to this release is required

Release Notes

General Updates

  • Resolved an issue in the CMake build directions that were causing issues in a rare number of circumstances.
  • Added fundamental SQLite3 support into the project
  • Project now builds under MSVC 2019
  • Project no linked statically against OpenSSL for zedwallet-beta and wallet-api to facilitate encrypted communication with a node.
  • Upgraded MiniUPNP dependency from v1.9 to v2.1. Thanks @rixombea
  • Upgraded Crypto++ dependency to v8.2. Thanks @thinkpol2
  • Enabled 32-bit builds. Thanks @thinkpol2
  • Resolved issue whereby Release builds enabled assert() usage
  • Reorganized source code structure for better modularization of core libraries

TurtleCoind Updates

  • Resolved #748: Block Transactions Blob Shuffle
    • Implemented in scheduled network upgrade at block 1.6M
  • Resolved #749: Timestamp Locked Input Transactions
    • Implemented in scheduled network upgrade at block 1.6M
  • Resolved #767: Fusions being prioritized over regular transactions
  • Added --resync CLI argument that makes it easier to perform a full resync than searching for and deleting the data directory
  • Added --rewind-to-height # CLI argument to allow for rewinding the local blockchain to a specific height thereby allowing us to overcome DB corruption errors
  • Added --p2p-reset-peerstate CLI argument to allow for clearing the p2p state information. Thanks to @DevAurelius
  • Added support for lz4 compression in RocksDB backend thanks to @rixombea
    • To use, specify --db-enable-compression as a CLI argument.
  • Added experimental feature to allow the use of RocksDB for the local blockchain cache that replaces the .bin files thanks to @rixombea
    • To use, specify --rocksdb as a CLI argument. Requires full resync.
  • Added experimental feature to allow the use of SQLite3 for the local blockchain cache that replaces the .bin files.
    • To use, specify --sqlite as a CLI argument. Requires full resync.
  • Updated JSON serialization methods. Thanks @rixombea

zedwallet Updates

  • N/A

zedwallet-beta Updates

  • Resolved: #708: Prune spent inputs after some period of time from WalletBackend
  • Resolved: #710: Rare Transaction Double Add Bug in WalletBackend
  • Resolved: #712: Support Blockchain cache API in Nigel
  • Resolved: #713: Added SSL support for talking to remote node(s). Activate it with a node via the --ssl CLI argument.
  • Resolved: #724: WalletBackend syncing doesn't remain O(1) when increasing the number of wallets
  • Resolved: #782: Small bug in getFusionTransactionInputs() thanks to @anonanonymous
  • Better daemon address parsing
  • Refactored common utilities
  • Added wallet synchronization backoff mechanism in the event that there is trouble retrieving blocks from the node.
  • Allow node to return earlier blocks during initial sync when scan height is specified
  • Updated JSON serialization methods. Thanks @rixombea
  • Aligned backup keys prompts to match current zedwallet order
  • Resolved issue whereby the node fee was not being redectected correctly on swap of node

turtle-service Updates

  • Updated JSON serialization methods

wallet-api Updates

  • Resolved: #708: Prune spent inputs after some period of time from WalletBackend
  • Resolved: #710: Rare Transaction Double Add Bug in WalletBackend
  • Resolved: #712: Support Blockchain cache API in Nigel
  • Resolved: #713: Added SSL support for talking to remote node(s). Activate it with a node via the --ssl CLI argument.
  • Resolved: #724: WalletBackend syncing doesn't remain O(1) when increasing the number of wallets
  • Resolved: #782: Small bug in getFusionTransactionInputs() thanks to @anonanonymous
  • Added wallet synchronization backoff mechanism in the event that there is trouble retrieving blocks from the node.
  • Allow node to return earlier blocks during initial sync when scan height is specified
  • Resolved issue whereby the node fee was not being redectected correctly on swap of node

miner Updates

  • N/A

cryptotest Updates

  • N/A

Known Issues

  • #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
  • #815: QueryBlocksDetailed does not populate transaction extra "raw" property in response

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.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.14.0

07 Apr 15:08
bdb85f6
Compare
Choose a tag to compare

image

v0.14.0

Build Status Build status

Special Notes

Please note, the build directions have changed

Upgrade to this release is required

Network Upgrade at Block 1,400,000

The v0.14.0 release of the core TurtleCoin suite activates a network upgrade at block 1,400,000 that forces the verification of the signature counts on transactions send throughout the network. This upgrade helps reduce the risk of blockchain bloat from malformed transactions. Special thanks goes to @michael-herwig for identifying this bug.

Release Notes

General Updates

  • Implements fork at 1,400,000 to reject new transactions where the signature count is incorrect for the number of inputs in the transaction. #743
  • CN Soft Shell algorithm altered (still unused by TurtleCoin) to allow for the user of CPU/GPU mining software
  • Removed all references to LWMA3 from the codebase to avoid further confusion
  • Resolved issue in some OSX build environments where building with the latest Xcode failed

TurtleCoind Updates

  • N/A

zedwallet Updates

  • N/A

zedwallet-beta Updates

  • Added additional logging facilities
  • Resolved #675 such that the future unlock time is displayed in in the UI if the input is locked as it comes in.
    • Special thanks to @dirtybits for their first core submission in resolving a Good First Issue

turtle-service Updates

  • N/A

wallet-api Updates

  • Added new /address/validate endpoint
  • Enhanced endpoints to allow the wallet to be open or closed depending on the endpoint used
  • Added additional logging facilities
  • Added publicSpendKey to /addresses/create
  • Now performs additional validation of parameters on numerous endpoint calls

miner Updates

  • N/A

cryptotest Updates

  • N/A

Known Issues

  • #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
  • #710: Rare Transaction Double Add Bug in WalletBackend
  • #724: WalletBackend syncing does not remain O(1) when increasing the number of wallets
  • #748: Block Transactions Blob Shuffle
  • #749: Timestamp Locked Input Transactions

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.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.13.0

26 Feb 16:01
df8735e
Compare
Choose a tag to compare

image

v0.13.0

Build Status Build status

Special Notes

Please note, the build directions have changed

Upgrade to this release is required

Network Upgrade at Block 1,300,000

The v0.13.0 release of the core TurtleCoin suite activates a network upgrade at block 1,300,000 that restricts transaction extra to a maximum of 1,024 bytes to prevent chain storage bloat. This release also activates logic immediately that stops transactions exceeding this size limit from entering the transaction pool or being selected during the getblocktemplate calls; however, until block 1,300,000 transactions included in a block may still have transaction extra data exceeding the 1,024 byte limit. Pools, miners, and services can do their part by upgrading their daemons as soon as possible.

Release Notes

General Updates

  • Renamed PAGE_SIZE parameter in slow-hash functions that was causing errors when building for some users.
  • Activated compiler cache for AppVeyor CI builds
  • Resolved a few edge case bugs whereby block synchronization may fall-through to different code paths.
  • Resolved issue #640 in AARCH64 builds that prevent the daemon from syncing to 100% height
  • Improved Mnemonics compilation speed
  • Resolved locale specific issue in Windows error messages
  • Updated to use platform independent randomness sources
  • Limits TX_EXTRA data field on transactions to <= 1,024 bytes
  • Implements fork at 1,300,000 to reject new transactions with TX_EXTRA data > 1,024 bytes

TurtleCoind Updates

  • Resolved issue #689 regarding consistent logging
  • Increased the level of the daemon when existing to provide insight and better error reporting when the daemon appears to hang while exiting.
  • Resolved issue #717 imprecision in fork countdown in status command
  • Added optional blockCount parameter to getwalletsyncdata method
  • Resolved issues #729, #728, & #727 regarding Lite Blocks issues. Thanks @michael-herwig.

zedwallet Updates

  • N/A

zedwallet-beta Updates

  • Replaced wallet saving/loading with rapidjson library. Issue #705
  • Optimized synchronization flow logic
  • Resolved edge case crashed when using a view wallet
  • Added the ability to return the transaction private key of a transaction you have sent. If you reset or rebuild your wallet, this option will not work.

turtle-service Updates

  • Restored -l CLI argument for the --log-file option

wallet-api Updates

  • Added /balances endpoint
  • Added optional unlock time parameter to /send/advanced endpoint
    • Now returns the privateSpendKey when creating a new address
  • Replaced wallet saving/loading with rapidjson library. Issue #705
  • Resolved issue #703 error whereby two wallet-api instances attempted to share the same bind port and address
  • Optimized synchronization flow logic
  • Various bug fixes to improve stability and overall experience
  • Resolved edge case crashed when using a view wallet

miner Updates

  • N/A

cryptotest Updates

  • Cleaned up and optimized duplicated code
  • Added benchmarks for underivePublicKey and generateKeyDerivation

Known Issues

  • #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
  • #710: Rare Transaction Double Add Bug in WalletBackend
  • #724: WalletBackend syncing does not remain O(1) when increasing the number of wallets

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.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.12.0

15 Jan 14:10
68f25ef
Compare
Choose a tag to compare

image

v0.12.0

Build Status Build status

Special Notes

Please note, the build directions have changed

Upgrade to this release is required

Network Upgrade at Block 1,200,000

The v0.12.0 release of the core TurtleCoin suite activates a network upgrade at block 1,200,000 that implements block major version 5. Block major version 5 changes the Proof-of-Work (PoW) algorithm to CN Turtle. 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 CN Turtle Support

Please see the individual package documentation for how to activate the proper algorithm in the mining software.

If your preferred mining software is not listed, please contact the developer of the package and let them know.

Release Notes

General Updates

  • Added CN Turtle support
  • Addition of new libraries:
    • WalletBackend: The replacement for WalletGreen
    • Nigel: The butler that replaces NodeRPCProxy between WalletBackend and zedwallet-beta & wallet-api
  • Addition of new binaries:
    • zedwallet-beta: Upgraded zedwallet using the new WalletBackend
    • wallet-api: Upgraded turtle-service using the new WalletBackend now with RESTful API calls
  • Removal and cleanup of additional dead code paths
  • Resolved issue whereby a premine was not generated correctly in forked projects
  • LWMA3 upgrade rescheduled (tenatively) for block 2,000,000
  • MacOS release builds changed to clang compiled binaries
  • Added CN Dark support
  • Added a License canary to help alert those that fork the project that find all and replace is not the best way to fork the project
  • Updated CMake rules to verify that the compiler will work with the project
  • Refactored CMake rules
  • Added build caching to the CI build tests to speed up the CI process

TurtleCoind Updates

  • Reduced logging verbosity for a number of common benign messages
  • Added new /queryblocksdetailed RPC method
  • Addition of Lite Blocks to help speed up block propagation
  • Activated network upgrade to CN Turtle at block 1,200,000
  • Resolved an issue whereby RPC random outputs were not always shuffled properly
  • Permit the use of HTTP keep-alive headers to keep the connection open
  • Resolved an off-by-one error in the get blocks by height RPC call
  • Resolve an issue whereby it was possible to lock up the daemon with a faulty transaction status check in via RPC

zedwallet Updates

  • Resolved issue where some transfers would fail between addresses in the same container

zedwallet-beta Updates

  • New in 2019!

turtle-service Updates

  • Resolved edge cases where segfaults may occur during service initialization
  • Resolved issue where some transfers would fail between addresses in the same container

wallet-api Updates

  • New in 2019!

miner Updates

  • Usability improvements that prompt users for information instead of relying solely on the CLI arguments
  • Implement the use of the HTTP keep-alive header to re-use the connection the daemon to allow for faster blocktemplate updates

cryptotest Updates

  • Added additional tests for CN Turtle
  • Added additional tests for other algorithms included in the core

Known Issues

  • #603: Error in JSON serialization in multiple RPC methods regarding large uint64_t values
  • #640: Segmentation fault on ARM CPUs running TurtleCoind while synchronizing non-checkpointed blocks

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(Windows, Mac, Linux)

  • Open zedwallet.
  • If there are errors about the daemon being offline, you can safely ignore them by typing continue to reach the wallet interface.
  • Export your private keys and/or seed. You can do this by typing backup.
  • If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Save the keys/seed somewhere safe.
  • Unzip the new files into a new folder outside of the old version folder.
  • Copy your old wallet file into the new folder.
  • Close the old TurtleCoind and zedwallet by typing exit into each window.
  • Run the new TurtleCoind.
  • Run the new zedwallet.
  • Open your old wallet file in the new zedwallet.

If for some reason your wallet does not open, or does not sync, you can restore your wallet using the previously backed up keys.

  • Open zedwallet.
  • Type key_restore or seed_restore depending on if you have 2 private keys, or a mnemonic seed.
  • Enter your keys/seed when prompted.
  • Use any filename for the wallet name, it does not have to be the same.
  • Use any password for wallet password, it does not have to be the same as the last.

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.10.0

20 Nov 14:28
aa03142
Compare
Choose a tag to compare

image

Special Notes

Please note, the build directions have changed

Upgrade to this release is recommended.

The v0.8.4 release upgraded TurtleCoind to no longer communicate with versions older than v0.8.3. That update activated logic that blocks communication with legacy nodes. For additional information please see the That's It, Old Nodes Have Got To Go blog article.

Legacy Wallet Support

The ability to open pre-v0.6.2 wallets has been removed with this release. If you have opened pre-v0.6.2 wallets with software between v0.6.2 and v0.8.3 your wallet has already been upgraded to the newer format and will remain unaffected.

If you have not opened your wallet since before the v0.6.2 release, you will need to upgrade your wallet using v0.8.3 or reimport your keys into a new wallet using this release.

Release Notes

General Updates

  • Upgraded the entire project based on the C++17 standards
  • Cleaned up legacy code that is not used anymore
  • Added CN Soft Shell support
  • Added support for LWMA-3 (to be activated later)
  • More Travis-CI fixes
  • Updated the CLI & Config file parsing in all binaries to remove Boost dependency
    • Revamped the CLI --help options and made sure all binaries have them
    • Added the ASCII Art to the --help screens
  • Added a Project header that displays not only the ASCII Art but also relevant version, license, and copyright information when launching all binaries
  • Updated default checkpoints to include block two (2) to avoid issues with project forks

TurtleCoind Updates

  • Reduced verbosity caused by project forks
  • Removed Boost dependency in Mnemonics
  • Config files, where used, now use JSON formatted files instead of INI
    • Config files will be automatically upgraded to JSON and overwritten on first use
  • Updated to support height 1,000,000 in the status command

zedwallet Updates

  • N/A

turtle-service Updates

  • Config files, where used, now use JSON formatted files instead of INI
    • Config files will be automatically upgraded to JSON and overwritten on first use

miner Updates

  • N/A

cryptotest Updates

  • Added additional performance benchmarks

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(Windows, Mac, Linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open zedwallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. backup If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and zedwallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new zedwallet
  • Press I for IMPORT in zedwallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate turtle-service into their applications should note this crucial change from other CryptoNote coins.

Mandatory authentication has been added to the JSON RPC API interfaces of turtle-service. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

Linux

Prerequisites

You will need the following packages: boost, cmake (3.8 or higher), make, and git.

You will also need either GCC/G++, or Clang.

If you are using GCC, you will need GCC-6.0 or higher.

If you are using Clang, you will need Clang 5.0 or higher. You will also need libstdc++-6.0 or higher.

GCC setup, on Ubuntu
  • sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  • sudo apt-get update
  • sudo apt-get install aptitude -y
  • sudo aptitude install -y build-essential g++-8 gcc-8 git libboost-all-dev python-pip
  • sudo pip install cmake
  • export CC=gcc-8
  • export CXX=g++-8
  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build
  • cd build
  • cmake ..
  • make

The binaries will be in the src folder when you are complete.

  • cd src
  • ./TurtleCoind --version
Clang setup, on Ubuntu
  • sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  • wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

You need to modify the below command for your version of ubuntu - see https://apt.llvm.org/

  • Ubuntu 14.04 (Trusty)
  • sudo add-apt-repository "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty 6.0 main"
  • Ubuntu 16.04 (Xenial)
  • sudo add-apt-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial 6.0 main"
  • Ubuntu 18.04 (Bionic)
  • sudo add-apt-repository "deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic 6.0 main"

  • sudo apt-get update

  • sudo apt-get install aptitude -y

  • sudo aptitude install -y -o Aptitude::ProblemResolver::SolutionCost='100*canceled-actions,200*removals' build-essential clang-6.0 libstdc++-7-dev git libboost-all-dev python-pip

  • sudo pip install cmake

  • export CC=clang-6.0

  • export CXX=clang++-6.0

  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin

  • cd turtlecoin

  • mkdir build

  • cd build

  • cmake ..

  • make

The binaries will be in the src folder when you are complete.

  • cd src
  • ./TurtleCoind --version
Generic Linux

Ensure you have the dependencies listed above.

If you want to use clang, ensure you set the environment variables CC and CXX.
See the ubuntu instructions for an example.

  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build
  • cd build
  • cmake ..
  • make

The binaries will be in the src folder when you are complete.

  • cd src
  • ./TurtleCoind --version

Apple

Prerequisites
  • Install cmake. See here if you are unable to call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.
Building
  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install. If you used brew to install boost, your path is most likely /usr/local/include/boost.
  • make

The binaries will be in the src folder when you are complete.

  • cd src
  • ./TurtleCoind --version

If your version of gcc is too old, you may need to run:

  • brew install gcc@8
  • export CC=gcc-8
  • export CXX=g++-8

Windows

Prerequisites
Building
  • From the start menu, open 'x64 Native Tools Command Prompt for vs2017'.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • set PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin";%PATH%
  • cmake -G "Visual Studio 15 2017 Win64" .. -DBOOST_ROOT=C:/local/boost_1_68_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release /m

The binaries will be in the src/Release folder when you are complete.

  • cd src
  • cd Release
  • TurtleCoind.exe --version

Raspberry Pi 3 B+

The following images are known to work. Your operation system image MUST be 64 bit.

Known working images

Once you have a 64 bit image installed, setup proceeds the same as any Linux distribution. Ensure you have at least 2GB of ram, or the build is likely to fail. You may need to setup swap space.

Building
  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build
  • cd build
  • cmake .....
Read more

v0.8.4

27 Oct 17:19
63db3a4
Compare
Choose a tag to compare

image

Special Notes

Upgrade to this release is recommended. With this release TurtleCoind will no longer be able to communicate with versions older than v0.8.3. This update activates logic that blocks communication with legacy nodes. For additional information please see the That's It, Old Nodes Have Got To Go blog article.

Legacy Wallet Support

The ability to open pre-v0.6.2 wallets has been removed with this release. If you have opened pre-v0.6.2 wallets with software between v0.6.2 and v0.8.3 your wallet has already been upgraded to the newer format and will remain unaffected.

If you have not opened your wallet since before the v0.6.2 release, you will need to upgrade your wallet using v0.8.3 or reimport your keys into a new wallet using this release.

Release Notes

General Updates

  • Activates the logic to block communications with older daemon versions on the network.
  • Removed legacy RPC calls that are no longer used
  • Updated deployment keys to streamline binary releases
  • Moved the majority of configuration options into the src/config folder to make forking TurtleCoin easier than ever
  • Moved Mixin validation to Mixins.h
  • Resolved a regression in the build process that made the software unusable for some Windows users
  • Resolved bug with Mnemonics usage regarding case sensitivity
  • Upgraded to RocksDB 5.15.10
  • Added cryptotest tool to perform hash tests of the various algorithms and quick performance tests
  • Renamed hash method names in src/crypto/hash.h to reflect the proper names
  • Removed ConnectivityTool source files that were no longer used
  • Patched for the Coin Burning Bug related to duplicate one-time public key use.
  • Improved memory handling in slow-hash
  • Rebased slow-hash to Monero's implementation
  • Removed WalletLegacy from the project
  • Added additional checking to verify that a GENESIS_COINBASE_TX_HEX is included in the configuration to aid in troubleshooting projects forked from TurtleCoin

TurtleCoind Updates

  • Improved transaction relay handling
  • Changed CLI parameter --enable_blockexplorer to --enable-blockexplorer to match the syntax of other multi-word options
  • Improved daemon shutdown routines
  • Improved Mixin limit change handling on forking for future upgrades
  • Updated the Transaction Pool Cleaner to remove transactions with invalid mixin counts from the mempool
  • Extended gray peer info into the /getpeers response
  • Added simplified RPC calls to deprecate /getinfo, /getheight, /feeinfo, & /getpeers
    • /info, /height, /fee, & /peers

zedwallet Updates

  • Improved node initialization routine
  • Resolved bug in saving wallet whilst syncing
  • Added confirmation when importing a view-only wallet
  • Changed the order of input prompts when sending a transaction
  • Resolved issue where attempting to open a corrupted wallet resulted in the inability to open any other wallet afterwards
  • Updated to display help message when invalid CLI arguments are provided
  • Updated to provide a better estimate of wallet balances when a view wallet is used

turtle-service Updates

  • Improved log levels for various messages.
  • Added daemon local heigh parameter to getStatus() response.
  • Removed feeinfo method in favor of getFeeInfo
  • RPC password is no longer stored in memory in plain text
    • Implemented slow-hash routine to slow brute-force attempts against the RPC
  • Removed the ability to change a wallet view key via the reset method that was causing corruption of some wallet containers. Please see the updated API docs for more information
  • Added support for Integrated Addresses in the createDelayedTransaction method

miner Updates

  • Added additional logging for transparency

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(Windows, Mac, Linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open zedwallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. backup If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and zedwallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new zedwallet
  • Press I for IMPORT in zedwallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate turtle-service into their applications should note this crucial change from other CryptoNote coins.

Mandatory authentication has been added to the JSON RPC API interfaces of turtle-service. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

[new!] Raspberry Pi 3 B+

The following images are known to work. Please make sure you are running a 64-bit Pi release.

OS Distribution

Ubuntu 18.xx LTS

sudo apt-get update
sudo apt-get install -y build-essential python-dev gcc g++ cmake git libboost-all-dev
git clone -b master https://github.com/turtlecoin/turtlecoin
cd turtlecoin
mkdir build && cd $_
cmake .. && make

Windows 10

Prerequisites

  • Install Visual Studio 2017 Community Edition
  • When installing Visual Studio, it is absolutely important you install C++ capabilities, and the vc++ v140 toolchain when selecting features. You will need this for cmake, MSBuild and other commands.
  • Install Boost 1.59.0, ensure to download the installer for MSVC 14.

Building

  • Use the start menu or similar to open 'x64 Native Tools Command Prompt for vs2017' command prompt.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 14 Win64" .. -DBOOST_ROOT=D:/Boost/boost_1_59_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release
  • At this point, this will create a .sln file in the 'build' directory. Open this .sln in Visual Studio 2017 and click 'Build Solution' under the 'Build' Menu Item.
  • If all went well, it will complete successfully, and you will find all your binaries in the ..\build\src\Debug directory, or the ..\build\src\Release directory if you built with release enabled.

Apple

Prerequisites

  • Install cmake. See here if you are unable call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.

Building

  • git clone -b master https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install
  • make

The binaries will be in ./src after compilation is complete.

Changelog

See the TurtleCoin Release page for the full change history.

Thanks

Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community

v0.8.3

09 Sep 19:34
28caa24
Compare
Choose a tag to compare

image

Special Notes

Network Upgrade

Upgrade to this release is mandatory by block 800,000. Please update your software before block 800,000 to ensure you remain sycned with the network.

Static Mixin Change

The network will be changing from a static mixin of 7 to a static mixin of 3 at block 800,000. Please ensure all wallets, services, pools and other tools that send transactions are updated to support this by block 800,000.

Backwards Compatibility

v0.8.x releases revert a change that made the v0.7.0 release incompatible with older versions of the wallet (zedwallet, turtle-service, etc). This has been resolved in the 0.8.x builds.

Release Notes

General Updates

  • Enhanced Travis-CI & AppVeyor builds
    • Travis now auto builds AARCH64 builds on release
  • ChaCha8 updates to make things easier to copy
  • Added additional make targets to allow for building only certain sets of binaries
    • make pool builds TurtleCoind & turtle-service
    • make solominer builds TurtleCoind, zedwallet, & miner
    • make cli builds TurtleCoind & zedwallet
    • make builds all normal targets (TurtleCoind, zedwallet, turtle-service, & miner)
  • Additional LWMA2 tweaks
    • Moved Difficulty algorithms to separate file for better manageability
  • Updated linenoise to c++ version that gives better cross-platform support
  • Cleaned up left over code that is no longer used
  • Network Static Mixin count has been reduced from 7 to 3 as of block 800,000

TurtleCoind Updates

  • Removed linenoise support from the daemon that was linked to possible early exists of the daemon
  • Daemon now supports the ability to reject communication with peers that are out of date. This release does not cut off any old peers yet; however, the next release will cut off support for older peers.
  • Enhanced status command to provide percent of synchronization complete
  • Enhanced status command to supply more accurate information in relation to the peer you are connected to
  • Optimized checkpoint loading

zedwallet Updates

  • Massive update that allows for scanning from a specific height when importing from seed or keys.
    • Speeds up syncing a wallet; however, you must know which height to start scanning for transactions.
  • Fixed overflow in save_csv command that would result in unexpected values on outgoing transactions
  • Removed libboost references

turtle-service Updates

  • Massive update that allows for scanning from a specific height when importing from seed or keys.
    • Speeds up syncing a wallet; however, you must know which height to start scanning for transactions.
  • Added getFeeInfo method to the RPC that is an alias for feeinfo
  • Proper error reporting when a wallet file is not supplied

miner Updates

  • Nothing new to report

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(Windows, Mac, Linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open zedwallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. export_keys If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and zedwallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new zedwallet
  • Press I for IMPORT in zedwallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate turtle-service into their applications should note this crucial change from other CryptoNote coins.

Mandatory authentication has been added to the JSON RPC API interfaces of turtle-service. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

[new!] Raspberry Pi 3 B+

The following images are known to work. Please make sure you are running a 64-bit Pi release.

OS Distribution

Ubuntu 18.xx LTS

sudo apt-get update
sudo apt-get install -y build-essential python-dev gcc g++ cmake git libboost-all-dev
git clone -b master https://github.com/turtlecoin/turtlecoin
cd turtlecoin
mkdir build && cd $_
cmake .. && make

Windows 10

Prerequisites

  • Install Visual Studio 2017 Community Edition
  • When installing Visual Studio, it is absolutely important you install C++ capabilities, and the vc++ v140 toolchain when selecting features. You will need this for cmake, MSBuild and other commands.
  • Install Boost 1.59.0, ensure to download the installer for MSVC 14.

Building

  • Use the start menu or similar to open 'x64 Native Tools Command Prompt for vs2017' command prompt.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 14 Win64" .. -DBOOST_ROOT=D:/Boost/boost_1_59_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release
  • At this point, this will create a .sln file in the 'build' directory. Open this .sln in Visual Studio 2017 and click 'Build Solution' under the 'Build' Menu Item.
  • If all went well, it will complete successfully, and you will find all your binaries in the ..\build\src\Debug directory, or the ..\build\src\Release directory if you built with release enabled.

Apple

Prerequisites

  • Install cmake. See here if you are unable call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.

Building

  • git clone -b master https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install
  • make

The binaries will be in ./src after compilation is complete.

Changelog

See the TurtleCoin Release page for the full change history.

Thanks

Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community

v0.8.0

25 Aug 01:04
Compare
Choose a tag to compare

image

Special Notes

Network Fork

Upgrade to this release is mandatory by block 800,000. Please update your software before block 800,000 to ensure you remain synced with the network

Backwards Compatibility

Release v0.8.0 reverts changes that made the v0.7.0 release incompatible with older versions of the wallet (zedwallet, turtle-service, etc). This release restores this functionality.

Release Notes

General Updates

  • Updated License to correctly reflect GPL-v3
  • Added AppVeyor auto push
  • General code cleanup
  • Fixed Travis-CI build issues
  • Resolved issue where status command would return > 100% in some cases
  • Travis-CI now uses two (2) threads for faster test builds
  • Removed all integration tests as they were no longer being used
  • Replaced seed node with Bangalore
  • Resolved bug in LWMA-2 to take effect at block 1,000,000
  • Removed Readline and replaced with linenoise
  • Reverted changes to daemon <-> wallet communications
  • Blocked 32-bit builds in CMake because it is not supported
  • Added build instructions for AArch64 to CMake definitions
  • Simplified mnemonics implementation

TurtleCoind Updates

  • Daemon now warns of fork at 30 days out instead of 14 days
  • Updated daemon supported height
  • Cleaned up help commands and status commands in Daemon
  • Updated to RocksDB 5.14.2
  • Added command auto completion via linenoise

turtle-service Updates

  • Implemented per outgoing transaction node convenience charges in turtle-service
    • Warning is displayed when you connect to a node that charges a convenience charge
    • To avoid paying this fee, if it exists, connect to a different remote node or run your own
  • Implemented feeinfo JSON RPC method that returns whether the service will be adding the node convenience charge on to transactions sent through the service

miner Updates

  • Miner now prints out current hashrate every 60s

How To Sync Quickly

  • Download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • Place checkpoints.csv in the same folder as your TurtleCoind daemon
  • Run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(Windows, Mac, Linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open zedwallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. export_keys If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and zedwallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new zedwallet
  • Press I for IMPORT in zedwallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate turtle-service into their applications should note this crucial change from other CryptoNote coins.

Mandatory authentication has been added to the JSON RPC API interfaces of turtle-service. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

Ubuntu 18.xx LTS

sudo apt-get update
sudo apt-get install -y build-essential python-dev gcc g++ cmake git libboost-all-dev
git clone -b master https://github.com/turtlecoin/turtlecoin
cd turtlecoin
mkdir build && cd $_
cmake .. && make

Windows 10

Prerequisites

  • Install Visual Studio 2017 Community Edition
  • When installing Visual Studio, it is absolutely important you install C++ capabilities, and the vc++ v140 toolchain when selecting features. You will need this for cmake, MSBuild and other commands.
  • Install Boost 1.59.0, ensure to download the installer for MSVC 14.

Building

  • Use the start menu or similar to open 'x64 Native Tools Command Prompt for vs2017' command prompt.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 14 Win64" .. -DBOOST_ROOT=D:/Boost/boost_1_59_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release
  • At this point, this will create a .sln file in the 'build' directory. Open this .sln in Visual Studio 2017 and click 'Build Solution' under the 'Build' Menu Item.
  • If all went well, it will complete successfully, and you will find all your binaries in the ..\build\src\Debug directory, or the ..\build\src\Release directory if you built with release enabled.

Apple

Prerequisites

  • Install cmake. See here if you are unable call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.

Building

  • git clone -b master https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install
  • make

The binaries will be in ./src after compilation is complete.

Changelog

See the TurtleCoin Release page for the full change history.

Thanks

Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community

v0.7.0

10 Aug 01:53
4cc06d1
Compare
Choose a tag to compare

image

Special Notes

Network Fork

Upgrade to this release is mandatory by block 700,000. Please update your software before block 700,000 to ensure you remain sycned with the network

Backwards Compatibility

Previous versions of ZedWallet, turtle-service, poolwallet, walletd, or any variation thereof will not sync with TurtleCoind v0.7.0. Please ensure you are running the same wallet version as the node you are trying to use

Release Notes

General Updates

  • Docker build optimizations
  • Removed additional binary serialization between wallets and node communications
  • Added optimizations to make it easier to fork TurtleCoin
  • Adjusted make targets
    • Now you can make individual binaries easily:
      • make TurtleCoind
      • make zedwallet
      • make service
      • make miner
  • Ported over crypto libraries from Karbo as well as Aeon/Monero
  • Added support to CMakeLists.txt to pave the way for building on ARM
  • Updated default build instructions
  • Updated travis-ci build instructions to include the LICENSE file for distribution
  • Performed light optimizations of the slow-hash routines to speed up block verification times
  • Changed CMakeLists.txt instructions to make the binaries as portable as possible
  • Removed poolwallet completely and with extreme prejudice
  • Completely removed InProcessNode interface with even more extreme prejudice
  • LWMA-2 Updates (see zawy12/difficulty-algorithms#3)

TurtleCoind Updates

  • Added /feeinfo endpoint to daemon and related configuration option to allow specifying a convenience charge for a particular node (RPC only)
  • Optimized the fork notifier to display days versus blocks until fork
  • Built-in checkpoints are now enabled by default and used at 5,000 block intervals.

ZedWallet Updates

  • Overall ZedWallet optimizations
  • Added Readline support in ZedWallet
  • Added ability to export information from ZedWallet to CSV
  • Added Address Book to ZedWallet
  • ZedWallet no longer pulls the timestamps for each transaction thereby signifigantly speeding up synchronization time
  • Added support for Integrated Addresses
  • Added send_all command to ZedWallet to allow one to sweep all funds from a wallet
  • Resolved issue with ZedWallet when trying to send some transactions
  • Implemented per outgoing transaction node convenience charges in ZedWallet
    • Warning is displayed when you connect to a node that charges a convenience charge
    • To avoid paying this fee, if it exists, connect to a different remote node or run your own

~~~Walletd~~~ turtle-service Updates

  • Renamed walletd to turtle-service to help new Turtles
  • Added CORS header support to turtle-service
  • Added support for Integrated Addresses
  • Added better error reporting
  • Completely removed InProcessNode interface
    • This application no longer supports running a node via --local
  • Reorganized source files after the removal of poolwallet
    • All of turtle-service is now in the WalletService directory

How To Sync Quickly

In versions 0.4.3+ of Turtlecoind you can sync a fresh chain from 0 much quicker by loading "checkpoints" with your daemon.
  • download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • place checkpoints.csv in the same folder as your TurtleCoind daemon
  • run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(windows, mac, linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open simplewallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. export_keys If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and simplewallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new simplewallet
  • Press I for IMPORT in simplewallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate the simplewallet or walletd daemons into their applications should note this crucial change.

Mandatory authentication has been added to the JSON RPC API interfaces of simplewallet and walletd. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

Ubuntu 16.xx LTS

  • sudo apt-get update
  • sudo apt-get install -y build-essential python-dev gcc g++ git cmake libboost-all-dev librocksdb-dev libreadline-dev
  • git clone -b master --single-branch https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake ..
  • make

Windows 10

Prerequisites
  • Install Visual Studio 2017 Community Edition
  • When installing Visual Studio, it is absolutely important you install C++ capabilities, and the vc++ v140 toolchain when selecting features. You will need this for cmake, MSBuild and other commands.
  • Install Boost 1.59.0, ensure to download the installer for MSVC 14.
Building
  • Use the start menu or similar to open 'x64 Native Tools Command Prompt for vs2017' command prompt.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 14 Win64" .. -DBOOST_ROOT=D:/Boost/boost_1_59_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release
  • At this point, this will create a .sln file in the 'build' directory. Open this .sln in Visual Studio 2017 and click 'Build Solution' under the 'Build' Menu Item.
  • If all went well, it will complete successfully, and you will find all your binaries in the '..\build\src\Debug' directory, or the '..\build\src\Release' directory if you built with release enabled.

Apple

Prerequisites
  • Install cmake. See here if you are unable call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.
Building
  • git clone https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install
  • make

The binaries will be in ./src after compilation is complete.

Changelog
v0.6.3

-- fix divide by 0 error in LWMA2, found by FireiceUK
-- fix version error

v0.6.2

-- Upgrade at block 620,000
-- Upgrade monitor added to daemon
-- Zedwallet https://t.co/gJxpA6bUgJ
-- Seeds updated
-- LWMA2 Difficulty algorithm added - zawy12/difficulty-algorithms#24
-- All transactions use a static mixin of 7 - https://medium.com/@turtlecoin/lets-talk-about-mixins-430730035297
-- Upgrade schedule established for roughly every 200k blocks
-- Dust threshold has been moved to 0
-- Daemon has status command
-- InProcessNode removed
-- Binary handlers replaced with json handlers for most rpc calls
-- save_csv in Zedwallet
-- make timestamps optional in Zedwallet transaction listing for improved speed

v0.5.0

-- sensible mixin fix -- zpalmtree
-- ascii bootup -- holyguacamole
-- cleanup release build errors -- iburnmycd
-- moved fusion tx code to own file -- zpalmtree
-- less file logging -- zpalmtree
-- docker improvements -- funkypenguin
-- typos -- dbileck
-- payments id's on list_transfers -- zpalmtree

v0.4.4

-- Ability to abort transfers in SimpleWallet - ZedPea
-- Checkpoint log messages are now green - ZedPea
-- Added poolwallet to Travis builds -nnamon
-- Changed some addBlock log messages from WARNING to DEBUG - Ereptor
-- Build fixes for processors that do not support AVX - iburnmycd / yamiM0NSTER
-- Rocksdb build speedup - iburnmycd
-- Include daemon version in getinfo request - iburnmycd
-- Fixed some issues with remote node connection logic - ZedPea
-- Added icons and project names to Windows executables - iburnmycd
-- Confirmations for mixin and payment ids in Simplewallet - yamiMONSTER
-- Better error messages in Simplewallet - ZedPea

v0.4.3

-- Checkpointed daemon sync - contributed by Ereptor
-- improved daemon stats endpoint - contributed by iburnmycd
-- upgraded rocksdb - contributed by iburnmycd & yamim0nster
-- less compiler chatter - contributed by...

Read more

v0.6.3

22 Jun 23:03
3550e84
Compare
Choose a tag to compare

image
Simplewallet is now Zedwallet -> https://medium.com/@turtlecoin/zedwallet-a-new-simplewallet-for-cryptonote-currencies-2c74c5fc1302

Important: Mixin will be changing to a static mixin of 7 for all transactions and dust threshold is moved to 0 at block 620,000.
For more details, read this article
https://medium.com/@turtlecoin/lets-talk-about-mixins-430730035297

How To Sync Quickly

In versions 0.4.3+ of Turtlecoind you can sync a fresh chain from 0 much quicker by loading "checkpoints" with your daemon.
  • download the latest checkpoints.csv here https://github.com/turtlecoin/checkpoints/raw/master/checkpoints.csv
  • place checkpoints.csv in the same folder as your TurtleCoind daemon
  • run TurtleCoind with checkpoints added like this:
    Linux, Apple ./TurtleCoind --load-checkpoints checkpoints.csv
    Windows TurtleCoind.exe --load-checkpoints checkpoints.csv

How To Upgrade from an Older Version

(windows, mac, linux)

  • run the old TurtleCoind to sync your chain fully
  • with the old TurtleCoind fully synced, open simplewallet
  • open your wallet
  • export your SPEND and VIEW keys, this is important. export_keys If you are in windows, right click the titlebar of the CMD window and select EDIT then MARK so be able to copy and paste your keys.
  • Unzip the new files into a NEW FOLDER outside of the old version folder
  • Close the old version folder TurtleCoind and simplewallet by typing exit into each window
  • Run the new TurtleCoind
  • Run the new simplewallet
  • Press I for IMPORT in simplewallet
  • Use any filename for the wallet name, it does not have to be the same
  • Use any password for wallet password, it does not have to be the same as the last
  • Enter your spend_key and your view_key from step 4

RPC API Changes

Developers seeking to integrate the simplewallet or walletd daemons into their applications should note this crucial change.

Mandatory authentication has been added to the JSON RPC API interfaces of simplewallet and walletd. To maintain back compatibility with old services, the --rpc-legacy-security flag has been introduced to allow password-less access to the RPC.

However, all new applications going forward should make use of the --rpc-password flag to enable authentication of JSON RPC queries.

To pass the password to the RPC interface, add an additional field password to the JSON object:

{
    "jsonrpc": "2.0",
    "method": "transfer",
    "params": {},
    "password": "<the password>"
}

How To Compile

Ubuntu 16.xx LTS

  • sudo apt-get update
  • sudo apt-get install -y build-essential python-dev gcc g++ git cmake libboost-all-dev librocksdb-dev libreadline-dev
  • git clone https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake ..
  • make

Windows 10

Prerequisites
  • Install Visual Studio 2017 Community Edition
  • When installing Visual Studio, it is absolutely important you install C++ capabilities, and the vc++ v140 toolchain when selecting features. You will need this for cmake, MSBuild and other commands.
  • Install Boost 1.59.0, ensure to download the installer for MSVC 14.
Building
  • Use the start menu or similar to open 'x64 Native Tools Command Prompt for vs2017' command prompt.
  • cd <your_turtlecoin_directory>
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 14 Win64" .. -DBOOST_ROOT=D:/Boost/boost_1_59_0 (Or your boost installed dir.)
  • MSBuild TurtleCoin.sln /p:Configuration=Release
  • At this point, this will create a .sln file in the 'build' directory. Open this .sln in Visual Studio 2017 and click 'Build Solution' under the 'Build' Menu Item.
  • If all went well, it will complete successfully, and you will find all your binaries in the '..\build\src\Debug' directory, or the '..\build\src\Release' directory if you built with release enabled.

Apple

Prerequisites
  • Install cmake. See here if you are unable call cmake from the terminal after installing.
  • Install the boost libraries. Either compile boost manually or run brew install boost.
  • Install XCode and Developer Tools.
Building
  • git clone https://github.com/turtlecoin/turtlecoin
  • cd turtlecoin
  • mkdir build && cd $_
  • cmake .. or cmake -DBOOST_ROOT=<path_to_boost_install> .. when building
    from a specific boost install
  • make

The binaries will be in ./src after compilation is complete.

Changelog
v0.6.3

-- fix divide by 0 error in LWMA2, found by FireiceUK
-- fix version error

v0.6.2

-- Upgrade at block 620,000
-- Upgrade monitor added to daemon
-- Zedwallet https://t.co/gJxpA6bUgJ
-- Seeds updated
-- LWMA2 Difficulty algorithm added - zawy12/difficulty-algorithms#24
-- All transactions use a static mixin of 7 - https://medium.com/@turtlecoin/lets-talk-about-mixins-430730035297
-- Upgrade schedule established for roughly every 200k blocks
-- Dust threshold has been moved to 0
-- Daemon has status command
-- InProcessNode removed
-- Binary handlers replaced with json handlers for most rpc calls
-- save_csv in Zedwallet
-- make timestamps optional in Zedwallet transaction listing for improved speed

v0.5.0

-- sensible mixin fix -- zpalmtree
-- ascii bootup -- holyguacamole
-- cleanup release build errors -- iburnmycd
-- moved fusion tx code to own file -- zpalmtree
-- less file logging -- zpalmtree
-- docker improvements -- funkypenguin
-- typos -- dbileck
-- payments id's on list_transfers -- zpalmtree

v0.4.4

-- Ability to abort transfers in SimpleWallet - ZedPea
-- Checkpoint log messages are now green - ZedPea
-- Added poolwallet to Travis builds -nnamon
-- Changed some addBlock log messages from WARNING to DEBUG - Ereptor
-- Build fixes for processors that do not support AVX - iburnmycd / yamiM0NSTER
-- Rocksdb build speedup - iburnmycd
-- Include daemon version in getinfo request - iburnmycd
-- Fixed some issues with remote node connection logic - ZedPea
-- Added icons and project names to Windows executables - iburnmycd
-- Confirmations for mixin and payment ids in Simplewallet - yamiMONSTER
-- Better error messages in Simplewallet - ZedPea

v0.4.3

-- Checkpointed daemon sync - contributed by Ereptor
-- improved daemon stats endpoint - contributed by iburnmycd
-- upgraded rocksdb - contributed by iburnmycd & yamim0nster
-- less compiler chatter - contributed by iburnmycd
-- timestamps in list_transfers - contributed by ZedPea
-- getinfo response properties - contributed by iburnmycd
-- multi_installer fix for 17.10 - contributed by SoreGums
-- 'wallet-file' and 'password' params added to simplewallet - contributed by ZedPea

v0.4.2

-- Reliability fixes
-- simplewallet rewrite - contributed by ZedPea
-- Hashing algorithm change to CN Lite Variant 1 at block height 350,000
-- Windows binary build contributed by JerMe404

v0.3.2

-- Fix for Node Sync Error - contributed by DeerTacos
-- Confirmations added to simplewallet -- contributed by blakelapierre

Thanks

Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community