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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. An improved 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, The GUI also offers easy QRC20 tokens management.
  4. 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.
  5. 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

  • v0.17.2 - Recommended update - Bug fixes
    • Update ZMQ version to 4.3.1 (CVE-2019-6250)
    • Change the behavior of the EVM's event emitter to match ethereum's behavior in some cases.
    • Fix a bug where the staking icon would not show accurate information.
    • Fix a bug where compilation would fail if the system has secp256k1 library already installed.
    • Fix a minor typo in Qt wallet.
  • v0.17.1 - Upgrade Qtum core to bitcoin core 0.17.1 plus other improvements and bug fixes
    • Upgrade Qtum core to bitcoin core 0.17.1 including partially signed transactions support, external wallet files and more. Check bitcoin 0.17.0 and 0.17.1 release notes for more details.
    • Fix a bug which allowed using P2SH addresses as transaction sender in RPC interface, which caused that transaction to be rejected.
    • Fix an issue which prevented the correct logs to be printed when a state divergence was detected.
    • Prioritize create contract transactions over send to contract ones when staking.
    • Fix a bug which allowed node's time manipulation in some cases.
    • Fix a bug which prevented some EVM globals to be returned correctly when using callcontract RPC call.
    • Fix a bug which caused fee estimation to be excessively high in some cases.
    • Fix Solidity compiler link in the GUI wallet.
    • Make getaccountinfo RPC call help message clearer.
    • Improve the way encrypted wallet related RPC calls help messages were displayed.
    • Fix a bug that caused build description to be inaccurate.
  • v0.16.2 - Recommended update - Improved network security and bug fixes
    • Implement network spam protection
    • Only request blocks from peers when their chainwork is strictly greater than the current tip
    • Add extra header checks for PoS timestamp, block indexes, signature type (LowS), synchronized and rolling checkpoints.
    • Add recent checkpoints
    • Update nMinimumChainWork, defaultAssumeValid and chainTxData
    • Update BLOCK_CHAIN_SIZE
    • Fix failing Qt tests in make check on OSX Mojave
    • Fix getblocktemplate rpc call for PoS blocks
    • Fix help messages for walletpassphrase and getnetworkhashps rpc calls
  • v0.16.1 - Mandatory Update - Critical bug fix
  • v0.16.0 - Upgrade Qtum core to bitcoin core 0.16 and bug fixes
    • Upgrade Qtum core to bitcoin core 0.16 including segwit wallet, bech32 addresses, HD-wallets by default and more
    • Fix a bug where contract transactions with no change would fail in some cases
    • Fix a display bug where multiple logs would not show corretly in Qt wallet
    • Update gitian build scripts to support ubuntu bionic as building host
  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

1f7973cb80ec5f065fc4cdeef0c2f164e1c48d12f519fa9f018dd668d08384e7  qtum-0.17.2-aarch64-linux-gnu-debug.tar.gz
1faecfcc70e1d730d444d1547dffa25326effecf14aa0305eca0e1ff988671dc  qtum-0.17.2-aarch64-linux-gnu.tar.gz
49280f1bf3e36c93b0b9d95eb3c39f1f17aaba49078a73587430fcc7f8baceb3  qtum-0.17.2-arm-linux-gnueabihf-debug.tar.gz
fefb601068a08cd15f7dce10f4eb4bcf7b84c1c964d2f66398151a3805cc0749  qtum-0.17.2-arm-linux-gnueabihf.tar.gz
968905717443e87c62dbcf12473ef70c0d6db92b5610394f839815aa95a913d0  qtum-0.17.2-i686-pc-linux-gnu-debug.tar.gz
0ea1a2790d1dc6bad71ebf25884f9ba0036ece6bbbfe4072c75db1f4c9793aa2  qtum-0.17.2-i686-pc-linux-gnu.tar.gz
2ae68455a7bf18f8667d741cd349bcae7609a65bd40bbbbb597dba9fa73c0fb7  qtum-0.17.2-x86_64-linux-gnu-debug.tar.gz
f51926bf704c541e3ead5e5a14da6a4807cb7b761c23830aa37f044824e4fb33  qtum-0.17.2-x86_64-linux-gnu.tar.gz
5fced0980d22d30a3a117ace75aec82581d90b56c12cea010e8fd25b29028290  src/qtum-0.17.2.tar.gz
dd31d1a338ce6fd8a312e8db0f4e4df7c24614decf51b64141c84b50018b62d5  qtum-linux-0.17-res.yml

ccef1d157682caf4794a4e552338f4cf7502ac1f380f261ba64213e8f2090b6a  qtum-0.17.2-win-unsigned.tar.gz
b82b329feac7324a27cbbfd408c2d3677e9ed73fb32ac9c44d37e0deae084f1f  qtum-0.17.2-win32-debug.zip
81aab1406d30da541c11f59126b4c5f992b3602377002e22cd6433ec71cc5dba  qtum-0.17.2-win32-setup-unsigned.exe
0fe927cf1d661509adeb5655203627e4df637673a9ef9af8df738cf3e57e9435  qtum-0.17.2-win32.zip
dbf671b05d4f9f69eaa5ca4b76eb3517248093db0a1b74165426979f339ed4c8  qtum-0.17.2-win64-debug.zip
089ee282420092148c4912d1650c93d8b4e775827f1417f306fc16192f6d1e0b  qtum-0.17.2-win64-setup-unsigned.exe
7af479f138738364a6da191be01df84eacd1c395c43ec407b5972fecbcbd0636  qtum-0.17.2-win64.zip
5fced0980d22d30a3a117ace75aec82581d90b56c12cea010e8fd25b29028290  src/qtum-0.17.2.tar.gz
2af7c87aa40073277f0ab005a2a0a051aa5b92188068d88ac548266716df2780  qtum-win-0.17-res.yml

