Mainnet Ignition v1.0.3 - Optional Staking Update
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.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.4-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
- qtum-0.14.4-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.4-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.4-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.4-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.4-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.4-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.4-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.4-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.4-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:
48c54cddbdd28d386fe18c7cddc46cfc5d1877775488048d4d7932fd2b666111 qtum-0.14.4-osx-unsigned.dmg
5b3f3306450037b8cbb7d10b4adbcfa675d889cf6b1ea23df0bd37dac89a374d qtum-0.14.4-osx-unsigned.tar.gz
c270743c35ad578aa204670ec12a20e85d85d68f950bd302582d16627764e659 qtum-0.14.4-osx64.tar.gz
0767ef83a677aee4ecc63bcafe90b038fd75d6a0fbf09ebd91cc6c1beb2850a2 src/qtum-0.14.4.tar.gz
4cfc7af2d8080ddea9f203812d8e7657c221b368d53fc5afdbc9d082db103c64 qtum-osx-0.14-res.yml
6e16b09f1564d75e653297b0034b84098f1c5c00ba49ab3be26aabfacbd018aa qtum-0.14.4-aarch64-linux-gnu-debug.tar.gz
39acc0c9e422f55a0e830a84167522868edc2179036075f6dcaa0b0850d9c16f qtum-0.14.4-aarch64-linux-gnu.tar.gz
19edd1a5e3a239f210c5f4d1373de90aea86a6e9b6a4ec2b14e0f7c67a0df9bc qtum-0.14.4-arm-linux-gnueabihf-debug.tar.gz
fa0c212b2d883cf75a1337c8c5a457a42791442c0dc5d94bbaffec2951897247 qtum-0.14.4-arm-linux-gnueabihf.tar.gz
3f67d2c5a02c98224ffa53c374ba31c5135cecb92c32ff29b2552eff525e7008 qtum-0.14.4-i686-pc-linux-gnu-debug.tar.gz
6d30d803a767ce37d426336353d75fe643694fcd29b320cd15a958dff3a4d32a qtum-0.14.4-i686-pc-linux-gnu.tar.gz
eb2468fc5421ca855d87070f70b67ec7a84894a43c9ddd57dae2feea941e7957 qtum-0.14.4-x86_64-linux-gnu-debug.tar.gz
e394c256aa2674249f20c089a788d7ff4c9f686b39ea0b51f3dcf0456f949a7a qtum-0.14.4-x86_64-linux-gnu.tar.gz
0767ef83a677aee4ecc63bcafe90b038fd75d6a0fbf09ebd91cc6c1beb2850a2 src/qtum-0.14.4.tar.gz
391918756fb4e04269c8bc3d3570e16bdc2eb4c4e8a7cf8c49d3509d3fad5b5e qtum-linux-0.14-res.yml
79187553ee15aeedb6996edf7b27d4572cc76ce345c1c885939731bc2e38c009 qtum-0.14.4-win-unsigned.tar.gz
d96fc6cc7a335dd4b4c24af304f93b0b2677cc1b45a00804bcd752f6886c0b34 qtum-0.14.4-win32-debug.zip
ba5dd68eba70b665ad115641051f3da86c1bceb1ba94f76a45885c25d20aca2f qtum-0.14.4-win32-setup-unsigned.exe
7da28419dfa8944e24bf0b8ed6053df6a320516ea8982e3af714ff37fe448860 qtum-0.14.4-win32.zip
bcc1d805758624251d24f35c382918f3ba7c3f2b4e38fca16414a42a9c81a777 qtum-0.14.4-win64-debug.zip
f867cec706d2f6ac8ff1e1e5047e4b19a245c90d501b779de2727b2806e022fc qtum-0.14.4-win64-setup-unsigned.exe
efcfd2c7ffe61fb657c2aaa2a54d6bf5c9cd96a1318349cb2225e5a6c48d3409 qtum-0.14.4-win64.zip
f6888b883e02679363fbdeb5248f1cd1af5ded347f3f408171cc50bf5815ac6b src/qtum-0.14.4.tar.gz
5792df3a3e8f183d9b9b04f71f1015a83abf6563276f806a7ad7f6c897919acf qtum-win-0.14-res.yml
In addition, as of the time of this writing there is 0 false positives on the Windows 32bit and 64bit zip files, and 1 false positive on the Windows 32bit and 64bit installer files:
installer win32: https://www.virustotal.com/#/file-analysis/OWZhY2Y1OTk5MDk2MmZhMjZlZTFhMGZiMDljZmViZGY6MTUwODg1Nzk4OQ== 1 false positive that we've reported to Rising AV
installer win64 https://www.virustotal.com/#/file-analysis/NzFkNWEwY2EwMGVkNDc1ODJhMWViMjFhNWRjZWU3ZTQ6MTUwODg1ODEzMQ== 1 false positive (same as win32)
zip win32 https://www.virustotal.com/#/file/7da28419dfa8944e24bf0b8ed6053df6a320516ea8982e3af714ff37fe448860/detection 0 false positives
zip win64 https://www.virustotal.com/#/file-analysis/MGE1ZDU5MjQ4ZmM5NjI2NGNjMzNmYWY3NjIyZjk5YWQ6MTUwODg1ODE0Ng== 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
wsFcBAABCgAGBQJZ716uAAoJEAKXMK2l7Ra+TpgQAJrBjZuuHlCkpVcEDhkmccNK
FE6D9VZ3bTfw2+fu/PG6tZFgTxjBMC2zTLkyGmv11SnSw0q61c+YKJDaKiZvrz2Q
jAMHyL9T5Q9iRetAk3PHkKv7SXcApjdZY+LzOU9Htiwh5XSqfYnjJkAGqc+6xIux
NJRFP5fp3kSLVsoG/REZ3xD/ogjRc10oPolFcgkLmZyZhlCz7/GVsa32hBZ5cwvR
2soRH94Qp2kI3MvPi/4c40wHmUctOwwqZUOw++ZyG168Doz6reeebK70OBOaJKkl
LCnbjQMUD/zOeU9haRHQrLUvi9proDsizDFEiWQBINWOmnfrDy2sBSNPg1pbyGVU
ei4rBoXqieOz/4VusxKPzzpkDKgSbh094M+bjKZEECRs8PK2GzxYCb/sx4f4KYcr
NsfS2ekYE30cgkqV1KJDyLQfE7HCgWKto1R2+Y1/veTGNvyqwWBbNSw6/dNn1LDp
rmw/5RAZZN67dgBCmzf+v9nJr9YEVQoAK26tyx/ge6Tgc+WABqHtQm6EWtunactv
fUynkvY0iOrLTlPrJBL6yMBafc/dHOti3MabcU2B787yW1FwudmLEULzr/EZBjAl
PE/5j7VIU/54d1to50i8wQXb9kWWVfVdnuj4Oh0GUwo38G4gcXrdhm/Nc/qBiyic
LJYxm6pJzUAnF/qrV7XP
=g54m
-----END PGP SIGNATURE-----