Releases: turtlecoin/turtlecoin
v0.14.6
v0.14.6
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
andwallet-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.
- To use, specify
- 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.
- To use, specify
- 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.
- To use, specify
- 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
WindowsTurtleCoind.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
v0.14.0
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
WindowsTurtleCoind.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
v0.13.0
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 togetwalletsyncdata
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
WindowsTurtleCoind.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
v0.12.0
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 forWalletGreen
Nigel
: The butler that replacesNodeRPCProxy
betweenWalletBackend
andzedwallet-beta
&wallet-api
- Addition of new binaries:
zedwallet-beta
: Upgradedzedwallet
using the newWalletBackend
wallet-api
: Upgradedturtle-service
using the newWalletBackend
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
WindowsTurtleCoind.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
andzedwallet
by typingexit
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
orseed_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
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
- Revamped the CLI
- 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
WindowsTurtleCoind.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, openzedwallet
- 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
andzedwallet
by typingexit
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 yourview_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 ..
orcmake -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
- Install Visual Studio 2017 Community Edition
- When installing Visual Studio, it is required that you install Desktop development with C++
- Install the latest version of Boost - Currently Boost 1.68.
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
- https://github.com/Crazyhead90/pi64/releases
- https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi#aarch64_supported_images_for_Raspberry_Pi_3
- https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3
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 ..
...
v0.8.4
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 ofgetFeeInfo
- 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
WindowsTurtleCoind.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, openzedwallet
- 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
andzedwallet
by typingexit
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 yourview_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
- https://github.com/Crazyhead90/pi64/releases
- https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi#aarch64_supported_images_for_Raspberry_Pi_3
- https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3
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 ..
orcmake -DBOOST_ROOT=<path_to_boost_install> ..
when building
from a specific boost installmake
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
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 binariesmake pool
buildsTurtleCoind
&turtle-service
make solominer
buildsTurtleCoind
,zedwallet
, &miner
make cli
buildsTurtleCoind
&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
to3
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
WindowsTurtleCoind.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, openzedwallet
- 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
andzedwallet
by typingexit
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 yourview_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
- https://github.com/Crazyhead90/pi64/releases
- https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi#aarch64_supported_images_for_Raspberry_Pi_3
- https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3
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 ..
orcmake -DBOOST_ROOT=<path_to_boost_install> ..
when building
from a specific boost installmake
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
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
WindowsTurtleCoind.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, openzedwallet
- 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
andzedwallet
by typingexit
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 yourview_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 ..
orcmake -DBOOST_ROOT=<path_to_boost_install> ..
when building
from a specific boost installmake
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
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
- Now you can make individual binaries easily:
- 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.
- For faster sync retrieve up-to-date checkpoints from the checkpoints repository
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
- This application no longer supports running a node via
- Reorganized source files after the removal of poolwallet
- All of turtle-service is now in the
WalletService
directory
- All of turtle-service is now in the
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
WindowsTurtleCoind.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, opensimplewallet
- 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
andsimplewallet
by typingexit
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 yourview_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 ..
orcmake -DBOOST_ROOT=<path_to_boost_install> ..
when building
from a specific boost installmake
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...
v0.6.3
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
WindowsTurtleCoind.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, opensimplewallet
- 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
andsimplewallet
by typingexit
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 yourview_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 ..
orcmake -DBOOST_ROOT=<path_to_boost_install> ..
when building
from a specific boost installmake
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