90c1f2e5c2f66c2b101826c4ce4dd02ad52bf5510b61aa97e4df7bc366b6133c  qtum-0.17.2-osx-unsigned.dmg
c3a1b51af70b3f0c10ca69f6541329742d6c3160624bd6708046e08c62ae9515  qtum-0.17.2-osx-unsigned.tar.gz
3ccf5c86790e3839b6f5026d5cbeebed98b93f4efc3dbd3866a5d45efb1cba02  qtum-0.17.2-osx64.tar.gz
5fced0980d22d30a3a117ace75aec82581d90b56c12cea010e8fd25b29028290  src/qtum-0.17.2.tar.gz
7ae172ad8da4cf9aacc8beed0bb2132540e64921c71ac1beacd8e5e2c376b65e  qtum-osx-0.17-res.yml


Assets 13

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. An improved 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, The GUI also offers easy QRC20 tokens management.
  4. 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.
  5. 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

  • v0.17.1 - Upgrade Qtum core to bitcoin core 0.17.1 plus other improvements and bug fixes
    • Upgrade Qtum core to bitcoin core 0.17.1 including partially signed transactions support, external wallet files and more. Check bitcoin 0.17.0 and 0.17.1 release notes for more details.
    • Fix a bug which allowed using P2SH addresses as transaction sender in RPC interface, which caused that transaction to be rejected.
    • Fix an issue which prevented the correct logs to be printed when a state divergence was detected.
    • Prioritize create contract transactions over send to contract ones when staking.
    • Fix a bug which allowed node's time manipulation in some cases.
    • Fix a bug which prevented some EVM globals to be returned correctly when using callcontract RPC call.
    • Fix a bug which caused fee estimation to be excessively high in some cases.
    • Fix Solidity compiler link in the GUI wallet.
    • Make getaccountinfo RPC call help message clearer.
    • Improve the way encrypted wallet related RPC calls help messages were displayed.
    • Fix a bug that caused build description to be inaccurate.
  • v0.16.2 - Recommended update - Improved network security and bug fixes
    • Implement network spam protection
    • Only request blocks from peers when their chainwork is strictly greater than the current tip
    • Add extra header checks for PoS timestamp, block indexes, signature type (LowS), synchronized and rolling checkpoints.
    • Add recent checkpoints
    • Update nMinimumChainWork, defaultAssumeValid and chainTxData
    • Update BLOCK_CHAIN_SIZE
    • Fix failing Qt tests in make check on OSX Mojave
    • Fix getblocktemplate rpc call for PoS blocks
    • Fix help messages for walletpassphrase and getnetworkhashps rpc calls
  • v0.16.1 - Mandatory Update - Critical bug fix
  • v0.16.0 - Upgrade Qtum core to bitcoin core 0.16 and bug fixes
    • Upgrade Qtum core to bitcoin core 0.16 including segwit wallet, bech32 addresses, HD-wallets by default and more
    • Fix a bug where contract transactions with no change would fail in some cases
    • Fix a display bug where multiple logs would not show corretly in Qt wallet
    • Update gitian build scripts to support ubuntu bionic as building host
  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

5db1f8e81a04316b8cb31ff9b6b29a8735d9b67029fcfc8fc05a7cbbeee5a48a  qtum-0.17.1-aarch64-linux-gnu-debug.tar.gz
982a7aa456719d071b1ccd247ecaa0666584cd30a92d3d4ffb62228727820ce7  qtum-0.17.1-aarch64-linux-gnu.tar.gz
d5fe585e05c3df986628e41d9d42e0a83613d19aa4ebe256342327ecd6085808  qtum-0.17.1-arm-linux-gnueabihf-debug.tar.gz
532dbefca6ad63279cc1c44295bbf2a197ef93beae02ce9720e645a7ae18a619  qtum-0.17.1-arm-linux-gnueabihf.tar.gz
2c1df2ddb11d7daa1179c47959e9e01d722397ad47cd45f3d6100a06555dbca5  qtum-0.17.1-i686-pc-linux-gnu-debug.tar.gz
b13a7156ac80ddbd3b4305cb218a0fc18078a836cba288c5c386587c5b3c3c94  qtum-0.17.1-i686-pc-linux-gnu.tar.gz
f76d22d8cb8846c9ea106fd6ac1e646b72d3b88294db5e2d196758f531cfc42a  qtum-0.17.1-x86_64-linux-gnu-debug.tar.gz
4e803902f5f0fa1d078d11a314c09f1490a55edb2d09b7f7418541ee9259c273  qtum-0.17.1-x86_64-linux-gnu.tar.gz
48aed97cb1698991fc7a5c1ceae77932c7874f55a7113abdaaac1ad5c16978a5  src/qtum-0.17.1.tar.gz
ad93ac40af12b405e7bcf424216b7912890a48a5f3caf9c4fe9e51c085c3a54c  qtum-linux-0.17-res.yml

