Mainnet Ignition v1.1.4 - Event Logging Bug Fix
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 -regtest
mode 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 Guide and also see this tutorial for deploying a simple faucet 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.
Update History
- 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 -daemon
it will silently fail to start. You need to use qtumd -daemon -reindex
in this case.
Qtum Documentation and Usage Resources
Basic usage resources:
- Official Qtum Usage Guide
- Unofficial 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
Development resources:
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
Quickstart
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:
Windows
- qtum-0.14.10-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
- qtum-0.14.10-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.10-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.10-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.
OSX
- qtum-0.14.10-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.10-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.
Linux
- qtum-0.14.10-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.10-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.10-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.10-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
qtum
git clone --recursive https://github.com/qtumproject/qtum.git cd qtum
-
Build qtum-core:
Configure and build the headless qtum binaries as well as the GUI (if Qt is found).
You can disable the GUI build by passing
--without-gui
to configure../autogen.sh ./configure make
-
It is recommended to build and run the unit tests to ensure everything is working correctly:
make check
If you encounter an error like:
make[2]: *** 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
Community Resources
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 either
searchlogs
or-record-log-opcodes
features. - 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 using the
coinbase
operation in Solidity (this address is also the one registered for the continuous staker rewards after 500 blocks).
Hash Validation
-----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:
7d80c7a78f31820a99fa3fd388cc9ae505894b434a5810b7950f0258448f385a qtum-0.14.10-osx-unsigned.dmg
9dc34819ed8996906c46a807d872ac2fa053d7f508cde5ee1cca1ed1cac1d49b qtum-0.14.10-osx-unsigned.tar.gz
a6e45b6de088a741e3b5bbc6fe21d1739355ce0d7bb2b5ae32957043d49406dc qtum-0.14.10-osx64.tar.gz
c6ea89eed1a3e4735a36c3d30eb7504ff9b48fde1a4485222cc81509d2526c01 src/qtum-0.14.10.tar.gz
26e6468cd06ce84c91932dd3627a884baaa73ca6eacaa19fe8677ceeb4ea95b6 qtum-osx-0.14-res.yml
ddcd077a95de8016396b131eba8fde1c04576eb1987215e3aff796a6ad0018f2 qtum-0.14.10-aarch64-linux-gnu-debug.tar.gz
4bcd3b5fc5e26deaab08b21f5c721e0cb983b110e8c2253180459d5fc77628ca qtum-0.14.10-aarch64-linux-gnu.tar.gz
b11f122b98c2813992b77b2dca84feaea93c31e95d0d209293d5345416ab5c0d qtum-0.14.10-arm-linux-gnueabihf-debug.tar.gz
996819e47fc6db09b989ec2f7aff5b8bcf14903b6279548f040c41f1fe94cf87 qtum-0.14.10-arm-linux-gnueabihf.tar.gz
8439f1dd8acddfa567e4bdc43717ffcd82cfa911ab6734775ef207be408bc401 qtum-0.14.10-i686-pc-linux-gnu-debug.tar.gz
a6855ad8cdb4d67e0224376f16abd4c37c3c37b00db449371773fa7e8caa3fe3 qtum-0.14.10-i686-pc-linux-gnu.tar.gz
9f23b28e2c02488f97f07eda4318af46a2414d1c2881bbcaaecfc5f2133a10f0 qtum-0.14.10-x86_64-linux-gnu-debug.tar.gz
76e3326086c3209c938a216b455a86d0bc10f6f667cefa3a19ab367d3b784f4f qtum-0.14.10-x86_64-linux-gnu.tar.gz
c6ea89eed1a3e4735a36c3d30eb7504ff9b48fde1a4485222cc81509d2526c01 src/qtum-0.14.10.tar.gz
cfe96bad26dc48609c722583d0ae18bab0ebb53436bf6845e5bb7cc5d4188187 qtum-linux-0.14-res.yml
43756f9f471f28d2e9d51610adb114c909360df3c0f4a5adde124541ef22fd62 qtum-0.14.10-win-unsigned.tar.gz
0509f270098c613331da83ee72477c5db0f912e33babd2a534a526e0311f3ddd qtum-0.14.10-win32-debug.zip
06dbc7d464aeaed3510c3d5c23c0850d7e254037defdb0b7011f7711b2efc4b6 qtum-0.14.10-win32-setup-unsigned.exe
5435f65bb7ad249f978a5a88ef5a630e02ae4639a72d096cd3f070cbdde9cafc qtum-0.14.10-win32.zip
8075b3d33b5fa01f006de7172b4b113cc7d1a0b4bc567331274fecd628a2fee7 qtum-0.14.10-win64-debug.zip
f4d13a89c26a29194139c7b244d89e252dd3004f42d62784fe14b6fc48c646ea qtum-0.14.10-win64-setup-unsigned.exe
8a8c4b4affe662c90da23097c105f070ccd147be92a1e90669e1f14a4ff146a9 qtum-0.14.10-win64.zip
20e927279b955a545d693502938ab79a46773388bb85de98e8862949daefbeee src/qtum-0.14.10.tar.gz
610296baec0beee09839893d75240ee0a15305708d6d4786ac326a9381c0a148 qtum-win-0.14-res.yml
In addition, as of the time of this writing, VirusTotal detects 2 false positives on all 32-bit Windows files, and 2 false positives on all 64-bit Windows files. Both 32-bit and 64-bit have false positives labeled "HEUR:Trojan.Win32.Generic" from Kaspersky and ZoneAlarm. Only the 32-bit installer has another false positive labeled "Win32.Trojan.WisdomEyes.16070401.95" from Baidu.
installer win32: https://www.virustotal.com/#/file/06dbc7d464aeaed3510c3d5c23c0850d7e254037defdb0b7011f7711b2efc4b6/detection
installer win64 https://www.virustotal.com/#/file/f4d13a89c26a29194139c7b244d89e252dd3004f42d62784fe14b6fc48c646ea/detection
zip win32 https://www.virustotal.com/#/file/5435f65bb7ad249f978a5a88ef5a630e02ae4639a72d096cd3f070cbdde9cafc/detection
zip win64 https://www.virustotal.com/#/file/8a8c4b4affe662c90da23097c105f070ccd147be92a1e90669e1f14a4ff146a9/detection
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
wsFcBAABCgAGBQJaJd7tAAoJEAKXMK2l7Ra+bu4P+QEduZw0mlf3/v4P7I4sfCwB
eCK8ADAkejF5LGBMfpyrXyfsiI3YsnQl9coxqxifb1NJbcOj8/4IykOZct3SREA0
7XqKb/N36Y2BMSUYZ7etgj7ShOwcTeyX8/LFcu6UeZvfkElhk7/lPOGTEE7MVQ0G
dbG8vFkOm3Dt5gv6SYi9rP9959017+NsfiwmWdanmCfe+XrWC/a4qb+8doCKfhI3
hMrGWRH/P/gW5OOkQG4fdyUz4Chspb7m8qjiugwTYm/8XBENhecnZHRA96J6sXT2
d01O5sywJ+IsQ304sycTAYYJ4yIOyvjBO/nYssQSgQkPb7SG2Z9mOiSqn2dp8zhp
+p74OrL4CpQ/KxbuiN6U2yIlm+fe0vc04Md2T2G1E9rtr+GjwR2DGZ3Qx6IO33gc
av4uIowmMUsWMhNjDhbDsNziz6ggwWhEX/61ZzKcCbgBS2lWqzHu+x4drdNFzKvb
5OTudwg10LcdoUcxpgSu84RVqSCPIkABMqP+gXfCKtb81k2tlfa4P9S3XpROhWkA
eXTThW7g6IxYjeYrAs7jCToo6GQWAY0eU49PS8Cin4MTC3N/knIgM7Bk5RUfZrFv
vAoW19magUymzavHx6hmjjAEN0W1WpWCCq0EzoUKaekq9zaQQQRgHrsMzknu1vT+
Ejk4AzyMET9tEhrDQAKj
=XDkj
-----END PGP SIGNATURE-----