Mainnet Ignition v1.1.1 - Qtum QRC Token Support
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.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
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.7-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
- qtum-0.14.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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:
b852c05722d2f2dc9139ab29c976487c5dc20047c72eb86173bae4680a5aff3b qtum-0.14.7-osx-unsigned.dmg
4e5a3b3da068835375370522b9fe0cd25cab87af56adbf924714403f92c85150 qtum-0.14.7-osx-unsigned.tar.gz
54f28d3cf61d4f764e68ad4bb64fe03b9c757975cfa085c23e71414d4cd1301a qtum-0.14.7-osx64.tar.gz
a23747d3b59170e0a040a995108b1e4a0a947b06335903a199e4021aada6bc3d src/qtum-0.14.7.tar.gz
ecc13ada7fcccf470246e1d9488eeefeb1ceae0431c853cbf8e06a3b60430df6 qtum-osx-0.14-res.yml
3929ae8b22e32b2f2d6d99e4ec6c654486ac3bc4c663b8054e5243923f504803 qtum-0.14.7-aarch64-linux-gnu-debug.tar.gz
9b29a0da81b7f3005240a83da9874d10002ed48ec759d57db97e9bc12a9c4eda qtum-0.14.7-aarch64-linux-gnu.tar.gz
cbee2a21780f33624650e538c4f812d852283c86486f915e285d7455f53ba21a qtum-0.14.7-arm-linux-gnueabihf-debug.tar.gz
22b885543d4231ca7f6d9c4c023fa2ecb9a44fb630c6cc05a395b21f0fc47f09 qtum-0.14.7-arm-linux-gnueabihf.tar.gz
2d58cc607339e19f805529860f927173ed5f9d503a4985fdeaf082ae0d4b44d0 qtum-0.14.7-i686-pc-linux-gnu-debug.tar.gz
283753c6f2c8e9848947e8211dffcb08ba9380ce3ab74728858d64239d48ecfb qtum-0.14.7-i686-pc-linux-gnu.tar.gz
b465060bf0e714e4fca305529dc911eca518eb482f53dd652e51af6d5f48fa37 qtum-0.14.7-x86_64-linux-gnu-debug.tar.gz
f6c49a692734bf021b6c0a53ee32f745b71b7179466eaea98aa398db160a7797 qtum-0.14.7-x86_64-linux-gnu.tar.gz
a23747d3b59170e0a040a995108b1e4a0a947b06335903a199e4021aada6bc3d src/qtum-0.14.7.tar.gz
ca422302c4e6d4ab5422acdd138d1eda368e68a229800688d2ed4c4b8c7c3435 qtum-linux-0.14-res.yml
aa7baae9a0710d884da0cae199eb1218644b68b51012d99749385a1436b08213 qtum-0.14.7-win-unsigned.tar.gz
850fc62b59d718691ca35501ded4fcf18c7c54fc863962cc68a8e7b735878f00 qtum-0.14.7-win32-debug.zip
8bc1c9b78063e618d2468623c831d8830238df772169f516a9e56808f2e42ef2 qtum-0.14.7-win32-setup-unsigned.exe
2843fe492f2281076338071ff4f04e9c633b17d9db1e56cf67e45de193044285 qtum-0.14.7-win32.zip
3cb46f26119e85915b681ad8bd99b3b4547cbf590e0d677742d34c31a214a8c9 qtum-0.14.7-win64-debug.zip
a642721f52abae5d95a4e644368a851f5e69454e0103d9593eabea75c27f6831 qtum-0.14.7-win64-setup-unsigned.exe
ac60106d970b8ff54bdaf592f2725c2fcdeb4967550643ea937dc3233af9087d qtum-0.14.7-win64.zip
ed0e3c8506e9d80dcb443fa160c6bced2b7706c1f7cdd212f836301acf3ba3ff src/qtum-0.14.7.tar.gz
10b5822b7e3ad878dc14e3cc2156daf63f8e8606e5570e4e73ca768214745612 qtum-win-0.14-res.yml
In addition, as of the time of this writing, VirusTotal detects 0 false positives on the Windows 32bit and 64bit zip files and win64 installer, and 1 false positive from 2 vendors on the Windows 32bit installer.
installer win32: https://www.virustotal.com/#/file/8bc1c9b78063e618d2468623c831d8830238df772169f516a9e56808f2e42ef2/detection 1 false positive ("HEUR:Trojan.Win32.Generic" from Kaspersky and ZoneAlarm)
installer win64 https://www.virustotal.com/#/file/a642721f52abae5d95a4e644368a851f5e69454e0103d9593eabea75c27f6831/detection 0 false positives
zip win32 https://www.virustotal.com/#/file/2843fe492f2281076338071ff4f04e9c633b17d9db1e56cf67e45de193044285/detection 0 false positives
zip win64 https://www.virustotal.com/#/file/ac60106d970b8ff54bdaf592f2725c2fcdeb4967550643ea937dc3233af9087d/detection 0 false positives
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
wsFcBAABCgAGBQJaAPxLAAoJEAKXMK2l7Ra+CeIQAI7Fp957XjzIdzZPnIjF7Qdo
5LuPZxex7Q6n94td75xWM9fCU/TuFS4s5ze4XJiO3wEzPwwQ9V78lyWLGKOdX8EF
LwrSUdESaZCnt9iygAgJA2Ckmbds46o81hFb5QjgzKmu6MvlXslpadw12cElqla8
HS4Vobz7Vg5BG6cQfO2neJyIaUbx3915rQ1/v2QHSyYyuiHmfTo7qOY7Llr8qZq8
dAeaFm0hP4ro+CxbKjdkU89CApgtwINPRtGcrnv1rnnHnAcJlnz6qWkJOiNT7rVp
EnZ4J976h/4uPcEWWFJKd4AQzu1C7eWOEjMk6Ndd5PuFRyVFvY4X3s859FOeW0W0
D1ekMDUHvYKoEhUphKeKyjB+m7qU6gdr1OmGOMyYspDlfk5CRe24ObNeT4RVgW6y
v8GPQYTAyPcNYzC+StXxHFvTIGCiK7iiwj5qy0FgiIZgqRoOsLvJ1i85lQAiM62+
7Y3r2iKRY6sGgPkFwiknEAZLly164nBMDUuq8Io0Xv1ViQb17r8QpIUVkKmRAru7
/5gtNYiMFv9HLua4Tt8Qo0gdyDdNtt51l/rP7r5vOdkZuVfmAexEKztsoc2HTDeh
ibXyHrVI3DgeH0WIV2CNvlYoE1dkAOFUUlXzk/Y9BazHW/PsSMk3ma2dJkDNPDm+
ScxZUHP9h/9LgLj/tLSe
=PmzK
-----END PGP SIGNATURE-----