79bb5b6f07663caa5555314683c22edbd27d2556dacf9a14d9e1bca83efffcf5  qtum-0.17.1-win-unsigned.tar.gz
53467a6003643bc53f5277000071aea9013edd7e64029aad9d1a11ac9fc38660  qtum-0.17.1-win32-debug.zip
6570639f44015f3c959c64e876b28bb4390c6fed5ce2b5695b037b1caed5c9df  qtum-0.17.1-win32-setup-unsigned.exe
7fb2979075491eee2c7c092caf81d670607a51d618b66b6a71521d2faa912129  qtum-0.17.1-win32.zip
65691fcbcde9f9aaa354ac10197ace471d05b927b478b984998379b04607c96c  qtum-0.17.1-win64-debug.zip
f53bdcee97a594db4f69dfb72ec9157d848a553f02e7fa92b191342a068d8cb7  qtum-0.17.1-win64-setup-unsigned.exe
a60449a1f486c4d6165e68e7c92315b830839874660122c801e37d487452806e  qtum-0.17.1-win64.zip
48aed97cb1698991fc7a5c1ceae77932c7874f55a7113abdaaac1ad5c16978a5  src/qtum-0.17.1.tar.gz
1cb84a794e0c086b785d04f5b78f63e03df0d8b80d2a3a8be3f7c0dbb3f2869b  qtum-win-0.17-res.yml

2881ee1df27a039a1be723ae431e29aaefe7e1d640cdf603b2238eb8724f131f  qtum-0.17.1-osx-unsigned.dmg
de3d225a129c2f5e66174fdcadcb6350d8507f1dfd77f70cd81163f5146f8e3d  qtum-0.17.1-osx-unsigned.tar.gz
4551c0f00518fcb73b4d2ed6bcdcbeb71bdea11ebff096e6db7d5b91671d32a4  qtum-0.17.1-osx64.tar.gz
48aed97cb1698991fc7a5c1ceae77932c7874f55a7113abdaaac1ad5c16978a5  src/qtum-0.17.1.tar.gz
9abd79ff00d86aabcabf7a972ac7beb0d66945c492144c57dee84a35ce723b09  qtum-osx-0.17-res.yml

Assets 13

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.16.2 - Recommended update - Improved network security and bug fixes
    • Implement network spam protection
    • Only request blocks from peers when their chainwork is strictly greater than the current tip
    • Add extra header checks for PoS timestamp, block indexes, signature type (LowS), synchronized and rolling checkpoints.
    • Add recent checkpoints
    • Update nMinimumChainWork, defaultAssumeValid and chainTxData
    • Update BLOCK_CHAIN_SIZE
    • Fix failing Qt tests in make check on OSX Mojave
    • Fix getblocktemplate rpc call for PoS blocks
    • Fix help messages for walletpassphrase and getnetworkhashps rpc calls
  • v0.16.1 - Mandatory Update - Critical bug fix
  • v0.16.0 - Upgrade Qtum core to bitcoin core 0.16 and bug fixes
    • Upgrade Qtum core to bitcoin core 0.16 including segwit wallet, bech32 addresses, HD-wallets by default and more
    • Fix a bug where contract transactions with no change would fail in some cases
    • Fix a display bug where multiple logs would not show corretly in Qt wallet
    • Update gitian build scripts to support ubuntu bionic as building host
  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

ac8f37b350a3f1d27cacae1b561b85accef0162a4e5081d56decc036c3de9d17  qtum-0.16.2-aarch64-linux-gnu-debug.tar.gz
074b803872ffd19939dd12f0fcec8d80f1b2b76a1c94b80c55127ea60e7eccb1  qtum-0.16.2-aarch64-linux-gnu.tar.gz
2cd311db19a406923b3552a19697fed42978f0fa8ab6acfd7f42574c4d6873a2  qtum-0.16.2-arm-linux-gnueabihf-debug.tar.gz
4b3c9d130036556e88a4532ffd22bf2376eb32484873b11c4ccf8da62c30fe1a  qtum-0.16.2-arm-linux-gnueabihf.tar.gz
702a1475e4bf93f5bd96fb47e0d90c2629de84dec2a02465ba31744fcd7e8f7e  qtum-0.16.2-i686-pc-linux-gnu-debug.tar.gz
7b4caa1692359a7646e6c8e7608f51e494765d14ee21e0e6bcbcf825ec49cb26  qtum-0.16.2-i686-pc-linux-gnu.tar.gz
91c76af38e9bcb60112c9b824fa32e96c8494cb36f37561a2ec5f48a0bfda3e3  qtum-0.16.2-x86_64-linux-gnu-debug.tar.gz
7be07fb113ad483c7c43086057e92f3404f749325e2c1366959a35fcc68ea06f  qtum-0.16.2-x86_64-linux-gnu.tar.gz
217c26a443b9900caf44743bc26d5c0a5f556c056709b5cf896a6bdc3f5d6734  src/qtum-0.16.2.tar.gz
93c5ea3300d4ef9bc4756e85723e0f908ba4549ac57a81d22ff6f284a86d5c1c  qtum-linux-0.16-res.yml

bfbc3f8c31844e782034e75e2f66c28bc5a8f96f3cb1435c615bbfe36a7e83a5  qtum-0.16.2-win-unsigned.tar.gz
cde0e2a7548e618f704003b165d033849e2abf96a8880089091678231c2ac444  qtum-0.16.2-win32-debug.zip
d0fbe24b0b09feb109da7907f6ef356938d7c35da6d08ef2bf209c08e8aca98c  qtum-0.16.2-win32-setup-unsigned.exe
781c22ed648d9dbcc24a71c7e67598de52582f1f0cdeb7fc73e63bf7be94051c  qtum-0.16.2-win32.zip
cd4ba7c43f2b4e5a0beba1e87ec93fce38397afd977f4256ab08bf7a4a04b7ca  qtum-0.16.2-win64-debug.zip
bbe820c19d5567daef7215d9d7f8a8c14a17c92f8f8f705cf63673935ffb21f5  qtum-0.16.2-win64-setup-unsigned.exe
805bc93326b366073bf310f3cc729e3d302a9191d492144ad3aba58d837fc6fa  qtum-0.16.2-win64.zip
b4c6b0de4c8ccb4c56ebba59e8fb189608df414f836011888fc4809eef902b3a  src/qtum-0.16.2.tar.gz
757939b3f0a9339805c5ef0f4daefa7069267dc20e3447948ddf727ebb25c21f  qtum-win-0.16-res.yml

