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.
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.
Deleting the Sparknet and Skynet blockchain
If you downloaded the Sparknet or Skynet wallet and ran it at some point, then most likely you have a copy of the Sparknet or Skynet blockchain on your computer. There is no value in keeping this and it is safe to delete. You simply need to delete the data directory you chose when you first ran Qtum. If you're not sure, then it is probably in the default location. This location depends on platform:
- On Linux:
- On OSX:
- On Windows:
%APPDATA%\Qtum(copy and paste this into your Explorer address bar and it'll take you there)
If you get an error about "unknown genesis block" or something similar, then this is the problem and you need to delete the old blockchain. Make sure to not delete the file
wallet.dat if you have any mainnet Qtum tokens stored in an address within it. (It's recommended to keep it and then resync and make sure your coins are safe, just in case)
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.3-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
- qtum-0.14.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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
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
- 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
coinbaseoperation in Solidity (this address is also the one registered for the continuous staker rewards after 500 blocks).
- 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
-----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: 257656794419a0f91d31de7e322d0ac8ff345a75e3e264878b1a91a7e0be8313 qtum-0.14.3-osx64.tar.gz 83f4b5fbbfe43d20efbc7a51ab3a532d9cb007f31ae14cb8e3b266d172ab0b16 qtum-0.14.3-osx-unsigned.dmg 8cf2631aafbd87e2ef545093bfbcd643152a14da02e6a2bb3af9cf7ddc634418 qtum-0.14.3-osx-unsigned.tar.gz f942119fc035ae0a563914709e032d5b5c4048f0d2e95dda8bc02f5aab1f1cb1 qtum-0.14.3-aarch64-linux-gnu-debug.tar.gz f61f8e203552be4f549fc38df283be1dd9d29c14d807f3faa5ffd762ceeaf2a1 qtum-0.14.3-aarch64-linux-gnu.tar.gz 54d13b9b966b60af6b979454243a64f8fb1afb3cbb8de838e3375ad7226c68ab qtum-0.14.3-arm-linux-gnueabihf-debug.tar.gz 50c93c64753a4629cc84a6cf29a1484a03de25a6f87fb2df4418dc4abe017766 qtum-0.14.3-arm-linux-gnueabihf.tar.gz 9f7d6b5df606317416850f03441772d725447e38c59456f9540c70c393722506 qtum-0.14.3-i686-pc-linux-gnu-debug.tar.gz e034ad57685d59fac70ba928f8474077a7766ed3d373098eb652cefe00f3b0d2 qtum-0.14.3-i686-pc-linux-gnu.tar.gz 3d17900bc99efafd07225326ba92e498824fd811d68fb882e42dcb97549c8117 qtum-0.14.3-x86_64-linux-gnu-debug.tar.gz 822861abae8370dc4909e47a8bcc9d1e375c20ee7295f3a21e931cc4600ec83c qtum-0.14.3-x86_64-linux-gnu.tar.gz 08bf6f557e28166f45ad9f76e132bede665900023e9010b5d1b3701d619082df qtum-0.14.3-win32-debug.zip 34f59604c4e0015dc394fe0dd1f0ae7542f2d5887c90ae8021497e84d5c7adc4 qtum-0.14.3-win32-setup-unsigned.exe 32a8be283f84ef5c6e0febdcd09e06d71728eebfb1f30daa93984e847e65b02b qtum-0.14.3-win32.zip f7683deaca00783cccc1ad59f2567f2f8cccca7b9bda5bee2f1748aa11034880 qtum-0.14.3-win64-debug.zip 736cfc1c7c72a0aa895877bce78dac32dd53441ef9c78a6da6019af80a65bc4b qtum-0.14.3-win64.zip d7f5887c25734d8246a73b9190f4b469b8b28234d5343472d9754c32c0bc4b32 qtum-0.14.3-win64-setup-unsigned.exe 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 wsFcBAABCgAGBQJZ4h9sAAoJEAKXMK2l7Ra+yJsQAJ1NkOdQ8iMrYervUMIWTDz2 SOGeGP6D5MTw3i0Lt0o7FqJVRC+/r87xK3hnXhRg/Is2wuyC83VaUSV53QAVQxC9 5OWCADjVFW9R9PGbpZa3sQ8sK0LnQj/kFvi+47/CmuJHHDazgEYRw+GwvIi8Cy1/ +EA5mDmbIEgBx+prwyOc7qmiFrB53u9mqebbOHyEn6qaTOsgqJP2lWLaXJWJ6THS CX4yV9wv2M7W7+FXv5MFcWw9tQoG5/YTnC/sI1bUTOwknbeOqsPgVgDEvc4sw+3z igCgQOYnkHMUJE5bvcMihoSpZqSh5Fscrw+Id+R/sHO1Zyf/avkkNkJVn0v7uAbE fdFfe6VCJf8ZuFrIjllJMb0I0MpeqZQnZ4nj/EBUpX92rAIBcFaPRdU+oH2plP4E QaH3Gm/Fg0Z+o+Vp++pfMKxWfpPI5xg5sJ4lnA/vmBiS8AUdN0ULZvXcIKFoAqCZ Yegnti227XcO02hm4A2fABjGjfEruEh0JPQ7ZeXyyyOKZZfH7WxcXaLDDs3WTeTJ U+QukiBfFNFHuXdwcFCfddSOiWQqgXVc8zctPWjbXQEXdpFz2cw4eWnYmdfM5t/e rU51wRlN+6wAoAyNZmfiesdgiWtjMOmT9c24muf3hjbN/9bsKmgn/a/Himc6PLe8 fqzEFc5jI15plCQ89h4R =jUL/ -----END PGP SIGNATURE-----