QTUM - Release Mainnet Ignition v0.14.12 - Fix RPC bugs, Add disable change address option
About Qtum and Mainnet Ignition
Qtum is a decentralized blockchain project built on Bitcoin's UTXO model, with support for Ethereum Virtual Machine based smart contracts, and secured by a proof of stake consensus model. It achieves this through the revolutionary Account Abstraction Layer which allows the EVM to communicate with Qtum's Bitcoin-like UTXO blockchain. For more general information about Qtum as well as links to join our community, go to https://qtum.org
Welcome to the Qtum Ignition Main Network. This is the main network where the tokens hold value and should be guarded very carefully. There will be a testnet setup soon for developers, in the meantime you can use
-regtestmode for testing needs. We will announce details about the token swap from QTUM ERC20 coins to QTUM mainnet tokens soon, watch our website for details about that.
The major features implemented in Qtum Ignition include:
- The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
- The Smart Staking Protocol is complete, which is an optimized Proof of Stake implementation designed for a smart contract platform (however, smart contracts can not participate in staking yet).
- An early and basic smart contract GUI has been implemented that can be used for creating contracts, sending data and Qtum to them, and checking their status by executing them locally. This functionality is similar to Mist's UI right now, but it is still an early version. We will be working on this more to improve it.
- Regtest mode, which is ideal for developers who wish to create their own private blockchain. It is tuned specifically to make development easier. It will stake blocks automatically every 30 seconds, and can generate proof-of-work blocks instantly as needed.
- The Decentralized Governance Protocol is completely implemented and functional, which allows certain network parameters to be modified without a fork.
For more technical information for how to start developing with Qtum please read the Guidefaucet smart contract (it hasn't yet been updated for Mainnet for obvious reasons, but all the instructions are the same and you can try them in regtest mode)
Note: Qtum Core is considered beta software. We make no warranties or guarantees of its security or stability.
- v0.14.12 - Recommended Update
- Added option to disable change address usage
- Fixed bug where heavy RPC usage could cause the wallet to crash
- v0.14.11 - Optional Update
- Changed our versioning scheme to be consistent and avoid the two version number confusion
- Add feature to restore wallet in the Qt wallet
- Add new RPC call "waitforlogs" that is particularly useful for Dapp developers
- Add long-polling support to the gettransaction RPC call
- v1.1.4 - Recommended update
- Fixed a bug that would cause syncing to stop
- Fixed a bug that would cause the wallet to crash when using -logevents
- v1.1.3 - Highly recommended update
- Fixed a bug that caused contact addresses to show in receive token address dropdown
- v1.1.2 - Optional update, but recommended if using QRC tokens
- Fixed a bug with token transactions where the transaction ID displayed was incorrect in the Qt wallet
- Allow adding 0 balance addresses as the token receiver in the Qt wallet
- v1.1.1: When sending to contracts, the sender address is now the default change address to reduce confusion; fix -salvagewallet so it works with token transactions
- v1.1.0: Add GUI support Qtum QRC tokens, allowing full management of tokens on the Qtum blockchain from the Qt wallet
- Sending to a contract no longer requires ABI data, allowing easy participation in simple crowdsale contracts
- v1.0.4: Fix bug where certain circumstances when staking could cause the displayed balance to be inaccurate until completely redownloading the blockchain.
- v1.0.3: Fix staker bug that reported false messages; slightly increases staking performance; optimize staker parameters; fix white send button in GUI
- v1.0.2: Various UI fixes, minor gas overflow consensus fix, per-txout exploit fix, testnet mode setup and functioning
- v1.0.1: Fixed network magic bytes and minimum version to ensure the main network does not conflict with the Skynet network
- v1.0: Initial release
Reindex Required When Upgrading from v1.0.1
When you first start the Qtum 1.0.2 GUI wallet after using Qtum v1.0.1 it will prompt you that it must reindex the database. This is normal and is a result of switching our internal database format from per-transaction to per-txout. If you use
qtumd -daemonit will silently fail to start. You need to use
qtumd -daemon -reindexin this case.
Qtum Documentation and Usage Resources
Basic usage resources:
- Official Qtum Usage GuideUnofficial Qtum staking tutorial
- Unofficial Qtum staking tutorial on Raspberry Pi
- Unofficial guide for keeping your wallet safe
- Block explorer
- Unofficial block explorer
- Unofficial Raspberry Pi Web UI
General Info about Qtum:
- Mainnet event AMA
- Qtum's PoS vs CASPER
- Technical article explaining Qtum's PoS model in depth
- Unofficial What is Qtum article
The easiest way to get started with Qtum is to simply download the binaries below. To give a brief breakdown of the different versions available:
- qtum-0.14.12-win64.zipqtum-0.14.12-win64-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows. This includes an installer and will install Qtum system wide.
- qtum-0.14.12-win32.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. If you have an older Windows computer and don't care about installing Qtum system-wide,
- qtum-0.14.12-win32-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. This includes an installer and will install Qtum system wide. If you have an older Windows computer and want to install Qtum then this is for you.
- qtum-0.14.12-osx64.tar.gz - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using OSX. If you use a modern Mac and want development tools, this is what you want; we do not support older 32bit or PowerPC based Macs.
- qtum-0.14.12-osx-unsigned.dmg - A version of Qtum-Qt built for 64bit x86 machines using OSX in a .DMG installable format. If you use a modern Mac and aren't a developer, this is what you want; we do not support older 32bit or PowerPC based Macs.
- qtum-0.14.12-i686-pc-linux-gnu.tar.gz - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 PC platforms running Linux. This is probably what you want for older computers running Linux
- qtum-0.14.12-x86_64-linux-gnu.tar.gz - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 PC platforms running Linux. This is probably what you want for any modern PC or server running Linux
- qtum-0.14.12-arm-linux-gnueabihf.tar.gz - A version of qtumd and qtum-cli built for 32bit ARM platforms using Linux. This includes the Raspberry Pi and many of it's clones
- qtum-0.14.12-aarch64-linux-gnu.tar.gz - A version of qtumd and qtum-cli built for 64bit ARM platforms using Linux
Below in the full list of binaries, there are also versions that include debug symbols. These are useful for developers, but will run slower and are significantly larger to download.
Build Qtum Core
If you want to build it from source, it's recommended to follow the specific "build" documentation for your platform. But mostly it boils down to the following:
Clone the qtum source code and cd into
git clone --recursive https://github.com/qtumproject/qtum.git cd qtum
Configure and build the headless qtum binaries as well as the GUI (if Qt is found).
You can disable the GUI build by passing
./autogen.sh ./configure make
It is recommended to build and run the unit tests to ensure everything is working correctly:
If you encounter an error like:
make: *** No rule to make target ‘cpp-ethereum/utils/libscrypt/b64.c’, needed by ‘cpp-ethereum/utils/libscrypt/libbitcoinconsensus_la-b64.lo’. Stop.
Then you did not checkout the cpp-ethereum submodule for Qtum. To do that, simply:
cd qtum git submodule update --init --recursive
Validate and Reproduce Binaries
Qtum uses a tool called Gitian to make reproducible builds that can be verified by anyone. Instructions on setting up a Gitian VM and building Qtum are provided in doc/gitian-building.md
Make sure to check out these resources as well for more information and to keep up to date with all the latest news about Qtum. At least 1 developer is always around, so if you're developing on Qtum and need help, we'd love to welcome you to our community.
Qtum Smart Contract Limitations
- EVM smart contracts can not receive coins from or send coins to any address type other than pay-to-pubkeyhash (starts with Q) addresses. This is due to a limitation in the EVM
- Contracts are not allowed to create contracts with an initial endowment of coins. The contract must first be created, and then be sent coins in a separate transaction. Humans are also not allowed to create contracts with an initial endowment of coins.
- Although all of the infrastructure is present, Qtum Core does not
currently parse Solidity event data. You must parse this yourself using
- It is not possible to send a contract coins without also executing the contract. This is also the case of Ethereum. This was promised in earlier discussions and technically does work, but due to lack of time for testing this feature was disabled. We hope to reenable this feature with release of the x86 virtual machine in 2018.
- In Qtum there can be multiple addresses used to create a
proof-of-stake block. However, the EVM can only see the first output
coinbaseoperation in Solidity (this address is also the one registered for the continuous staker rewards after 500 blocks).
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes: 3f200d9fc2edfb188b0d191505fb4750a36c199f4002fbfd5639ee43b725d6b9 qtum-0.14.12-osx-unsigned.dmg be50c3623d4f1e9423ed2b84419fa7d293a3931ee429ce3ada1efe4a81d19658 qtum-0.14.12-osx-unsigned.tar.gz 9c79a465cd2e1e0a61940e217e98d7be88369b1a6b7259064c8f63abc4b5367d qtum-0.14.12-osx64.tar.gz 32df22b9cca3442cee6b0c933347ea8ba103ef3aaa2a37693e9975dd7020f88f src/qtum-0.14.12.tar.gz aa88cfb81090276c9b6569fbda0a213475f71f380629becceb658ccffef6ecc5 qtum-osx-0.14-res.yml 2b20f263d5c63902a8f1748a2b05a2e2e05f8a3b7d32a04291bc3846dc3a53b7 qtum-0.14.12-aarch64-linux-gnu-debug.tar.gz dcc5fda0f54e180fdf8029442623c45c85d7de08fc9633b5769a632971be4806 qtum-0.14.12-aarch64-linux-gnu.tar.gz fa33f5ee5bac3d1225449d62173e73c4cc456de1b46c9c24d84cd539f8e6a0ee qtum-0.14.12-arm-linux-gnueabihf-debug.tar.gz 57701254f2b3f7eb5fe7619f2e614c90f739eee7aa3ab74603c06da11b74fdca qtum-0.14.12-arm-linux-gnueabihf.tar.gz ed27f7a55183069a43fd3fddd6f0706652de565acd36c76ff573a9fecbb802c8 qtum-0.14.12-i686-pc-linux-gnu-debug.tar.gz f329d0c5766977bbf4079e34bef710eb87fa9ebb076f089e534b03137fc39aad qtum-0.14.12-i686-pc-linux-gnu.tar.gz 1a48b980aac389282d232cd7769c7297f4afe251ef9c8bb0ee847d33c6a53010 qtum-0.14.12-x86_64-linux-gnu-debug.tar.gz 5ccf9dd08327522fcc0d58ae5b53de6851d881c10967009048126eee07d5586b qtum-0.14.12-x86_64-linux-gnu.tar.gz 32df22b9cca3442cee6b0c933347ea8ba103ef3aaa2a37693e9975dd7020f88f src/qtum-0.14.12.tar.gz 3e724f5d2e810a2c2f2d3920ccf649ff02936a1df038f694dca0d1466b261605 qtum-linux-0.14-res.yml 7ad107cfea42a9bd2e467c3c324865fb9aeb2a6cbb1222a98f007b60ee1626cd qtum-0.14.12-win-unsigned.tar.gz aa9a415041b9de6144b9fecfc425e8c8176095f3953c4e2b3004720867129752 qtum-0.14.12-win32-debug.zip 881742ab8ab75c785499bc906be8328e9c4db62ca017259bfaf974d58c812a37 qtum-0.14.12-win32-setup-unsigned.exe 4368fcc9cdc78b7020d68d5d61e00bd193ccd11c381d4c42947d17692249c431 qtum-0.14.12-win32.zip 6648e27e99a1600727bd9a309bc24266f95059207ab37b3465adaf48b5b6157d qtum-0.14.12-win64-debug.zip add6b0ac97d47b2f18a93968685d8e070cd3533944e4cb64ef99e7debf44e468 qtum-0.14.12-win64-setup-unsigned.exe 0485822fcd2c5018ea024a8397467a3a8025014f139167d70ee03a15d655ada1 qtum-0.14.12-win64.zip a1076654cfe2c8269a577d614f542d3a913683b9cda0afe8db69310c223cd6fa src/qtum-0.14.12.tar.gz 7147d5cc17a48dcae7d11395ce82746e7908cb7029692a4bb8518550e92436cd qtum-win-0.14-res.yml VirusTotal reports at time of release: * win32 installer: https://www.virustotal.com/#/f... Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" Ikarus reports "Trojan.MSIL.Disfa" Cylance reports "Unsafe" * win64 installer: https://www.virustotal.com/#/f... Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" * win32 zip: https://www.virustotal.com/#/f... Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" Ikarus reports "Trojan.MSIL.Disfa" * win64 zip: https://www.virustotal.com/#/f... Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" You can validate this message is from Earlz at https://keybase.io/verify -----BEGIN PGP SIGNATURE----- Version: Keybase OpenPGP v2.0.76 Comment: https://keybase.io/crypto wsFcBAABCgAGBQJaOttqAAoJEAKXMK2l7Ra+gwQP/Az+KEi/ZCXucsLk9P7IscX3 gzbalNsHYdzr5D69OvGL7dLKDzwBt2QcenQ/m2/AzeNJvj/qlcZLj8cNGVrwNk8l nKXBdE8mYp+roGm4cQnfZeZQL86K7hw1GHboHkEMiNmGK8HRIuMZI9RpdwHjxS0H 75YESBnu7EwANCARJ9g/fgRBja7cr+W7WqgD+7nm60Vokx51HiYw4J5/NGa0TjQj Y86MLkFofo/8XlleTCLwbwD4t3R7CbRfh1gDslvEcqDXhgPi2tTQxtZh1al1Q9oQ bJlZIhqnsLPg5lIDapGhq82usJ76PZQ+axZCm6B30C//solcCRP0+PiY4RiSFMBM OImkIsERO+KD9PEGtTvXt3K+JHAhXd3/m5pciiAZ6ZkSiSg35SJr43GisVJPXVDZ s0xx6kCMZyp5/nDHuIRwZyxplnvOUFuaCTMhDIDn7WgdhOeWawpdZIQKfZsf4wFP QoxKnJD2nmSmSVLnV5yw6DYSN4tBWUeW/8bIfy9bbwCpbbDA7oA96NStPv8OMFov SIU8+JG9BvtLvM91IsM7jotk+Wmlx/h8Ha06Tn/F3aCWZi0tlpQs3AwDwC6DywPr IWLg+7DwFhKe2vx3KzghGGrrLHKU9JmSan2MzE1HJ7HggRAJbZKD26SivO04qCi9 EhsLrKNFFvKWZAHGOUgr =ihNI -----END PGP SIGNATURE-----