2748be76522fe4b14781ca21c5ae9c58fca95a3e0423f83e5c2f8f9b16b49330  qtum-0.16.2-osx-unsigned.dmg
eee7c2405eabbe741e38496bc0a58bfd41bd22975fca0b52543b697c96fea294  qtum-0.16.2-osx-unsigned.tar.gz
d762a4159967b0a44df80326986ae3a58af2ce37190ea41be2a1527cc951eaf4  qtum-0.16.2-osx64.tar.gz
b4c6b0de4c8ccb4c56ebba59e8fb189608df414f836011888fc4809eef902b3a  src/qtum-0.16.2.tar.gz
bcb2ec4badab2f5a0168c285090808a6f5d2d51f78a2adf4efe235eccbe10dea  qtum-osx-0.16-res.yml


Assets 13

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.16.1 - Mandatory Update - Critical bug fix
  • v0.16.0 - Upgrade Qtum core to bitcoin core 0.16 and bug fixes
    • Upgrade Qtum core to bitcoin core 0.16 including segwit wallet, bech32 addresses, HD-wallets by default and more
    • Fix a bug where contract transactions with no change would fail in some cases
    • Fix a display bug where multiple logs would not show corretly in Qt wallet
    • Update gitian build scripts to support ubuntu bionic as building host
  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

94278294368f5d72a5f78ffbf596b0a79fa526489aaa07eeec98b1195248fb9b  qtum-0.16.1-aarch64-linux-gnu-debug.tar.gz
31c28caa3e43e99fef79f9de428c04c58323f89d4e67ef42efae11c005ba3039  qtum-0.16.1-aarch64-linux-gnu.tar.gz
07ca6b691b9c09c65cc3d50565834a1d34803f14464545ce474cbcdbab106f12  qtum-0.16.1-arm-linux-gnueabihf-debug.tar.gz
4755113f678b6aa63c43f35abe4c6135f7bde32dff57693ace48a570b9556e7f  qtum-0.16.1-arm-linux-gnueabihf.tar.gz
37aa995e9d5078a0f998b258ae5281e87960b2c63e93363712f0d9d72a8d0092  qtum-0.16.1-i686-pc-linux-gnu-debug.tar.gz
0886307da2738ba84082feda940978adcc7dc70ba074b206acc9298e9b437450  qtum-0.16.1-i686-pc-linux-gnu.tar.gz
80714497089f018b25f442e8832924b1039602576a1ba9d328b31620b68e912f  qtum-0.16.1-x86_64-linux-gnu-debug.tar.gz
a04613c40e269069cdea279039b42e3e0b50fbfd345416a5a6e39fddbc91ed8f  qtum-0.16.1-x86_64-linux-gnu.tar.gz
5ca228a918711e0a12aea7894c7cc64b0bbe16a8d2aa41406e6fe659173c96b8  src/qtum-0.16.1.tar.gz
6b69fcaffc58d856fb91ee52c7dc00bd6e3e0f40b646f14ba1e2dfa0017b8909  qtum-linux-0.16-res.yml


9ba8cbb123438eff236c8e2fbf9f22c5f1448e5ae72b6321303cecd05a6aacef  qtum-0.16.1-win-unsigned.tar.gz
74109333d15041952b2d615455824b74b4d5de553e99fe367050e983ab27ed9c  qtum-0.16.1-win32-debug.zip
a938fd5ded21f9188b615e8b579b6c8d131516fb0f65dfcf7d92756de6cef951  qtum-0.16.1-win32-setup-unsigned.exe
eb52fbad2d4a09eabf68b61d914499f697acba8ad8cd17a36ef63d9cf41df697  qtum-0.16.1-win32.zip
373aec0651d7e2dc85d773c2a6e666a4927afbdffff90feab0b9e8db9b3a550e  qtum-0.16.1-win64-debug.zip
5442b072eb659322066a3b94a39ce3b47869f1679a13fd0d7cb3153445d5983c  qtum-0.16.1-win64-setup-unsigned.exe
27344bfb88640735bb7820d68659126665543e7136157d415552078379f16495  qtum-0.16.1-win64.zip
f31c03e756f7c3a27b522a4389c05db8e96fe17fac9966c443fbe1e357a10f77  src/qtum-0.16.1.tar.gz
5c653086bdd13d4095a33bc9da8fd049572c62378cd447f481b3092fb791415e  qtum-win-0.16-res.yml


c24719037865808d093415685d9d5fec7e6f1cd69affdfb8a84fc47902526683  qtum-0.16.1-osx-unsigned.dmg
6843f4f6d8d16182f23dfac3ecc3334d16c2709184afbfeff2c75177bac69cf4  qtum-0.16.1-osx-unsigned.tar.gz
8529842501a85ff3e95a442276dbc598d59380b1a22023cd63dc807155b35c5d  qtum-0.16.1-osx64.tar.gz
f31c03e756f7c3a27b522a4389c05db8e96fe17fac9966c443fbe1e357a10f77  src/qtum-0.16.1.tar.gz
ab174f3b1cae27bca9e36763f7905a3ae455fafc47f73598026b22d1dce98d90  qtum-osx-0.16-res.yml


Assets 15

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.16.0 - Upgrade Qtum core to bitcoin core 0.16 and bug fixes
    • Upgrade Qtum core to bitcoin core 0.16 including segwit wallet, bech32 addresses, HD-wallets by default and more
    • Fix a bug where contract transactions with no change would fail in some cases
    • Fix a display bug where multiple logs would not show corretly in Qt wallet
    • Update gitian build scripts to support ubuntu bionic as building host
  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

