Qtum Release Mainnet Ignition v0.14.13 - Mandatory Update
callcontract bugfix, save/restore contract data
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.13 - Mandatory Update
- Fix a callcontract bug which in very specific cases could cause the node to fail to sync the blockchain
- Add ability to save and restore contract addresses and ABI data
- Make the token confirmation view data correct
- 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.13-win64.zipqtum-0.14.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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: 571a7648490463e62a97f06204627e784478552b20f3f0a303ad15c2c4635a15 qtum-0.14.13-osx-unsigned.dmg b9687b432a7dd09345ce88c2823b9af455ced913e4ee21d115a9094b17bf45fd qtum-0.14.13-osx-unsigned.tar.gz d45b49c6fda135a3f02b5bda476eceb7eff65f2f4410b1a45955d366a3730ba6 qtum-0.14.13-osx64.tar.gz 22dbff8a3ee7641d5c2c8ebb6b58db8bbdc2004c6a576a3d79042b91377b986b src/qtum-0.14.13.tar.gz deb93118d329351d074447d52e6e49a3cdc10a6f78836aea2a883bd6250ddfad qtum-osx-0.14-res.yml e3c377fbf76ee4cbc5a288e5df5765558a65b7000d093a62fbb35ef0d796ba49 qtum-0.14.13-aarch64-linux-gnu-debug.tar.gz 8ab36d66457fc0f22b1a161cffdfe07a16a409c0d1ce167ddf1347fc0e6ba03c qtum-0.14.13-aarch64-linux-gnu.tar.gz 16e392698cddfbdddf24a3f0b87bbaf5552a1d2e508f34ea202417d839eb89d6 qtum-0.14.13-arm-linux-gnueabihf-debug.tar.gz f0675c1e57b84466559ca4996dcf7bda06fb316f4ba24178440d0d6c86d92e01 qtum-0.14.13-arm-linux-gnueabihf.tar.gz 2889e73603913157403a4994c53fa39b123394f007cc4ed258fb2b4f31156a62 qtum-0.14.13-i686-pc-linux-gnu-debug.tar.gz 030dbbf3a337ef61daab4da6fba51fa2352199cf8c7434983d286cb9de050bdc qtum-0.14.13-i686-pc-linux-gnu.tar.gz a1f8614386fab0016e9920a7f3eb5a858890bfb6c1a12fe46d8bc4c12008897f qtum-0.14.13-x86_64-linux-gnu-debug.tar.gz 6806995a5d03fbae31a0b62a1808c4a84567d276020702d20798d8303f0a39e2 qtum-0.14.13-x86_64-linux-gnu.tar.gz 22dbff8a3ee7641d5c2c8ebb6b58db8bbdc2004c6a576a3d79042b91377b986b src/qtum-0.14.13.tar.gz 36d54f64e80eccab5579349ce2d534ce438d205bdd4a1b85da6409d37e7e3a3c qtum-linux-0.14-res.yml e00701b16c2ecd12bbef61b8659a52ba6a1f5afea462add2cd7317e1af94929f qtum-0.14.13-win-unsigned.tar.gz ecfd1d334dd8a2a237562ad62987bfe26ac29f4774eeaaa9f8b0e4bad3f3b47d qtum-0.14.13-win32-debug.zip f1f2e21aaa19e9e976ca9b7715975f275e305f0d76b6e46e4c80716446922a40 qtum-0.14.13-win32-setup-unsigned.exe 724b130c20f4ba555396e016e7cd4263af72107048e9d0e48e6b83e9f41e2773 qtum-0.14.13-win32.zip 4135b40260b428781b8995edf26eb31a1c69fa97617e7f0e25bb70e4da973484 qtum-0.14.13-win64-debug.zip f5430df396358be17a3c0d4409bf6907b243f77e776ef2e2fdcf4abae49952dd qtum-0.14.13-win64-setup-unsigned.exe 4238e3f89467903238c121d42cfea58dab9cf8ec4b4be3e5057e0df925370ca6 qtum-0.14.13-win64.zip e77af7c34070de2961be78acf150fb64d5f49acfd7f8448e81a585cc0559053f src/qtum-0.14.13.tar.gz 5930f5d32eadb91631112ad8ff114b741147500e29665addfe99375853b55c6b qtum-win-0.14-res.yml VirusTotal reports at time of release: * win32 installer: https://www.virustotal.com/#/file/f1f2e21aaa19e9e976ca9b7715975f275e305f0d76b6e46e4c80716446922a40/detection Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" Ikarus reports "Trojan.MSIL.Disfa" * win64 installer: https://www.virustotal.com/#/file/f5430df396358be17a3c0d4409bf6907b243f77e776ef2e2fdcf4abae49952dd/detection Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" Rising reports "Trojan.Disfa!8.5AE (TFE:5:mIYYCQXiMLI)" * win32 zip: https://www.virustotal.com/#/file/724b130c20f4ba555396e016e7cd4263af72107048e9d0e48e6b83e9f41e2773/detection Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" Ikarus reports "Trojan.MSIL.Disfa" AhnLab-V3 reports "Unwanted/Win32.CoinMiner.C2332518" * win64 zip: https://www.virustotal.com/#/file/4238e3f89467903238c121d42cfea58dab9cf8ec4b4be3e5057e0df925370ca6/detection Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic" AhnLab-V3 reports "Unwanted/Win32.CoinMiner.C2332518" Rising reports "Trojan.Disfa!8.5AE (TFE:5:mIYYCQXiMLI)" 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 wsFcBAABCgAGBQJaUZRnAAoJEAKXMK2l7Ra+fkYP/1l9NShcfn2lO2kC5l55p/hy ZrTmcRJPntBCJx5B8x13QjzGB9FdY250Cf2oSh6Wx3nHMy+a2lNq+h7N462clupR tCe0aiJD0iC27ate181y1Ycxik/44gjLKfQtydUSyVgxclHclWiyqmRdO4g0sKcj foOvWbLA6sT3qt6AbzYR8ICd/PHW9a8PKCqRZj0123bIKLZuLycvJNVxsk9gWiOn Mo19N0wzx+jyg3qEtJ49LcLOhtjZZrMJhhGMLojf65zPrKk5dnXj4xJ56pahnkg8 VEcWI9/IPIGF568/D7VLETznbbmSHtbYbdhI3B65AqowOwhXVz5AADwgUhunlvfs Q0dyDFxLSiSyb+JPN75+gugADW2K/k8a9jQgt3ugbSTLYXNlNpSPZvmDBdyrw/IZ mg81yIDAUn3q0b7TLFvJH38iYl3lVh6oSeTE/2thwEZowZnRFU0w8+56orgxXB/6 +AjicNp8OTtjSk68SSfFxJybS41ZRSE44XcNfsGGz7eV7xg1mJ9qEt0aNlaEwpZD RauXPhHOpDET05wEvBmmoPmiRAQSNGpKzRBcSkhikfLt7Cg/ZSPuzUj66HANYmsq 487WZyEKEtUnZYGOnxeg9ClIlTRjW97W+JmoewSid2KlEl/j1U1wic4Va1weiIj5 3bpS1hcMNsGs55yREJh7 =6p8l -----END PGP SIGNATURE-----