c2ec20b370673e8aacdb3bde09b5cce8e3badc0e6cb72de586b685aee8ebe259  qtum-0.16.0-aarch64-linux-gnu-debug.tar.gz
872e302af7c8aa951ba0691c203bdc73337d856a3980379b79f14ab28586d14a  qtum-0.16.0-aarch64-linux-gnu.tar.gz
5ff954f3adc27a37f868b2e3562a8101a524f403b6078d656b7bc4d17b62a1e7  qtum-0.16.0-arm-linux-gnueabihf-debug.tar.gz
36dce83f1cc029986232f745107707f1036bc30ef894c67cb0f24ed702997cbb  qtum-0.16.0-arm-linux-gnueabihf.tar.gz
45e1cc279a629155ab14674e1a3e5e5d52eebedef3049ad2a1c41d3c324e2e13  qtum-0.16.0-i686-pc-linux-gnu-debug.tar.gz
457ebfb7c47ea2bdd6c39a40f026c44a86acf893a8e0264b892224675c488c69  qtum-0.16.0-i686-pc-linux-gnu.tar.gz
b64c61687dc2e110912c0ff436d4603e37cfadbb16b4f2829e3e3d7829451adc  qtum-0.16.0-x86_64-linux-gnu-debug.tar.gz
74d1ba262228da6c67c66a300b5958005b1a1a24b1cb2842adcde43e18a17d14  qtum-0.16.0-x86_64-linux-gnu.tar.gz
7f44ee6a79a926a132436b78651f0f88bd027e58fe3a61abf4fb64a64bf619a5  src/qtum-0.16.0.tar.gz
6ad3d74e4182edca44953b525fcca7d77f9f453a9d20c378b2c137bdcf48ed03  qtum-linux-0.16-res.yml

a611f292a3a8b998f2026d2a50ee5f38392c54d79c261d1fdc36b05ae3a0ccad  qtum-0.16.0-win-unsigned.tar.gz
101ff28c3185609f80e720b7a459c62350dcdc0836b8374faf2018bc132574ed  qtum-0.16.0-win32-debug.zip
5aec9e0167bda6d0cacdbf06767df0664fa79ea5d032f8723f25c23e4c393d76  qtum-0.16.0-win32-setup-unsigned.exe
05be6987402b23cd3f30f9953e3d364651e3ab283b9c165e2499819a13a3c63d  qtum-0.16.0-win32.zip
61a9e06a59334f51f8c2313feed4f42d25c0297fa6d998c02f2645947c08fe64  qtum-0.16.0-win64-debug.zip
02f71f3f2397a446476c0df624c28dda9b70272d5db34a954edbe1072ee37d4e  qtum-0.16.0-win64-setup-unsigned.exe
bc750094105b772ff4545043147fd91938d7eea2ee3b914dee6f7e94753ee3e3  qtum-0.16.0-win64.zip
7d9c89e3dfc2de474268cf324beae1dc7a66bab92057d26e9aeaf846d29ddddf  src/qtum-0.16.0.tar.gz
094cb15c4b580adb6444e95b7ec55bebb099b2f4778636d3c131db9703813914  qtum-win-0.16-res.yml

ce359262f11e7bdd76aad78e6ad84be3f5ebadae2ad02c81695b0435579fc2a6  qtum-0.16.0-osx-unsigned.dmg
cc9ff41c9751e70dd5891bc6f7452d3509e8e957442d156569387f9ed523159a  qtum-0.16.0-osx-unsigned.tar.gz
f5f3be285f96dccdc5425eea8326cff75cc5b0023760c615f8bb016b9b68ef70  qtum-0.16.0-osx64.tar.gz
7d9c89e3dfc2de474268cf324beae1dc7a66bab92057d26e9aeaf846d29ddddf  src/qtum-0.16.0.tar.gz
e9c982ba306f2af702bb985afeb54bce8282ef24cce12dca381074ca02706194  qtum-osx-0.16-res.yml

Assets 13

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.15.3 - Recommended update - Bug fix
    • Fix a bug with searchlogs and waitforlogs rpc calls that caused duplicacte logs to show in some cases
    • Add support for building with boost 1.67
  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

466d1c7475fd1fa546be6821ba857a3021935d6cd206dd4af9aa27835c0a26ee  qtum-0.15.3-osx-unsigned.dmg
b6a6b6149c1f100541d986bf2a75b5934801d0aa60c2b76b1ac467377053e371  qtum-0.15.3-osx-unsigned.tar.gz
2dd207da2fe852064af7cf0ce0ab0b226a891621382e159f37cbfae7184da712  qtum-0.15.3-osx64.tar.gz
30e1bc1c3254e0746173530d099c2bfa3a961d2b04ac2ed14c494eba57126130  src/qtum-0.15.3.tar.gz
398e4924c9d2f0ee0a63c356a2089a3612a11cb31211da22d89d8e52d740b467  qtum-osx-0.15-res.yml

a8f2e5c298fc56af3dc2801215e48f6ea0e105d7d7711d36c79c3279b3676c60  qtum-0.15.3-win-unsigned.tar.gz
7a34cefc5164ae4422daae1c13e7439b0b26edc7dbe78ed4cf5d61b22d53b346  qtum-0.15.3-win32-debug.zip
2ca6b552cc29be67242131da69f9bfb7ea3c590b36c1373bebef31e308be0bfd  qtum-0.15.3-win32-setup-unsigned.exe
4bc83add115918efe24b64bd895813b8d2fd7e1ca8d98ae357e15d15d54ebdf8  qtum-0.15.3-win32.zip
b6970eb34553fe32f6319506a09d84b3df772b2ebdb3d67e5990c0785b638271  qtum-0.15.3-win64-debug.zip
47172f5931a7f203da726f1c894cfa89c751574f83881ccf23533262d01bd820  qtum-0.15.3-win64-setup-unsigned.exe
01a86dd5ce22aab63264421dade0d510aa3e00524c28ce61349895277d5fa510  qtum-0.15.3-win64.zip
86c7694d0661d2f846d863be2b8413b395285fef3dbd646c933f6e71013b5e99  src/qtum-0.15.3.tar.gz
0e2cb6e515325a05ad73ccc5d91c8386e10fe626626bc426ed29f9155d8cd134  qtum-win-0.15-res.yml

7bb0a42b64f830514d5a99aef7623282b168567629f06cc3eaedfca15e35a2a7  qtum-0.15.3-aarch64-linux-gnu-debug.tar.gz
414e8c4c8d4e2e205be6e0c10c83997ed18f81e499a955f0a269055f09807047  qtum-0.15.3-aarch64-linux-gnu.tar.gz
55eb038c19b45d0f6b18e2ffbc55611466729dde64fb57ac2408498ff5fe5551  qtum-0.15.3-arm-linux-gnueabihf-debug.tar.gz
f90d9c1d709ca7726cf0829d7254650c40351b3d2f49884e788eb9675c18886b  qtum-0.15.3-arm-linux-gnueabihf.tar.gz
3ce97a1593a11d2d0de9fd99d82dc628cdb02e72b38ea60ee1b42ff6a6807587  qtum-0.15.3-i686-pc-linux-gnu-debug.tar.gz
aa84a7b202db4a5ce94475f2eb644b6e9fe86407b6ae55ad31a1b5b0cea02738  qtum-0.15.3-i686-pc-linux-gnu.tar.gz
f054c182355d5abc5f5e5a14a3fee8caa88d8717deffb23296de310ceda2b975  qtum-0.15.3-x86_64-linux-gnu-debug.tar.gz
86289fd427979753175a90779c495db76ed2f10a783b6b400f75b05b868a64e3  qtum-0.15.3-x86_64-linux-gnu.tar.gz
30e1bc1c3254e0746173530d099c2bfa3a961d2b04ac2ed14c494eba57126130  src/qtum-0.15.3.tar.gz
71dd18812a62df1f7f24760fa908279c6165ab0c674a130da880a70a35344f2c  qtum-linux-0.15-res.yml


Assets 14

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.15.2 - Recommended update - Improved seeding and bug fixes
    • Fix a staker halving subsidy calculation bug
    • Fix some translations errors and typos
    • Add Support for openssl 1.1
    • Fix CVE-2018-12356 by hardening the regex
    • Fix a python tests bug that caused bulk running of tests to fail
    • Add static seeds
    • Add new dns seed nodes
    • Update copyright year
  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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.16-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.16-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.16-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.16-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.16-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.16-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

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

ff3596f35ecbb4860e6cfae1e5dbb0250d3bd9d02229fb70b79713e3dfb464e6  qtum-0.15.2-osx-unsigned.dmg
d7743f125bdfcbacb0fdb91e56c201830bc811beca00933bb12a7df4bfcd6170  qtum-0.15.2-osx-unsigned.tar.gz
59c19cb01fffb7d3d8322ce661c13e39e52dd7234cd64d1dcda3bd824e5e20a7  qtum-0.15.2-osx64.tar.gz
4997afd7234dba6ddefd6095de5896af31dc8bc34e42e9230ac0dfa60e0e335e  src/qtum-0.15.2.tar.gz
0802d2758deae068fe15f9b00cf6dda3ead07db871d5a5d01ce266e32cc60fcb  qtum-osx-0.15-res.yml

1f2f2fc3419ad62ae6acd419e923c233c4b60230f5cd57047c7f3e76ed2c3225  qtum-0.15.2-win-unsigned.tar.gz
b38f58c1302b4bba87885df0cc69a742e5fa4da5a9fbedbf334e48992612e849  qtum-0.15.2-win32-debug.zip
a7ed7e407909002988aa373573221775635053596f81e67437e96e2cf0e790c1  qtum-0.15.2-win32-setup-unsigned.exe
76c7167d950c1358f0f30974a2a630886e857437006a0ef085c0517c13ce9e9b  qtum-0.15.2-win32.zip
c5bede598250a0df1ae1e660cf53b7636dc8854b55ddeab5234f4260512bb573  qtum-0.15.2-win64-debug.zip
eba9deed892b53184e8314d89a887d47cb81575253c454ac602dd30cfebb663e  qtum-0.15.2-win64-setup-unsigned.exe
67daef12f795176e1be03f79c2da236bb970ff9ab3b6ae8409f0de6122868105  qtum-0.15.2-win64.zip
e5c64c20a9f4a0c475a3a4d8092a6419c9016b2a7d9ca7beb5ffea5e50cb841a  src/qtum-0.15.2.tar.gz
a5aa0a87511a190a8b78d4e6939c4285c30e8f9d194399b7a9a878c1589b87e4  qtum-win-0.15-res.yml

4b034ded5df6ce044d3274e00070a848b514d48ff098a457827306d84f605cd2  qtum-0.15.2-aarch64-linux-gnu-debug.tar.gz
00a7a4b3fc991e30f1fbf6c90da2eb1e7c7bce2294459524a98922fd0972f7fe  qtum-0.15.2-aarch64-linux-gnu.tar.gz
dffc9f2723a47a4247158feb658df3947e276473860a06941bbd37a1785b60cc  qtum-0.15.2-arm-linux-gnueabihf-debug.tar.gz
eab3b82b718053e543f834c8866d8f37da9f76c64de212cfe9721bc94a5dd5dd  qtum-0.15.2-arm-linux-gnueabihf.tar.gz
80a02a6ada95154e5a11902ed6f7934974dacba2e82b1cef60882964920f0324  qtum-0.15.2-i686-pc-linux-gnu-debug.tar.gz
83cc859f6e65690bd6133c64684ab71c6118e5398492ffa300156defbd72d948  qtum-0.15.2-i686-pc-linux-gnu.tar.gz
2d428f3537e8e9e73241e8c441fbf9d2f3320697c1cda5745be2c7fae7c778a1  qtum-0.15.2-x86_64-linux-gnu-debug.tar.gz
25cc7cec21029afc1eaec5e154a230f2337910e266a56fbd810d95de98115309  qtum-0.15.2-x86_64-linux-gnu.tar.gz
4997afd7234dba6ddefd6095de5896af31dc8bc34e42e9230ac0dfa60e0e335e  src/qtum-0.15.2.tar.gz
9d851119aef9cc349d95dc528abe5e3d70b462dac4c2c551c2f98cceb768ed5d  qtum-linux-0.15-res.yml


Assets 14

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.15.1 - Upgrade Qtum core to bitcoin core 0.15.1 and bug fixes
    • Upgrade Qtum core code to bitcoin core 0.15.1 with important performance improvments and other features, read more about bitcoin core 0.15.0 and 0.15.1
    • Fix a bug with reindexing when the data directory is empty
    • Prevent sending QRC20 tokens to P2SH Qtum addresses in the Qt wallet
    • Restore JS number as string support for callcontract and sendtocontract rpc calls
    • Fix a bug where the wrong block hash would be stored in the transaction receipt for miners with -logevents enabled
  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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.16-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.16-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.16-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.16-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.16-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.16-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

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

6b9fd3d7540a2ac8d9c4d663cb6b3825709f662e7cdda4bc2126bd2f16e77ddc  qtum-0.15.1-osx-unsigned.dmg
5816f034afc97d8044ea3258f28c2dc683617f56a7318df8fec2a06b2f40eb92  qtum-0.15.1-osx-unsigned.tar.gz
7c8d354bedc68e00c9f95cbf8dd074155813f76ccc45897eead069b6a9bdb44a  qtum-0.15.1-osx64.tar.gz
eb01738f50b176e7ce5cbfe3c6f8eb0422465b6ebb5a0f89a7b67a9b32a4f31e  src/qtum-0.15.1.tar.gz
9458c6c1bbb3658a1df737e42d024b0557980a0e6feba0c376555134bd6895e8  qtum-osx-0.15-res.yml

9c24c3707e58b1eab778052e6aeabe02f4bb50f10865e1115e90933e4dacc6d6  qtum-0.15.1-win-unsigned.tar.gz
764f490f666762d1a0a86307e021ceaca992500e6ae567dab0918020eb1e4bd2  qtum-0.15.1-win32-debug.zip
7fa4c9db809ff8846d47e28acc5bc9c5333eb18d3cd153cc592ec61119b0818c  qtum-0.15.1-win32-setup-unsigned.exe
aab23440b33b9fa98c89c5eca8c6d28604052565157e22fbd76a5d73485f513e  qtum-0.15.1-win32.zip
d98664ed75770b688d9819299aa51f051861c629220894eb18e5b5963d99643e  qtum-0.15.1-win64-debug.zip
ce2f6af9c7903eff438b9c65962296dc8e04cb0b714d1e8243e3893bcd4dfea8  qtum-0.15.1-win64-setup-unsigned.exe
586fd942e64198806d733459c7457a4c360e6910765c8e5465c4519ba6853e85  qtum-0.15.1-win64.zip
ddf19a98a6528b614eb8120330a29ce0044c5e8a67b62158a1ac4c86418f0553  src/qtum-0.15.1.tar.gz
d4b5422c8694c93ac6c7a80a896774dd2011f607a9434e146bc0e6b07166ecf7  qtum-win-0.15-res.yml

32296f601de1add111f1991325636cab41aa4e976a9d5a5345d8982b8e515059  qtum-0.15.1-aarch64-linux-gnu-debug.tar.gz
f60a5b29bc9c145185de8f330c26b0adc7db7a1389142ec65015fee08e96a1d8  qtum-0.15.1-aarch64-linux-gnu.tar.gz
49dd806e53b517ebffd99d3c6aa4cf81b108a3bc9ad4b38cb6d0271240435e46  qtum-0.15.1-arm-linux-gnueabihf-debug.tar.gz
ea7f2387c44960ab4a76f10a5127305df0f579cfac653a32f9007b3c46132e91  qtum-0.15.1-arm-linux-gnueabihf.tar.gz
117e4013e24db323afacd9df03237551f9f45affa4b11edf9c7a93a5b0b96330  qtum-0.15.1-i686-pc-linux-gnu-debug.tar.gz
09032e9b83eaf7e408106e5ac86a6e7e9562d123a339692a87bbc83f25347b02  qtum-0.15.1-i686-pc-linux-gnu.tar.gz
9f08826caf5a11b07ab274e07e66869ce6141c49e0444b03f34635e95bf7b937  qtum-0.15.1-x86_64-linux-gnu-debug.tar.gz
9667475f686b5a6782e71ec920b6f9791f144cacde3a87dee987e0605f170808  qtum-0.15.1-x86_64-linux-gnu.tar.gz
eb01738f50b176e7ce5cbfe3c6f8eb0422465b6ebb5a0f89a7b67a9b32a4f31e  src/qtum-0.15.1.tar.gz
871bde7bfd9c3a02389e4dae69113958680c69aa22a2a3275c0b7d995eadc3d5  qtum-linux-0.15-res.yml


Assets 14

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:

  1. The Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts.
  2. 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).
  3. 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.
  4. 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.
  5. 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

  • v0.14.16 - Improvments and Bug fixes
    • Fixed a bug where transactions with low fees would get stuck in the local mempool.
    • Fix a bug with clearing cache of StorageResults
    • Add contract support to "createrawtransaction" rpc call
    • Add sender support to "sendtoaddress" rpc call
  • v0.14.15 - Recommended Update
    • Add EVM global variables to callcontract
    • Update gitian build script
    • Update CentOS build instructions
    • Add exception data to TransactionReceipt
    • Fixed a bug where the gas price could not be parsed correctly on certain platforms (reported by APIS)
    • Fixed a bug where the logs were not reverted on disconnect block in certain cases
  • v0.14.14 - Mandatory Update
    • New Qt GUI
    • Fix Qt wallet freeze when syncing from scratch with -logevents or -reindex
    • Fix a bug with cacheUTXO (hardfork at block 100000 in mainnet, 84500 in testnet)
    • Add update checking functionality to Qt wallet
    • Fix a bug in token transfers history dates
    • Fix a bug with searchlogs rpc call
    • Add an extra check when adding token addresses
    • Fix compatibility with boost 1.66
    • Add checkpoints
    • Update nMinimumChainWork and defaultAssumeValid chain params
    • Add minmempoolgaslimit startup argument
    • Add Gitian build signatures
  • 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 -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:

Development resources:

General Info about Qtum:

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.16-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.16-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.16-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.16-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.16-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.16-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

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:

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. 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
    
  3. 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


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:

fb0043ccfd64a6ab6b17f3b76f8c2001c161879306fc8b79229191f432df4d10  qtum-0.14.16-osx-unsigned.dmg
c8d946aa1d47146724f5fcb7945674424170102c639dd84ca113db9a78948563  qtum-0.14.16-osx-unsigned.tar.gz
0d11bf7c15694eb0ce429c9a4e9032020d4530f4b10dc9b23f5998fece3fe9b0  qtum-0.14.16-osx64.tar.gz
5d621c1dbe3086fade0fb40f5bba0bb7b7b4405423a95b875990269168fc022d  src/qtum-0.14.16.tar.gz
e41c006e64a1ad82c083598a1df168b7b08cded5d4813a554da109c3c1f2a81f  qtum-osx-0.14-res.yml

bf823903871e5732810ff6a02b73fef867bfe48574c1e29e92dc201902ebd7b9  qtum-0.14.16-aarch64-linux-gnu-debug.tar.gz
c7cd750f3ada4e4024a4d95c89bc75c16c95aa1faa94dd282a79c0cdbdc50363  qtum-0.14.16-aarch64-linux-gnu.tar.gz
f9d43ad5d50e156287f161a07589dcf047fc3125ce40d9f51007a541eb10c1b8  qtum-0.14.16-arm-linux-gnueabihf-debug.tar.gz
cbf88206bfff102fe3c440357a2b533460a0c75176c3bed4071daea85130d877  qtum-0.14.16-arm-linux-gnueabihf.tar.gz
b8caeadab66096eda1b8a95411ce6403dc4cc7c60e8ddd33c7c3e94f81a25e38  qtum-0.14.16-i686-pc-linux-gnu-debug.tar.gz
57f4a98c9c5053baa7029eaafa14d5080c8a566960efca372fa607dee7c42234  qtum-0.14.16-i686-pc-linux-gnu.tar.gz
a740adea6ee5148dc357f91493a70adc09faedda8ebe9e1401e73fedda9a029d  qtum-0.14.16-x86_64-linux-gnu-debug.tar.gz
3b77a798aa846fa14fd5eb677161e94ae8f41ea8fcb760356cdab129bb5e065f  qtum-0.14.16-x86_64-linux-gnu.tar.gz
5d621c1dbe3086fade0fb40f5bba0bb7b7b4405423a95b875990269168fc022d  src/qtum-0.14.16.tar.gz
e766dc418e8aa48c767f54ff80725eed8a61265a4f19c965229e435df85656f9  qtum-linux-0.14-res.yml

e9cd6ed753eb0bf83b0a083dc0cbb1ddf9794a8fb963a37677b9b2377bd7826f  qtum-0.14.16-win-unsigned.tar.gz
7476ae4f9124f6bd72165e33b6232fab1be5852581c831d235cd70f439fb5af0  qtum-0.14.16-win32-debug.zip
e9d6c499f47a9a847a22809262cde1ffdb9c840c03d9ecf814564792119b6a87  qtum-0.14.16-win32-setup-unsigned.exe
7e5a6947c18d1216a7d864da66be16b9526c2f5f857e983be0eccde8d4e5196a  qtum-0.14.16-win32.zip
ec05a3668ea88666efb3f31e2c4697f02d8744d80d0b71573bf03e1111a5d082  qtum-0.14.16-win64-debug.zip
620f2bdfd496748f1ed8b62289fc35543370f6177d4510b6a7b73b991e1c1121  qtum-0.14.16-win64-setup-unsigned.exe
c525893ddfd0d803b8eff8b5b5aa4547ad120087cd009dfc8f4791f94560d9b3  qtum-0.14.16-win64.zip
55f106ba2428aad868dd5103f8ebd435f650e9abeee24ef64c1ef3acb580be15  src/qtum-0.14.16.tar.gz
7057cd3e1920b91738cc896bb4d858ffff064a44080616c1a27d14d36cb481c8  qtum-win-0.14-res.yml


Assets 14