qtum

Qtum Core Wallet

MIT License

Stars
1.2K
Committers
1.1K

Bot releases are hidden (Show)

qtum - Mainnet Ignition v0.17.2 - Recommended update - Bug fixes

Published by qtum-neil over 5 years ago

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


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

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


qtum - Mainnet Ignition v0.16.1 - Mandatory Update - Critical bug fix

Published by qtum-neil about 6 years ago

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


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

qtum - Mainnet Ignition v0.15.3 - Recommended update - Bug fix

Published by qtum-neil about 6 years ago

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


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


qtum - Mainnet Ignition v0.15.1 - Upgrade to bitcoin core 0.15.1 and bug fixes

Published by qtum-neil over 6 years ago

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


qtum - Mainnet Ignition v0.14.16 - Improvments and Bug fixes

Published by qtum-neil over 6 years ago

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


qtum - Mainnet Ignition v0.14.15 - Recommended Update - Bug fixes

Published by Earlz over 6 years ago

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

2b2ee97aa6e5716ff8f6bb0539fb551ccfe768070225b95822c33b9263a2d8ab  qtum-0.14.15-osx-unsigned.dmg
ad99fffb0032996ed939b7221587936311cd45813ef355c1819d5e4dbafb8bfb  qtum-0.14.15-osx-unsigned.tar.gz
0118de6e0021c3a4087a9d408b937dedb1743ca7f3b79b0abc0da812eb9c0003  qtum-0.14.15-osx64.tar.gz
f7adccfeb1f3d160e12b1f121a2b11c687bbb89c6e0dfb55f19a1875d529ab9a  src/qtum-0.14.15.tar.gz
127059a716f56d09e9b09009a2ec98731cbf0fd6a5378c29928bc13829a71ac3  qtum-osx-0.14-res.yml

b73be79a0e26e36bbc0b4fb8707541c7d3e775b6b0c2df78664c945e9b1f0724  qtum-0.14.15-aarch64-linux-gnu-debug.tar.gz
38a8ef0a43d5464f70c2278d6c3087712aa1dda27a9014ecb68f0de5cf05e9c8  qtum-0.14.15-aarch64-linux-gnu.tar.gz
45fcf7f08e432f9de5daf81bea0ab21bbc5a91f3b44d26578a666dab0a474b78  qtum-0.14.15-arm-linux-gnueabihf-debug.tar.gz
6aedaddc8356aee6da96f8c8ad268a5d172a72ff9e1897936dd4fa9c363589b9  qtum-0.14.15-arm-linux-gnueabihf.tar.gz
8da41bcbba9e0d3057365f3bfe11f60992bc3600fd6e0a5f1051ec360453e960  qtum-0.14.15-i686-pc-linux-gnu-debug.tar.gz
4d138562a6930d57e89382c91f899912fed73b3b076a9eac54899c2c89c32db8  qtum-0.14.15-i686-pc-linux-gnu.tar.gz
33b8646cf26008b0954fc152bfe14ceee2e8bb874ec072b9540e4c01295cdb81  qtum-0.14.15-x86_64-linux-gnu-debug.tar.gz
00e81a7ab8a8d8a17fbfb0e0b70e425d6057b71b8139357d8ea65e8b9b8f577b  qtum-0.14.15-x86_64-linux-gnu.tar.gz
f7adccfeb1f3d160e12b1f121a2b11c687bbb89c6e0dfb55f19a1875d529ab9a  src/qtum-0.14.15.tar.gz
5e4a25188225eb86d20f06f57fe9e372d7be9c4d1a75e49ae280770019828f00  qtum-linux-0.14-res.yml

6c206976eee01b3cc042ac6c6dc39e17b813886a0d35574ec041302eb74a94f7  qtum-0.14.15-win-unsigned.tar.gz
3a3a77f91a09a64265b5ed65654a59160ca18e476f215b7113da31921fe84c6c  qtum-0.14.15-win32-debug.zip
b0011c8e292165e7fe666535d7dd360d2658d58149df2f93da28472d17344e80  qtum-0.14.15-win32-setup-unsigned.exe
63f6a4a1d3efc292f9ca1be15f9ab92dd9ebdf20b31290d8d6ef3fd85fdcb8f5  qtum-0.14.15-win32.zip
135ed29e378fec9fd6bd47dd4d426340e1b2e2823b1a998d73ba7ffc49d6a22b  qtum-0.14.15-win64-debug.zip
2c9818641c518eb6a86558efc1818eee599f0c123c1646b1e3b474c5771e6c57  qtum-0.14.15-win64-setup-unsigned.exe
a726ba2f04bfcb431ba0de4ccedd645ae3901d0e78e945db1c1492d0d9d5e2b7  qtum-0.14.15-win64.zip
d24e348484ee762701278d0488c87c595aa9d6e36f1ec10ff6674fdee3fd3479  src/qtum-0.14.15.tar.gz
6a8689f39df7ee6b9a592b7ea3bdf7dbaca105b577a9fa94f78a520465b6f6c4  qtum-win-0.14-res.yml

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJakav0AAoJEAKXMK2l7Ra+sjMQAKECHkLD27yV2UzQM8Yi/eBC
a+o5ynUox7mFeJa81cby8zZa/WusR1QW/JUYDlGDZsOdH/yuVwVLiN3Q23+FD/W6
ErTvujzpytP2r44XJ76bQirZkaGhMOvj2ym5tlifAIqbh4x2dKzMyaNdUKxwnl0f
TxK60GgxFwOFkMVVRBNBUPCDUvK3PlWr6Kg5WMcLQfEOdTqJOfZr8vwYtyie3TrY
BfoyqOlKE3iOppy+PQcWScxNcGyajCgUuhulRFe6fbDv/hWbls7zK1MLyLHj1HW1
JbEY9QKnAUK0kXhtCwIV88hAX70x6N347ProvVGMqKtZ+aEBfcIYjTcgaVvlhOfL
Z25lQF0NGLTAUnyiRAQA8Hyt/Ya56W/90zCKc1/+uxemqQmQimFmDEplJE5q0553
WdbDoY7m4eazsKcnN1klixZwRVmPhdJMeY5BRuP+tmmv/ALBbikXZSuTzC6o/Z35
3AerPmirz06f1+cDQY9KygKpeqHK8CSH4vxDxsalZjJlNsYPUgij8XNYy/66DxNK
mxwMcnN4L8nv1hqDoVdDY1wZW9eq5M+8PMKBoB1p3tZxux8/mYs+iWUf9SKaBk47
BnVhdqes4EbduzvtmPQakHXiZTt/Ck51YF415hpER/Cwgtz3mmjAUFVhzyGVdnp0
gWmOn0octmyCoj6s97+W
=72jT
-----END PGP SIGNATURE-----

qtum - Mainnet Ignition v0.14.14 - Mandatory Update - New GUI

Published by qtum-neil over 6 years ago

Update History

  • 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

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

Hash Validation

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

f888c4a55d2870ac801b34effd6802cc2180400b13067659154bc517d17214dc  qtum-0.14.14-aarch64-linux-gnu-debug.tar.gz
7a8e77482fea09510090c07bfe9185964eb5c6c54d64fa4e6674eb5d869b819d  qtum-0.14.14-aarch64-linux-gnu.tar.gz
9f706b2569b7346c2a1b966eaae8462f4f939b785271278ca86c4abde59a32be  qtum-0.14.14-arm-linux-gnueabihf-debug.tar.gz
618c9e36bfe7f207e92bbec29423f863fc4f0acd4d85d29fd18ad10cc2a8aac8  qtum-0.14.14-arm-linux-gnueabihf.tar.gz
99906b9f459dd803bbe74fa1289dab4a58252aec134c3c035a70efb593da53e7  qtum-0.14.14-i686-pc-linux-gnu-debug.tar.gz
da5c78cc24aaab0842b30dc8f2128034e3d10f7243415c01ab5267fd47dcefcc  qtum-0.14.14-i686-pc-linux-gnu.tar.gz
dd77ff7a4f1f32e11713c9054ec6cc6627e1ae82b42119d06da1c7c175dedc53  qtum-0.14.14-x86_64-linux-gnu-debug.tar.gz
ac5c959139bfa40826ffa5631e23d7a5aec9c7455dfd5f6134f69eeb8d6de683  qtum-0.14.14-x86_64-linux-gnu.tar.gz

d4b3542b1c8388647747ddfdb642a14b40381172768308984829601f133124fe  qtum-0.14.14-osx-unsigned.dmg
4fd99775afbc86838e1ba4aaee91275e46e7e374b5e9d4a1af09ecb5f9e4cc94  qtum-0.14.14-osx-unsigned.tar.gz
f916ffb8b85a436b6bde7d4c58af5d8636cb2e1cc6e341af90abcb9c116a3e9b  qtum-0.14.14-osx64.tar.gz

9cd24e078bce2e836db5b0de43810d06134e4d0c94b820d42a35ceb2faabb5eb  qtum-0.14.14-win-unsigned.tar.gz
1a247ab8296ccabd7c947fa6885293d1d0c4be2bf34e923dd4fe0cac118ccc6e  qtum-0.14.14-win32-debug.zip
a9a71be2969e0f4c3bde97c90f33ada46b221783b8eb165390c582ee9ce12cec  qtum-0.14.14-win32-setup-unsigned.exe
fd0bbfa39b0a154b0d460a94cd0541b205ad00e05d3a5c59133ad0e2091ff7f5  qtum-0.14.14-win32.zip
0893c6d3326f3b8252c0a739fa0bf757d1219ca3844e8822ce6ff8fc725e9af1  qtum-0.14.14-win64-debug.zip
78286f1fdbdb8b9758aef3981bdbe06c600d63fc00da5e321987b5fadea2db9e  qtum-0.14.14-win64-setup-unsigned.exe
31a2bd7454a0499e345c8f40d61e481edbded53adc5f582cfbbdc68884fa8cfa  qtum-0.14.14-win64.zip

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:


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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

571a7648490463e62a97f06204627e784478552b20f3f0a303ad15c2c4635a15  qtum-0.14.13-osx-unsigned.dmg
b9687b432a7dd09345ce88c2823b9af455ced913e4ee21d115a9094b17bf45fd  qtum-0.14.13-osx-unsigned.tar.gz
d45b49c6fda135a3f02b5bda476eceb7eff65f2f4410b1a45955d366a3730ba6  qtum-0.14.13-osx64.tar.gz
22dbff8a3ee7641d5c2c8ebb6b58db8bbdc2004c6a576a3d79042b91377b986b  src/qtum-0.14.13.tar.gz
deb93118d329351d074447d52e6e49a3cdc10a6f78836aea2a883bd6250ddfad  qtum-osx-0.14-res.yml

e3c377fbf76ee4cbc5a288e5df5765558a65b7000d093a62fbb35ef0d796ba49  qtum-0.14.13-aarch64-linux-gnu-debug.tar.gz
8ab36d66457fc0f22b1a161cffdfe07a16a409c0d1ce167ddf1347fc0e6ba03c  qtum-0.14.13-aarch64-linux-gnu.tar.gz
16e392698cddfbdddf24a3f0b87bbaf5552a1d2e508f34ea202417d839eb89d6  qtum-0.14.13-arm-linux-gnueabihf-debug.tar.gz
f0675c1e57b84466559ca4996dcf7bda06fb316f4ba24178440d0d6c86d92e01  qtum-0.14.13-arm-linux-gnueabihf.tar.gz
2889e73603913157403a4994c53fa39b123394f007cc4ed258fb2b4f31156a62  qtum-0.14.13-i686-pc-linux-gnu-debug.tar.gz
030dbbf3a337ef61daab4da6fba51fa2352199cf8c7434983d286cb9de050bdc  qtum-0.14.13-i686-pc-linux-gnu.tar.gz
a1f8614386fab0016e9920a7f3eb5a858890bfb6c1a12fe46d8bc4c12008897f  qtum-0.14.13-x86_64-linux-gnu-debug.tar.gz
6806995a5d03fbae31a0b62a1808c4a84567d276020702d20798d8303f0a39e2  qtum-0.14.13-x86_64-linux-gnu.tar.gz
22dbff8a3ee7641d5c2c8ebb6b58db8bbdc2004c6a576a3d79042b91377b986b  src/qtum-0.14.13.tar.gz
36d54f64e80eccab5579349ce2d534ce438d205bdd4a1b85da6409d37e7e3a3c  qtum-linux-0.14-res.yml

e00701b16c2ecd12bbef61b8659a52ba6a1f5afea462add2cd7317e1af94929f  qtum-0.14.13-win-unsigned.tar.gz
ecfd1d334dd8a2a237562ad62987bfe26ac29f4774eeaaa9f8b0e4bad3f3b47d  qtum-0.14.13-win32-debug.zip
f1f2e21aaa19e9e976ca9b7715975f275e305f0d76b6e46e4c80716446922a40  qtum-0.14.13-win32-setup-unsigned.exe
724b130c20f4ba555396e016e7cd4263af72107048e9d0e48e6b83e9f41e2773  qtum-0.14.13-win32.zip
4135b40260b428781b8995edf26eb31a1c69fa97617e7f0e25bb70e4da973484  qtum-0.14.13-win64-debug.zip
f5430df396358be17a3c0d4409bf6907b243f77e776ef2e2fdcf4abae49952dd  qtum-0.14.13-win64-setup-unsigned.exe
4238e3f89467903238c121d42cfea58dab9cf8ec4b4be3e5057e0df925370ca6  qtum-0.14.13-win64.zip
e77af7c34070de2961be78acf150fb64d5f49acfd7f8448e81a585cc0559053f  src/qtum-0.14.13.tar.gz
5930f5d32eadb91631112ad8ff114b741147500e29665addfe99375853b55c6b  qtum-win-0.14-res.yml

VirusTotal reports at time of release:

* win32 installer: https://www.virustotal.com/#/file/f1f2e21aaa19e9e976ca9b7715975f275e305f0d76b6e46e4c80716446922a40/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
Ikarus reports "Trojan.MSIL.Disfa"
* win64 installer: https://www.virustotal.com/#/file/f5430df396358be17a3c0d4409bf6907b243f77e776ef2e2fdcf4abae49952dd/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
Rising reports "Trojan.Disfa!8.5AE (TFE:5:mIYYCQXiMLI)"
* win32 zip: https://www.virustotal.com/#/file/724b130c20f4ba555396e016e7cd4263af72107048e9d0e48e6b83e9f41e2773/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
Ikarus reports "Trojan.MSIL.Disfa"
AhnLab-V3 reports "Unwanted/Win32.CoinMiner.C2332518"
* win64 zip: https://www.virustotal.com/#/file/4238e3f89467903238c121d42cfea58dab9cf8ec4b4be3e5057e0df925370ca6/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
AhnLab-V3 reports "Unwanted/Win32.CoinMiner.C2332518"
Rising reports "Trojan.Disfa!8.5AE (TFE:5:mIYYCQXiMLI)"



You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaUZRnAAoJEAKXMK2l7Ra+fkYP/1l9NShcfn2lO2kC5l55p/hy
ZrTmcRJPntBCJx5B8x13QjzGB9FdY250Cf2oSh6Wx3nHMy+a2lNq+h7N462clupR
tCe0aiJD0iC27ate181y1Ycxik/44gjLKfQtydUSyVgxclHclWiyqmRdO4g0sKcj
foOvWbLA6sT3qt6AbzYR8ICd/PHW9a8PKCqRZj0123bIKLZuLycvJNVxsk9gWiOn
Mo19N0wzx+jyg3qEtJ49LcLOhtjZZrMJhhGMLojf65zPrKk5dnXj4xJ56pahnkg8
VEcWI9/IPIGF568/D7VLETznbbmSHtbYbdhI3B65AqowOwhXVz5AADwgUhunlvfs
Q0dyDFxLSiSyb+JPN75+gugADW2K/k8a9jQgt3ugbSTLYXNlNpSPZvmDBdyrw/IZ
mg81yIDAUn3q0b7TLFvJH38iYl3lVh6oSeTE/2thwEZowZnRFU0w8+56orgxXB/6
+AjicNp8OTtjSk68SSfFxJybS41ZRSE44XcNfsGGz7eV7xg1mJ9qEt0aNlaEwpZD
RauXPhHOpDET05wEvBmmoPmiRAQSNGpKzRBcSkhikfLt7Cg/ZSPuzUj66HANYmsq
487WZyEKEtUnZYGOnxeg9ClIlTRjW97W+JmoewSid2KlEl/j1U1wic4Va1weiIj5
3bpS1hcMNsGs55yREJh7
=6p8l
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v0.14.11 - Wallet restore feature and new RPC calls

Published by Earlz almost 7 years ago

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

9b656b92b3e63166a29218abca7603d0fac8d46d980b7ebcdcf597e36f442352  qtum-0.14.11-osx-unsigned.dmg
da9953d39f7ab578d4273b15c5fe76be3d2ea7761a690e7e5257dbb937dde678  qtum-0.14.11-osx-unsigned.tar.gz
18ac0c65d723328775daf9117fa94c9857e6f65c3b570bc6c4d8df1e58f0a6ff  qtum-0.14.11-osx64.tar.gz
db2824f6d548f30dab4ea7d8a7d4997a3b4c6ced7430d65a2347eecd9839a557  src/qtum-0.14.11.tar.gz
2abe387460d6e0ef323a1d814216d346ba26e1cc645add7868bdd587ed32b851  qtum-osx-0.14-res.yml

202d97db33c484c142e46af9bc6bc88b2c147ee1ca6467cdf3ec9b5f291c7354  qtum-0.14.11-aarch64-linux-gnu-debug.tar.gz
89d0afae3580f91c6cf2e6c85473925203928bdee0e76496e57a31b250d02df8  qtum-0.14.11-aarch64-linux-gnu.tar.gz
6ab2d589941508adeec5854f17daf30c7b8a0f43015ddb554a704082127b69f0  qtum-0.14.11-arm-linux-gnueabihf-debug.tar.gz
dd4a97a0cabd7215029313d85e0b01efdfad632a44116e0031f2ff8a4dde596e  qtum-0.14.11-arm-linux-gnueabihf.tar.gz
1eeee104ef84334ee276b3d228d736ef8556e6964eeed532c8413074c6584a4f  qtum-0.14.11-i686-pc-linux-gnu-debug.tar.gz
4f9bfd1c205a700c3924647df3a7a8afd6e9f5c9b89f21aa9d974169acafe22d  qtum-0.14.11-i686-pc-linux-gnu.tar.gz
123d189a04492b495f2d69c4311ae4c06b3eaa830fb3c2c5521dea15079768ab  qtum-0.14.11-x86_64-linux-gnu-debug.tar.gz
6b434a70656f3a1a95021b97209d6b485e32948c757ad0cadaac0e45995359df  qtum-0.14.11-x86_64-linux-gnu.tar.gz
db2824f6d548f30dab4ea7d8a7d4997a3b4c6ced7430d65a2347eecd9839a557  src/qtum-0.14.11.tar.gz
b571d7fb92c0c5b6a1b37ba1660163550edae509b0a524921a3707f5603a9aa3  qtum-linux-0.14-res.yml

33ef7ded8a060e01bcd5ac4fac619c67d29ca9fd45c238015ba534f27949aac5  qtum-0.14.11-win-unsigned.tar.gz
872327e280c8dc9e65c38ae06b59a22bcff5cf21df48b825ed5e5afbac6a4981  qtum-0.14.11-win32-debug.zip
2250938417681f1f6b119f14b08973defb395481bb1b6c65753c1a2272a8a00a  qtum-0.14.11-win32-setup-unsigned.exe
5647d2a01892a3cafcc169203cfc83d2a2541f20f5ef2f90042ae9182f683dd9  qtum-0.14.11-win32.zip
0860c06796f0ffdfad498eba7586684dbf38bd4af26ae8b305b8d90f7e6808b4  qtum-0.14.11-win64-debug.zip
29c24b5ea68257e5ffe29cb43cd184916a340c7b570d699207bd721978fc95be  qtum-0.14.11-win64-setup-unsigned.exe
f43e8ad60fcde9ba6d0990fc4718b2d96ea1860a1fc5d225baf7ae64c95e8b5b  qtum-0.14.11-win64.zip
d783d6ac106b2096d1a2c5b950f2e1ccf371ec0622aa7b4904a3aa3a9062378b  src/qtum-0.14.11.tar.gz
26e76937e92afe48d3884da65f8bddc451a9bcf15fb7a571fb68a5b8894a58db  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 2 false positives on all 32-bit and 64-bit Windows files labeled "HEUR:Trojan.Win32.Generic" from vendors Kaspersky and ZoneAlarm.

installer win32: https://www.virustotal.com/#/file/2250938417681f1f6b119f14b08973defb395481bb1b6c65753c1a2272a8a00a/detection

installer win64 https://www.virustotal.com/#/file/29c24b5ea68257e5ffe29cb43cd184916a340c7b570d699207bd721978fc95be/detection

zip win32 https://www.virustotal.com/#/file/5647d2a01892a3cafcc169203cfc83d2a2541f20f5ef2f90042ae9182f683dd9/detection

zip win64 https://www.virustotal.com/#/file/f43e8ad60fcde9ba6d0990fc4718b2d96ea1860a1fc5d225baf7ae64c95e8b5b/detection

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaMGfYAAoJEAKXMK2l7Ra+W6YQAIxZmpF6J8AEPTngJCPdyEiP
oq3e33iS9uHg6ubHaVDgv/xZltPKaEC/I/ytELaY4F+npXVSm0HiEAY2pAZWAvBF
/OH0JsJmDsGimQl/kEBQD57WS0ODKiPZ5Yxny+M1FPhZYwqlKt8wNs6x6oUeMX3g
MUX7XqvuB7+G7E28pmFqtzMzJwU3F5Md8c4gFNrxAVgFdf+LEzoONySsfadiSBYy
kpkoXVNcR2C7FwWdnSUCJFq91qe3pusjK5uOgQImg5I6vuS/gLtib+ZBf7l1ZiwB
0FK8sR/P0otSC53Obv56NlNJD0Qj/3OgO9/PZ/IavvuDLeOIoyvwumMks9VK2lnL
pt8DmxW38CbgcAYRPTLBFJX2CHOmVk35VDKu2DH1R+gumqtPSbPMTWDhgG4DYo/3
01Xtc64HKk+OkBzb8BKgZuYTk1t+JCqH96Ek476uMtWta8i12gztjLVuDZc2Ktgx
EpGoJydT20sYAnEnJ/3ICI+PTlhYKYdOyQZPrK6ZusxpT1mqNsI9Hb5qmBCydGam
oWulJp5KC+iJAIuhdkvA0gU570YprYQMz6hR8RQmXnln7n66U7sO8cV7WgWZyOMr
vUFNjMze153+r2XclJqUkgy96ZgYFTZzBIvqd+exnBhN1Vr8sg4ZcQmHAqCgfjFj
+pZH3rS0AqetT7eMl6Kb
=hglx
-----END PGP SIGNATURE-----

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

3f200d9fc2edfb188b0d191505fb4750a36c199f4002fbfd5639ee43b725d6b9  qtum-0.14.12-osx-unsigned.dmg 
be50c3623d4f1e9423ed2b84419fa7d293a3931ee429ce3ada1efe4a81d19658  qtum-0.14.12-osx-unsigned.tar.gz 
9c79a465cd2e1e0a61940e217e98d7be88369b1a6b7259064c8f63abc4b5367d  qtum-0.14.12-osx64.tar.gz 
32df22b9cca3442cee6b0c933347ea8ba103ef3aaa2a37693e9975dd7020f88f  src/qtum-0.14.12.tar.gz 
aa88cfb81090276c9b6569fbda0a213475f71f380629becceb658ccffef6ecc5  qtum-osx-0.14-res.yml 

2b20f263d5c63902a8f1748a2b05a2e2e05f8a3b7d32a04291bc3846dc3a53b7  qtum-0.14.12-aarch64-linux-gnu-debug.tar.gz
dcc5fda0f54e180fdf8029442623c45c85d7de08fc9633b5769a632971be4806  qtum-0.14.12-aarch64-linux-gnu.tar.gz
fa33f5ee5bac3d1225449d62173e73c4cc456de1b46c9c24d84cd539f8e6a0ee  qtum-0.14.12-arm-linux-gnueabihf-debug.tar.gz
57701254f2b3f7eb5fe7619f2e614c90f739eee7aa3ab74603c06da11b74fdca  qtum-0.14.12-arm-linux-gnueabihf.tar.gz
ed27f7a55183069a43fd3fddd6f0706652de565acd36c76ff573a9fecbb802c8  qtum-0.14.12-i686-pc-linux-gnu-debug.tar.gz
f329d0c5766977bbf4079e34bef710eb87fa9ebb076f089e534b03137fc39aad  qtum-0.14.12-i686-pc-linux-gnu.tar.gz
1a48b980aac389282d232cd7769c7297f4afe251ef9c8bb0ee847d33c6a53010  qtum-0.14.12-x86_64-linux-gnu-debug.tar.gz
5ccf9dd08327522fcc0d58ae5b53de6851d881c10967009048126eee07d5586b  qtum-0.14.12-x86_64-linux-gnu.tar.gz
32df22b9cca3442cee6b0c933347ea8ba103ef3aaa2a37693e9975dd7020f88f  src/qtum-0.14.12.tar.gz
3e724f5d2e810a2c2f2d3920ccf649ff02936a1df038f694dca0d1466b261605  qtum-linux-0.14-res.yml

7ad107cfea42a9bd2e467c3c324865fb9aeb2a6cbb1222a98f007b60ee1626cd  qtum-0.14.12-win-unsigned.tar.gz 
aa9a415041b9de6144b9fecfc425e8c8176095f3953c4e2b3004720867129752  qtum-0.14.12-win32-debug.zip 
881742ab8ab75c785499bc906be8328e9c4db62ca017259bfaf974d58c812a37  qtum-0.14.12-win32-setup-unsigned.exe 
4368fcc9cdc78b7020d68d5d61e00bd193ccd11c381d4c42947d17692249c431  qtum-0.14.12-win32.zip 
6648e27e99a1600727bd9a309bc24266f95059207ab37b3465adaf48b5b6157d  qtum-0.14.12-win64-debug.zip 
add6b0ac97d47b2f18a93968685d8e070cd3533944e4cb64ef99e7debf44e468  qtum-0.14.12-win64-setup-unsigned.exe 
0485822fcd2c5018ea024a8397467a3a8025014f139167d70ee03a15d655ada1  qtum-0.14.12-win64.zip 
a1076654cfe2c8269a577d614f542d3a913683b9cda0afe8db69310c223cd6fa  src/qtum-0.14.12.tar.gz 
7147d5cc17a48dcae7d11395ce82746e7908cb7029692a4bb8518550e92436cd  qtum-win-0.14-res.yml 

VirusTotal reports at time of release:

* win32 installer: https://www.virustotal.com/#/file/881742ab8ab75c785499bc906be8328e9c4db62ca017259bfaf974d58c812a37/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
Ikarus reports "Trojan.MSIL.Disfa"
Cylance reports "Unsafe"
* win64 installer: https://www.virustotal.com/#/file/add6b0ac97d47b2f18a93968685d8e070cd3533944e4cb64ef99e7debf44e468/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
* win32 zip: https://www.virustotal.com/#/file/4368fcc9cdc78b7020d68d5d61e00bd193ccd11c381d4c42947d17692249c431/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"
Ikarus reports "Trojan.MSIL.Disfa"
* win64 zip: https://www.virustotal.com/#/file/0485822fcd2c5018ea024a8397467a3a8025014f139167d70ee03a15d655ada1/detection
Kaspersky and ZoneAlarm reports "HEUR:Trojan.Win32.Generic"


You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaOttqAAoJEAKXMK2l7Ra+gwQP/Az+KEi/ZCXucsLk9P7IscX3
gzbalNsHYdzr5D69OvGL7dLKDzwBt2QcenQ/m2/AzeNJvj/qlcZLj8cNGVrwNk8l
nKXBdE8mYp+roGm4cQnfZeZQL86K7hw1GHboHkEMiNmGK8HRIuMZI9RpdwHjxS0H
75YESBnu7EwANCARJ9g/fgRBja7cr+W7WqgD+7nm60Vokx51HiYw4J5/NGa0TjQj
Y86MLkFofo/8XlleTCLwbwD4t3R7CbRfh1gDslvEcqDXhgPi2tTQxtZh1al1Q9oQ
bJlZIhqnsLPg5lIDapGhq82usJ76PZQ+axZCm6B30C//solcCRP0+PiY4RiSFMBM
OImkIsERO+KD9PEGtTvXt3K+JHAhXd3/m5pciiAZ6ZkSiSg35SJr43GisVJPXVDZ
s0xx6kCMZyp5/nDHuIRwZyxplnvOUFuaCTMhDIDn7WgdhOeWawpdZIQKfZsf4wFP
QoxKnJD2nmSmSVLnV5yw6DYSN4tBWUeW/8bIfy9bbwCpbbDA7oA96NStPv8OMFov
SIU8+JG9BvtLvM91IsM7jotk+Wmlx/h8Ha06Tn/F3aCWZi0tlpQs3AwDwC6DywPr
IWLg+7DwFhKe2vx3KzghGGrrLHKU9JmSan2MzE1HJ7HggRAJbZKD26SivO04qCi9
EhsLrKNFFvKWZAHGOUgr
=ihNI
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.1.4 - Event Logging Bug Fix

Published by Earlz almost 7 years ago

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

  • 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.10-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.10-win64-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows. This includes an installer and will install Qtum system wide.
  • qtum-0.14.10-win32.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. If you have an older Windows computer and don't care about installing Qtum system-wide,
  • qtum-0.14.10-win32-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. This includes an installer and will install Qtum system wide. If you have an older Windows computer and want to install Qtum then this is for you.

OSX

  • qtum-0.14.10-osx64.tar.gz - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using OSX. If you use a modern Mac and want development tools, this is what you want; we do not support older 32bit or PowerPC based Macs.
  • qtum-0.14.10-osx-unsigned.dmg - A version of Qtum-Qt built for 64bit x86 machines using OSX in a .DMG installable format. If you use a modern Mac and aren't a developer, this is what you want; we do not support older 32bit or PowerPC based Macs.

Linux

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

7d80c7a78f31820a99fa3fd388cc9ae505894b434a5810b7950f0258448f385a  qtum-0.14.10-osx-unsigned.dmg 
9dc34819ed8996906c46a807d872ac2fa053d7f508cde5ee1cca1ed1cac1d49b  qtum-0.14.10-osx-unsigned.tar.gz 
a6e45b6de088a741e3b5bbc6fe21d1739355ce0d7bb2b5ae32957043d49406dc  qtum-0.14.10-osx64.tar.gz 
c6ea89eed1a3e4735a36c3d30eb7504ff9b48fde1a4485222cc81509d2526c01  src/qtum-0.14.10.tar.gz 
26e6468cd06ce84c91932dd3627a884baaa73ca6eacaa19fe8677ceeb4ea95b6  qtum-osx-0.14-res.yml 

ddcd077a95de8016396b131eba8fde1c04576eb1987215e3aff796a6ad0018f2  qtum-0.14.10-aarch64-linux-gnu-debug.tar.gz
4bcd3b5fc5e26deaab08b21f5c721e0cb983b110e8c2253180459d5fc77628ca  qtum-0.14.10-aarch64-linux-gnu.tar.gz
b11f122b98c2813992b77b2dca84feaea93c31e95d0d209293d5345416ab5c0d  qtum-0.14.10-arm-linux-gnueabihf-debug.tar.gz
996819e47fc6db09b989ec2f7aff5b8bcf14903b6279548f040c41f1fe94cf87  qtum-0.14.10-arm-linux-gnueabihf.tar.gz
8439f1dd8acddfa567e4bdc43717ffcd82cfa911ab6734775ef207be408bc401  qtum-0.14.10-i686-pc-linux-gnu-debug.tar.gz
a6855ad8cdb4d67e0224376f16abd4c37c3c37b00db449371773fa7e8caa3fe3  qtum-0.14.10-i686-pc-linux-gnu.tar.gz
9f23b28e2c02488f97f07eda4318af46a2414d1c2881bbcaaecfc5f2133a10f0  qtum-0.14.10-x86_64-linux-gnu-debug.tar.gz
76e3326086c3209c938a216b455a86d0bc10f6f667cefa3a19ab367d3b784f4f  qtum-0.14.10-x86_64-linux-gnu.tar.gz
c6ea89eed1a3e4735a36c3d30eb7504ff9b48fde1a4485222cc81509d2526c01  src/qtum-0.14.10.tar.gz
cfe96bad26dc48609c722583d0ae18bab0ebb53436bf6845e5bb7cc5d4188187  qtum-linux-0.14-res.yml

43756f9f471f28d2e9d51610adb114c909360df3c0f4a5adde124541ef22fd62  qtum-0.14.10-win-unsigned.tar.gz 
0509f270098c613331da83ee72477c5db0f912e33babd2a534a526e0311f3ddd  qtum-0.14.10-win32-debug.zip 
06dbc7d464aeaed3510c3d5c23c0850d7e254037defdb0b7011f7711b2efc4b6  qtum-0.14.10-win32-setup-unsigned.exe 
5435f65bb7ad249f978a5a88ef5a630e02ae4639a72d096cd3f070cbdde9cafc  qtum-0.14.10-win32.zip 
8075b3d33b5fa01f006de7172b4b113cc7d1a0b4bc567331274fecd628a2fee7  qtum-0.14.10-win64-debug.zip 
f4d13a89c26a29194139c7b244d89e252dd3004f42d62784fe14b6fc48c646ea  qtum-0.14.10-win64-setup-unsigned.exe 
8a8c4b4affe662c90da23097c105f070ccd147be92a1e90669e1f14a4ff146a9  qtum-0.14.10-win64.zip 
20e927279b955a545d693502938ab79a46773388bb85de98e8862949daefbeee  src/qtum-0.14.10.tar.gz 
610296baec0beee09839893d75240ee0a15305708d6d4786ac326a9381c0a148  qtum-win-0.14-res.yml 

In addition, as of the time of this writing, VirusTotal detects 2 false positives on all 32-bit Windows files, and 2 false positives on all 64-bit Windows files. Both 32-bit and 64-bit have false positives  labeled "HEUR:Trojan.Win32.Generic" from Kaspersky and ZoneAlarm. Only the 32-bit installer has another false positive labeled "Win32.Trojan.WisdomEyes.16070401.95" from Baidu.

installer win32: https://www.virustotal.com/#/file/06dbc7d464aeaed3510c3d5c23c0850d7e254037defdb0b7011f7711b2efc4b6/detection

installer win64 https://www.virustotal.com/#/file/f4d13a89c26a29194139c7b244d89e252dd3004f42d62784fe14b6fc48c646ea/detection

zip win32 https://www.virustotal.com/#/file/5435f65bb7ad249f978a5a88ef5a630e02ae4639a72d096cd3f070cbdde9cafc/detection

zip win64 https://www.virustotal.com/#/file/8a8c4b4affe662c90da23097c105f070ccd147be92a1e90669e1f14a4ff146a9/detection

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaJd7tAAoJEAKXMK2l7Ra+bu4P+QEduZw0mlf3/v4P7I4sfCwB
eCK8ADAkejF5LGBMfpyrXyfsiI3YsnQl9coxqxifb1NJbcOj8/4IykOZct3SREA0
7XqKb/N36Y2BMSUYZ7etgj7ShOwcTeyX8/LFcu6UeZvfkElhk7/lPOGTEE7MVQ0G
dbG8vFkOm3Dt5gv6SYi9rP9959017+NsfiwmWdanmCfe+XrWC/a4qb+8doCKfhI3
hMrGWRH/P/gW5OOkQG4fdyUz4Chspb7m8qjiugwTYm/8XBENhecnZHRA96J6sXT2
d01O5sywJ+IsQ304sycTAYYJ4yIOyvjBO/nYssQSgQkPb7SG2Z9mOiSqn2dp8zhp
+p74OrL4CpQ/KxbuiN6U2yIlm+fe0vc04Md2T2G1E9rtr+GjwR2DGZ3Qx6IO33gc
av4uIowmMUsWMhNjDhbDsNziz6ggwWhEX/61ZzKcCbgBS2lWqzHu+x4drdNFzKvb
5OTudwg10LcdoUcxpgSu84RVqSCPIkABMqP+gXfCKtb81k2tlfa4P9S3XpROhWkA
eXTThW7g6IxYjeYrAs7jCToo6GQWAY0eU49PS8Cin4MTC3N/knIgM7Bk5RUfZrFv
vAoW19magUymzavHx6hmjjAEN0W1WpWCCq0EzoUKaekq9zaQQQRgHrsMzknu1vT+
Ejk4AzyMET9tEhrDQAKj
=XDkj
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.1.3 - Qtum QRC Token Support (Important Bug Fix!)

Published by Earlz almost 7 years ago

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

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

73598fba4975982a7884d41228eec9a9152256284cf9b2d596680924d84a5ad4  qtum-0.14.9-osx-unsigned.dmg
45a6a3306957a9bc1fe029e6883892b8db4b4f7772309317ce071f43b6e26692  qtum-0.14.9-osx-unsigned.tar.gz
26d38eb7f0530c19e2b741e37badb2ad727a27988e33477513b780cd4dab83b9  qtum-0.14.9-osx64.tar.gz
c3bc06f157b841b570ae6d9a101df457018f659b54668c8f8312aad9ac890ce5  src/qtum-0.14.9.tar.gz
8989d503b96677036ec0b77471aa244f054fe1cdceaf4308adec9ae9ae100c9e  qtum-osx-0.14-res.yml

b2b921ede8d3ddcb116f74afa22fc4c03b25deccb6b229cfd87727dde4f98098  qtum-0.14.9-aarch64-linux-gnu-debug.tar.gz 
28dca1df9b3fef1e2efcea5e3e3bdb4fd12c44cf2daf906e2f11a3c5680b3ec0  qtum-0.14.9-aarch64-linux-gnu.tar.gz 
5177e144f19070102634462d4b7b0ec4aac0170c6340f859469e5594f976eff9  qtum-0.14.9-arm-linux-gnueabihf-debug.tar.gz 
ca8a9f5212d874a008598dbd33af458c9f021ec9d5543ad47070dd195d4f1d26  qtum-0.14.9-arm-linux-gnueabihf.tar.gz 
35dc10292e941a9ec7f9c3163956d0e44b5d24d1bbe6ddc77727eb04059f136e  qtum-0.14.9-i686-pc-linux-gnu-debug.tar.gz 
15a018c5a7935ebb9e5df43c6df35ab305da225ff7aff0bc2d2b8fd56277b7a6  qtum-0.14.9-i686-pc-linux-gnu.tar.gz 
215a0dc89761317905df1b1abc292728d06acfbfad6a739f8c2dd2d947324c13  qtum-0.14.9-x86_64-linux-gnu-debug.tar.gz 
da14fb65a4309ef7e0bd4c93d0cdd156d01e9f4774db481b46103275a8a19ce0  qtum-0.14.9-x86_64-linux-gnu.tar.gz 
c3bc06f157b841b570ae6d9a101df457018f659b54668c8f8312aad9ac890ce5  src/qtum-0.14.9.tar.gz 
5d45dd739ed7cce060d06ef29c9c5f641db5c034331b07142a475cf7ec5ba1ca  qtum-linux-0.14-res.yml 

226859486a1c521d9f2a3361da5c6efe3223be162406d774edcefeeb8474f7af  qtum-0.14.9-win-unsigned.tar.gz
03d2d9ebdad88c0523d751be0cd71b040ef8e4d1af88dfb7dd6bf84f3860b76c  qtum-0.14.9-win32-debug.zip
7a4033e3f153c559b677ff7908e1b882b289fa4e8e36a17845bc9eab3f176cd0  qtum-0.14.9-win32-setup-unsigned.exe
37eded1f20a41e20767d0dfdd24a7f1b57fa21de8be4ea047130ff7e5ef7b695  qtum-0.14.9-win32.zip
bf4d24f8b010b4bb229c71805621435e8feabb7d0e385f9184657bb595438d94  qtum-0.14.9-win64-debug.zip
b7ba60cdfd1094656aee15ec34c489f3b2f73a95bb4ea82e7b6f303917d305a9  qtum-0.14.9-win64-setup-unsigned.exe
f93823de377b33d820d1039ce6087e5882ed09919d010120d16ccd2ed4ed604a  qtum-0.14.9-win64.zip
c019236d7d46fab2035cc37550b8cb5978b45ca96e46fae81de9e49de56c5a38  src/qtum-0.14.9.tar.gz
57a021244316250aa036b40f6915f3c99fa1cd89d8ff417912ff5a91ef0005e7  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 2 false positives on all 32-bit Windows files, and 2 false positives on all 64-bit Windows files. Both 32-bit and 64-bit have false positives  labeled "HEUR:Trojan.Win32.Generic" from Kaspersky and ZoneAlarm. Only 32-bit has another false positive labeled "Trojan/Win32.AGeneric" from Antiy-AVL.

installer win32: https://www.virustotal.com/#/file/37eded1f20a41e20767d0dfdd24a7f1b57fa21de8be4ea047130ff7e5ef7b695/detection

installer win64 https://www.virustotal.com/#/file/b7ba60cdfd1094656aee15ec34c489f3b2f73a95bb4ea82e7b6f303917d305a9/detection

zip win32 https://www.virustotal.com/#/file/37eded1f20a41e20767d0dfdd24a7f1b57fa21de8be4ea047130ff7e5ef7b695/detection

zip win64 https://www.virustotal.com/#/file/f93823de377b33d820d1039ce6087e5882ed09919d010120d16ccd2ed4ed604a/detection

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaHfwnAAoJEAKXMK2l7Ra+hQAQAKMOrso6XyPm/33GnbUsASem
pCqeo+47tGHKAYQEHWQvMQwxLyPAQRRJjRk4Iz1TlgV5pgf9n/eaSWXPotwD7ZwM
j60wAWKoxDsUgu+wls5Pmq/iD++i3DVGy7WyH5M0oWOWf8st60CxWhn3dKyEE/b2
nw8gz4AQqOgn0NQNicJWrVGEZAyY8EDhNIfHIkEpH9sxov+uedxZy4++B/hhaUj1
Zsmp2bius+31fUHpedIloCvX4liX+ZCuJf6WsC7Gm7nUApFJMhqkBvH6XkjS8G5S
Qq9AdDgm1IZHpyDVww/bUu7RmLpmWBDW3I8wnSAr24z8x2WVzbR+/CIdJQHOOH8U
p2EbjCVH44RoROLwqXZQztX92AxpyKnwLeIPgPRlRXBGii8pPK81sPMthloIZsUR
L/PgqHBh0J7md+C4WC+S2jTZPr/XC+7Gs5JpisLVlK3tSlJU8+6tC1zkv6ir5dXB
X2Uuq/xtt6OQDOSbuNfbNJy88921Ab/apjwhF8W9vXIe3F1bEWpe/Wy76UiTSvQG
AGRu+Ic13Xot4+lVJNYLY0aYPm9rijXMArm5zEbCCdk4h+Hx+v0E3GWNUz8ZCHVC
Nn64RJWp8gdXxaj2ahBG9Np8CWKwwoEcaQ1IeOGTDza9T5INm9z6pI9PJIHp+zv9
frtx4BpzzzCoJK6ybXiM
=9nc/
-----END PGP SIGNATURE-----

qtum - Mainnet Ignition v1.1.2 - Qtum QRC Token Support (bugfixes)

Published by Earlz almost 7 years ago

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

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

8b3154f78567b0656e65a27035a97d97a800744dacefae0c6cc286c6866e34a4  qtum-0.14.8-osx-unsigned.dmg
c855987b4bb16a333622a1f5b185573c780512789997f9c628a8c06bfae26eb1  qtum-0.14.8-osx-unsigned.tar.gz
10f4c5574ca900e2134dca9ac8880d5ae0f82ec08c4f9aea88da3937c7a08edb  qtum-0.14.8-osx64.tar.gz
edfd26416545caea73c73c62e6326690fa5a239fcbe66300bd42cdf010dd0cb8  src/qtum-0.14.8.tar.gz
1887a60f01571c1156028dd9b7c3316c387517d7177bdb2d870c0458ac28781d  qtum-osx-0.14-res.yml

1683f03a3448862cae1bcb0069e06b3b7c9805c90e7d43f64b28b78f2d243cb1  qtum-0.14.8-aarch64-linux-gnu-debug.tar.gz 
3ea7fd8a049ac5e6fb86e75944ccd5bf0dec62ae7cbc0caaa92d6e28b7233d5f  qtum-0.14.8-aarch64-linux-gnu.tar.gz 
5ef4a469aedd210cdf855155e6f389aacd890ee2cd9309682f01f9a6e60c62c2  qtum-0.14.8-arm-linux-gnueabihf-debug.tar.gz 
fe60a3c82116c98fa25bb6dc203ff6211c26bb4977fa4d3df5290a42b9ecc446  qtum-0.14.8-arm-linux-gnueabihf.tar.gz 
49b7c64c7b3efa598980feb5442823871208de41a57caf4b124639d4962e4270  qtum-0.14.8-i686-pc-linux-gnu-debug.tar.gz 
86151f07bebcc044780a1b8f7035d4fe344d4f330040b9b6f55bee5f95434974  qtum-0.14.8-i686-pc-linux-gnu.tar.gz 
f0ec5d129183bb94d4a06b411b648d0948e55eb1b4c1b117afcde4fd75d2aaed  qtum-0.14.8-x86_64-linux-gnu-debug.tar.gz 
a94a5e61473eb83a90e34bae29b1d44af8ed966cac09003148778aa63a46e081  qtum-0.14.8-x86_64-linux-gnu.tar.gz 
edfd26416545caea73c73c62e6326690fa5a239fcbe66300bd42cdf010dd0cb8  src/qtum-0.14.8.tar.gz 
e940134ac98546638fac8f6a3dc5b006ef1a9ed8f1255e1457f4ffd0e6e10de3  qtum-linux-0.14-res.yml 

274c4653cacf2c9519d0fed6e60e121649ad9311570c4300349c1639926f2433  qtum-0.14.8-win-unsigned.tar.gz
9f910b6f6116eba4530ff86461d9b692725bddce19d3732632d1e25a55e07d29  qtum-0.14.8-win32-debug.zip
2c79d901f503ed110ce46453e1ca06db2a62d266fcbf847e33b102dacfeaa6c5  qtum-0.14.8-win32-setup-unsigned.exe
93ffe9cce42ba2aa104249f5b20de17e9fa95c36f68b8909aefb071151f9be46  qtum-0.14.8-win32.zip
9ba4aad9dfd38db2a853b1f30b683db8b701b665b3d3776e9a377483dad29919  qtum-0.14.8-win64-debug.zip
8f3b4c4e138b81b7bc91cf213dd29a311cc3ca5999b5b80b95a0373b8746ce90  qtum-0.14.8-win64-setup-unsigned.exe
61ea512e630bc9a8783488188460ab176d5ec967d8def2438b9ecc3dccf58d13  qtum-0.14.8-win64.zip
a7d1d7a038b3b85f48de56c4f283bf0eb0ee621c6d5d53f3584c0f7398e32fcd  src/qtum-0.14.8.tar.gz
ce46c4471d174d7983dcff15d2a289ca6111bc6709d8cd16f0e700ad110ff5dc  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 2 false positives on all of the windows files. These false positives are labeled "HEUR:Trojan.Win32.Generic" and are from Kaspersky and ZoneAlarm.

installer win32: https://www.virustotal.com/#/file/2c79d901f503ed110ce46453e1ca06db2a62d266fcbf847e33b102dacfeaa6c5/detection

installer win64 https://www.virustotal.com/#/file/8f3b4c4e138b81b7bc91cf213dd29a311cc3ca5999b5b80b95a0373b8746ce90/detection

zip win32 https://www.virustotal.com/#/file/93ffe9cce42ba2aa104249f5b20de17e9fa95c36f68b8909aefb071151f9be46/detection

zip win64 https://www.virustotal.com/#/file/61ea512e630bc9a8783488188460ab176d5ec967d8def2438b9ecc3dccf58d13/detection

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaDiJ5AAoJEAKXMK2l7Ra+Li4P/0qO2DWNtsch85NYA6V6Jer5
xQPGqIrU1cd0FA6LhVXzuGAYuSBwGTcu4IOgkjV9Z86aGA2/4N95cn5H+ZROqFaP
2cmxah+YgxfjLSPu0Wmn9hrfBL8a71ggc7zEOOoaRz6H9u6Utj94iazMDx1Mb5SD
5fxmIxCLajbDduHqQTz9wVJUnXL3FWD5WAQ454yIzTRAxXdZ3SD9BcGwiX3zQ4VM
82pcOgjxnP3FvS20rTFIyViXGAN0CcrXtZa+Co32cpBufKim+LvVgHUm0maa0kKz
kwPbs8TYssnVP/IIGr3TkdtY+nAbqQvVzcjVlA7A1L6jobe41LCyGuYtDPGh0Dsi
yb2ba+g0SX+vyUyJJHkZrFfwIimgLPpAfGAA2/KuJj+YYK/LBw4Z9T1h/6yQWPWW
N8p9jQtG/nTFXue5xAiksYtIxWwtnKkNEtMIeddfn9Vox2emqEXEDEoqTbTYHkKa
/JnK40mkyJ1C52PD53avqUpQeTydAmzWU3f5sQB3S2iSvU4aaEW6wt4OeYNFMARH
W6CNn2L+oXJz1Uf7biQefaq1hvP80bJiecNb+KAAr3OMtUJWv5oiFsZIttAp0qmn
M3LLPQn5vsoWlI5WQ/kLSu4hT9JUfGAOmkeByh1MIE8oH/1mxEgr5L/ORFBHTzZw
uUJSvqQmmG6COhcIkqrz
=eBNe
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.1.1 - Qtum QRC Token Support

Published by Earlz almost 7 years ago

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

  • 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.7-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.7-win64-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows. This includes an installer and will install Qtum system wide.
  • qtum-0.14.7-win32.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. If you have an older Windows computer and don't care about installing Qtum system-wide,
  • qtum-0.14.7-win32-setup-unsigned.exe - A version of Qtum-Qt, qtumd, and qtum-cli built for 32bit x86 machines using Windows. This includes an installer and will install Qtum system wide. If you have an older Windows computer and want to install Qtum then this is for you.

OSX

  • qtum-0.14.7-osx64.tar.gz - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using OSX. If you use a modern Mac and want development tools, this is what you want; we do not support older 32bit or PowerPC based Macs.
  • qtum-0.14.7-osx-unsigned.dmg - A version of Qtum-Qt built for 64bit x86 machines using OSX in a .DMG installable format. If you use a modern Mac and aren't a developer, this is what you want; we do not support older 32bit or PowerPC based Macs.

Linux

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

b852c05722d2f2dc9139ab29c976487c5dc20047c72eb86173bae4680a5aff3b  qtum-0.14.7-osx-unsigned.dmg 
4e5a3b3da068835375370522b9fe0cd25cab87af56adbf924714403f92c85150  qtum-0.14.7-osx-unsigned.tar.gz 
54f28d3cf61d4f764e68ad4bb64fe03b9c757975cfa085c23e71414d4cd1301a  qtum-0.14.7-osx64.tar.gz 
a23747d3b59170e0a040a995108b1e4a0a947b06335903a199e4021aada6bc3d  src/qtum-0.14.7.tar.gz 
ecc13ada7fcccf470246e1d9488eeefeb1ceae0431c853cbf8e06a3b60430df6  qtum-osx-0.14-res.yml 

3929ae8b22e32b2f2d6d99e4ec6c654486ac3bc4c663b8054e5243923f504803  qtum-0.14.7-aarch64-linux-gnu-debug.tar.gz
9b29a0da81b7f3005240a83da9874d10002ed48ec759d57db97e9bc12a9c4eda  qtum-0.14.7-aarch64-linux-gnu.tar.gz
cbee2a21780f33624650e538c4f812d852283c86486f915e285d7455f53ba21a  qtum-0.14.7-arm-linux-gnueabihf-debug.tar.gz
22b885543d4231ca7f6d9c4c023fa2ecb9a44fb630c6cc05a395b21f0fc47f09  qtum-0.14.7-arm-linux-gnueabihf.tar.gz
2d58cc607339e19f805529860f927173ed5f9d503a4985fdeaf082ae0d4b44d0  qtum-0.14.7-i686-pc-linux-gnu-debug.tar.gz
283753c6f2c8e9848947e8211dffcb08ba9380ce3ab74728858d64239d48ecfb  qtum-0.14.7-i686-pc-linux-gnu.tar.gz
b465060bf0e714e4fca305529dc911eca518eb482f53dd652e51af6d5f48fa37  qtum-0.14.7-x86_64-linux-gnu-debug.tar.gz
f6c49a692734bf021b6c0a53ee32f745b71b7179466eaea98aa398db160a7797  qtum-0.14.7-x86_64-linux-gnu.tar.gz
a23747d3b59170e0a040a995108b1e4a0a947b06335903a199e4021aada6bc3d  src/qtum-0.14.7.tar.gz
ca422302c4e6d4ab5422acdd138d1eda368e68a229800688d2ed4c4b8c7c3435  qtum-linux-0.14-res.yml

aa7baae9a0710d884da0cae199eb1218644b68b51012d99749385a1436b08213  qtum-0.14.7-win-unsigned.tar.gz
850fc62b59d718691ca35501ded4fcf18c7c54fc863962cc68a8e7b735878f00  qtum-0.14.7-win32-debug.zip
8bc1c9b78063e618d2468623c831d8830238df772169f516a9e56808f2e42ef2  qtum-0.14.7-win32-setup-unsigned.exe
2843fe492f2281076338071ff4f04e9c633b17d9db1e56cf67e45de193044285  qtum-0.14.7-win32.zip
3cb46f26119e85915b681ad8bd99b3b4547cbf590e0d677742d34c31a214a8c9  qtum-0.14.7-win64-debug.zip
a642721f52abae5d95a4e644368a851f5e69454e0103d9593eabea75c27f6831  qtum-0.14.7-win64-setup-unsigned.exe
ac60106d970b8ff54bdaf592f2725c2fcdeb4967550643ea937dc3233af9087d  qtum-0.14.7-win64.zip
ed0e3c8506e9d80dcb443fa160c6bced2b7706c1f7cdd212f836301acf3ba3ff  src/qtum-0.14.7.tar.gz
10b5822b7e3ad878dc14e3cc2156daf63f8e8606e5570e4e73ca768214745612  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 0 false positives on the Windows 32bit and 64bit zip files and win64 installer, and 1 false positive from 2 vendors on the Windows 32bit installer.

installer win32: https://www.virustotal.com/#/file/8bc1c9b78063e618d2468623c831d8830238df772169f516a9e56808f2e42ef2/detection 1 false positive ("HEUR:Trojan.Win32.Generic" from Kaspersky and ZoneAlarm)

installer win64 https://www.virustotal.com/#/file/a642721f52abae5d95a4e644368a851f5e69454e0103d9593eabea75c27f6831/detection 0 false positives

zip win32 https://www.virustotal.com/#/file/2843fe492f2281076338071ff4f04e9c633b17d9db1e56cf67e45de193044285/detection 0 false positives

zip win64 https://www.virustotal.com/#/file/ac60106d970b8ff54bdaf592f2725c2fcdeb4967550643ea937dc3233af9087d/detection 0 false positives

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJaAPxLAAoJEAKXMK2l7Ra+CeIQAI7Fp957XjzIdzZPnIjF7Qdo
5LuPZxex7Q6n94td75xWM9fCU/TuFS4s5ze4XJiO3wEzPwwQ9V78lyWLGKOdX8EF
LwrSUdESaZCnt9iygAgJA2Ckmbds46o81hFb5QjgzKmu6MvlXslpadw12cElqla8
HS4Vobz7Vg5BG6cQfO2neJyIaUbx3915rQ1/v2QHSyYyuiHmfTo7qOY7Llr8qZq8
dAeaFm0hP4ro+CxbKjdkU89CApgtwINPRtGcrnv1rnnHnAcJlnz6qWkJOiNT7rVp
EnZ4J976h/4uPcEWWFJKd4AQzu1C7eWOEjMk6Ndd5PuFRyVFvY4X3s859FOeW0W0
D1ekMDUHvYKoEhUphKeKyjB+m7qU6gdr1OmGOMyYspDlfk5CRe24ObNeT4RVgW6y
v8GPQYTAyPcNYzC+StXxHFvTIGCiK7iiwj5qy0FgiIZgqRoOsLvJ1i85lQAiM62+
7Y3r2iKRY6sGgPkFwiknEAZLly164nBMDUuq8Io0Xv1ViQb17r8QpIUVkKmRAru7
/5gtNYiMFv9HLua4Tt8Qo0gdyDdNtt51l/rP7r5vOdkZuVfmAexEKztsoc2HTDeh
ibXyHrVI3DgeH0WIV2CNvlYoE1dkAOFUUlXzk/Y9BazHW/PsSMk3ma2dJkDNPDm+
ScxZUHP9h/9LgLj/tLSe
=PmzK
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.1 - Qtum QRC Token Support

Published by Earlz almost 7 years ago

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

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

f969b3f59a8a62bed2419766580cf0a9849db141e5fb22adc538ba27dc26f2ba  qtum-0.14.6-osx-unsigned.dmg
143cc4dd0dc7c27d37f0577be90244c27d9bc774f1ad2f880cd6b2d2eff48db3  qtum-0.14.6-osx-unsigned.tar.gz
58de033b5f091de665e2d50e1c18adbf2867451c555e187582f36238b4dfcbfa  qtum-0.14.6-osx64.tar.gz
1a4f407ad165177a9950c33053778e44c5b1a1d5d913a8fcd27f7ada698087f8  src/qtum-0.14.6.tar.gz
9aac11978cf3aa1fa814885253fdb0c59b3d050113597786d07446929dc6b01a  qtum-osx-0.14-res.yml

2a404b42149dc1ef617b1d582e5690cb2d4cb386e4e4e6aa94fc412c8017ef41685  qtum-0.14.6-aarch64-linux-gnu-debug.tar.gz
8dae9d9a8bc38d18b53bafa1ac4a87c93b3308cea69c10558c04cbfe155249de  qtum-0.14.6-aarch64-linux-gnu.tar.gz
206a6b32953ebafa5cb26c435334fba780222a84860025953cefe623487614b1  qtum-0.14.6-arm-linux-gnueabihf-debug.tar.gz
1063aa207afa9bf61e4633a28d8ec8c3d2f72f8cc43e284f58346a8a96bf9970  qtum-0.14.6-arm-linux-gnueabihf.tar.gz
d2eb64462f63bd5e83a822103d0edb6d6be1ed2c1bc91ac26000dfffb42d0a1b  qtum-0.14.6-i686-pc-linux-gnu-debug.tar.gz
e1a8790e4810c6a999fa76119b319f4cffaa336f3716477b02b00f77b1182eaf  qtum-0.14.6-i686-pc-linux-gnu.tar.gz
b267fe4342610e17351528d1334a427092f1e36479cd68e63d7e76ccc21e7445  qtum-0.14.6-x86_64-linux-gnu-debug.tar.gz
35122c1a05745aad43b6044c83a9d93c0c0725b2461c40eab5afd5dd598cd4ae  qtum-0.14.6-x86_64-linux-gnu.tar.gz
1a4f407ad165177a9950c33053778e44c5b1a1d5d913a8fcd27f7ada698087f8  src/qtum-0.14.6.tar.gz
89484b7caa427959dfee542358489e7a1c50a840f286102af0a428e3cfd0891f  qtum-linux-0.14-res.yml

a1ebed92a95f69008116e55585deacea18279407bd6612664d1d349c4588a3a3  qtum-0.14.6-win-unsigned.tar.gz
818b32af02061c3c173b538701297018ba90c96a90d207837a7ee2071483ca39  qtum-0.14.6-win32-debug.zip
6c2d3d0bdb947cab3a3a4e360c007c25644ed58806edf42aa334af37431a664b  qtum-0.14.6-win32-setup-unsigned.exe
9b5ab577dd843da6195d0d0d78f4676a468e56d73936c774cdebd970f2d24a23  qtum-0.14.6-win32.zip
ce0e1d041a771bfd83a934208ca6fbc28f0cb5cbdc415d0d86d527c794900bb2  qtum-0.14.6-win64-debug.zip
28f5e68958eebb97499b6e150b922ede2cd6a80b4d385eeb19e073a38e066b33  qtum-0.14.6-win64-setup-unsigned.exe
715e65dc007a52d52dc1bb43a723cdd84a225d843c4c2786e8c402fdae3a0440  qtum-0.14.6-win64.zip
44c87b827304adef7febf9feaf39ef897eadaf42dbadf52e22be639dc47799a6  src/qtum-0.14.6.tar.gz
bb8f6868c07e0aab8a6d9fd0f096b4c2a4e13651baf1b958bd9fe8c631ea2574  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 0 false positives on the Windows 32bit and 64bit zip files, and 1 false positive on the Windows 32bit and 64bit installer:

installer win32: https://www.virustotal.com/#/file/6c2d3d0bdb947cab3a3a4e360c007c25644ed58806edf42aa334af37431a664b/detection 1 false positive ("unsafe" by Cylance)

installer win64 https://www.virustotal.com/#/file/28f5e68958eebb97499b6e150b922ede2cd6a80b4d385eeb19e073a38e066b33/detection 1 false positive ("unsafe" by Cylance)

zip win32 https://www.virustotal.com/#/file/9b5ab577dd843da6195d0d0d78f4676a468e56d73936c774cdebd970f2d24a23/detection 0 false positives

zip win64 https://www.virustotal.com/#/file/715e65dc007a52d52dc1bb43a723cdd84a225d843c4c2786e8c402fdae3a0440/detection 0 false positives

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJZ/N9fAAoJEAKXMK2l7Ra+GIIP/R/wOpXWb9/H2q0XJEgH9hKd
RCtpzzNO+Qfbeg4gGLim2DRtfnlbvUnvXOCJSGMPDmUEc50e5r5saGwWLS0TYzQk
SfyIbgMEHwMTrOI3Ri8V8P+T1vQKoXB1A7hYZJw8RpKg0ymu148SykEye6mlLqXj
lon80axyE+qqphuGuDmnjvXCp1N7PifNCIZBTs5+G20By3j+1lcT6fL7+4aIDws4
P2dhQY3ZY6M4jPe7qp2LDCHZt/5foIcekaIZsg8foXVyVN5nPSq1v+SJLFpDrD18
0eF1xnxUeR1be1KJ7UfVOECHMLrwrWNhVlyYxgh03+qRg5Kx8KUK7yyyM5mg8wsO
SFZDWiA5LjiHDsggq7utOyejWZQDqC22Yv198ALDaG6b4BISw1XMYz+8rg3tOrac
cckMXLLQUdtYRpBPcXK3ItXFIOKbXFoQ+YMrHZrw780NAEEVWj0cKCa2JdCniRIP
uohzRMuG+4wyK6uP+uK7E/BBjWz98mqn75WRuZIkMxIYbyxClz9hwxpLewkCssAt
q5Z2/HP0xJDHDCFOYdsrwJzpN+HbQODqigzlf+Q97ukfJ8ZBcogPtyohh4oDJC2U
dIq5Jj2KuXQpMpi7F1CYG+Oy295p67cjSoDg2w73+QayjDSUdKs0yWiNxjtAYLYr
9iG+3V1xROLj+cm0N9KL
=+svp
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.0.4 - Recommended Staking Update

Published by Earlz almost 7 years ago

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

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

If you would like to validate that the binaries you download are exactly the same as those provided and built by the Qtum team, then you can compare your binaries to the following sha256sum hashes:

191cea2e4d1e1e6eda48a2044352497503db864bcb9d37e82f54f0ac0993b5c1  qtum-0.14.5-osx-unsigned.dmg
0a07a7cf7b66dcc214c551825672aaf0055d5047b621c67e8d7113bbeb2a6d49  qtum-0.14.5-osx-unsigned.tar.gz
16865c934a79350f9378baf49fbce5ef482d9f5ea4e90ffdd4f200344032f062  qtum-0.14.5-osx64.tar.gz
3d056fdd4d19ac7e7323f933c98650bc787becd72d4aad8a495e3017cf686589  src/qtum-0.14.5.tar.gz
b8e1d0096b041fdbbda6b086321da1b61289147653ce7d525bfc2c398e33e7f0  qtum-osx-0.14-res.yml

2a4d502f9b914c021ef83fd10ccfc628369ce4bed3818ae9f078a4192c627380  qtum-0.14.5-aarch64-linux-gnu-debug.tar.gz
abc7f201f1621cc960a1dd8bb1fb60c7d50ac6a2a8e589c25183c687022d0a90  qtum-0.14.5-aarch64-linux-gnu.tar.gz
50e9c53284ae8a33f35b6db3ef88e91bdb433211a1bee7dffacdf8c68796a8b1  qtum-0.14.5-arm-linux-gnueabihf-debug.tar.gz
113d7b889f6a8112e0a0749c5570ed6f8e0425a71be1c9129f94b46027dd2b4b  qtum-0.14.5-arm-linux-gnueabihf.tar.gz
cd03398747c543eb298a342a98f709058f5a819c741fd9f0287f82915f5f97f3  qtum-0.14.5-i686-pc-linux-gnu-debug.tar.gz
c944edc6b0ae607ee0c1ae265c3690662c1341d71acd4be339786d0ed033381b  qtum-0.14.5-i686-pc-linux-gnu.tar.gz
91e181510e707f214c1a33a5801280b7ff2cfce35e58b5604adad2affceab5f7  qtum-0.14.5-x86_64-linux-gnu-debug.tar.gz
754dac3e4e719b88851281175e660708f502427a846a33778e3a5331aa06c576  qtum-0.14.5-x86_64-linux-gnu.tar.gz
3d056fdd4d19ac7e7323f933c98650bc787becd72d4aad8a495e3017cf686589  src/qtum-0.14.5.tar.gz
d27216322779b4305f62a9f2d1905c0fef0b8c6d13243e93bf1857116749fa8d  qtum-linux-0.14-res.yml

69b316b9d069f0374255496fcc28540279fc40725f7bb4211aa6a84682159618  qtum-0.14.5-win-unsigned.tar.gz
23874dfbf194945426529f6e9bd116908e10b345221c5e94693b700c6bc3321e  qtum-0.14.5-win32-debug.zip
856c4a85b53eff7c63787ab0498852e2f16af8088415e93ce5a534f719768fe2  qtum-0.14.5-win32-setup-unsigned.exe
6364f81877b8867d4fbf35cc28067b470ef8abc6d3d63d9eb58283ec3abac317  qtum-0.14.5-win32.zip
b8cc0d50513ebae0e3a591090c9f536c618a6434b5065b7fe5fba8053a2c8ede  qtum-0.14.5-win64-debug.zip
77a555d8d4ccf08b112b8424c562b214fbd94f352454235102ffe672d533aff4  qtum-0.14.5-win64-setup-unsigned.exe
3b89aef0e01af7d30424b3e5db15dde3da3f675eb731cef61304c5f8f5b8e90e  qtum-0.14.5-win64.zip
0f2b3338e9e941f60a02cc923767c36983c37104658327369bc72ae6ab5a18f0  src/qtum-0.14.5.tar.gz
448a1a2ddbee689492dc322ebd4b3bc3c3463ff628f310e9a7e45c00d3ed9cd8  qtum-win-0.14-res.yml

In addition, as of the time of this writing, VirusTotal detects 0 false positives on the Windows 32bit and 64bit zip files, 0 false positives on the Windows 32bit installer, and 1 false positive on the Windows 64bit installer:

installer win32: https://www.virustotal.com/#/file/856c4a85b53eff7c63787ab0498852e2f16af8088415e93ce5a534f719768fe2/detection 0 false positives.

installer win64 https://www.virustotal.com/#/file/3b89aef0e01af7d30424b3e5db15dde3da3f675eb731cef61304c5f8f5b8e90e/detection 1 false positive(AhnLab-V3 Trojan/MSIl.Disfa.C2221224)

zip win32 https://www.virustotal.com/#/file/6364f81877b8867d4fbf35cc28067b470ef8abc6d3d63d9eb58283ec3abac317/detection 0 false positives

zip win64 https://www.virustotal.com/#/file/77a555d8d4ccf08b112b8424c562b214fbd94f352454235102ffe672d533aff4/detection 0 false positives

You can validate this message is from Earlz at https://keybase.io/verify
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.76
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJZ9+jDAAoJEAKXMK2l7Ra+f4UP/3KrjsOYg7W3nAIstLLLwX2e
qJSCxRdSeKwNJghr4Z0UHQqqt0EHmurZc8MYc5c4PTdyzp8oUmxe/C5x4LGppP6B
mmUIh3+ffbrqApaWs43ar1J+E7ClgdqjVCHuu/hoBms+4yaRfviy6Xh1r+lUciWV
I0dQ7eGkn/7/ReSvepDBMUGP0z2QeXQQwpxoXBzkm0snrSHpTdEfJI3VLUo17U49
4RbrMPc3DNW6zMfXhISxYnRLq7nt/rEzxLM9cbn3oNsgjRU9b49A8OrqnH125FNq
6ufetYhEsscAOrWNpIPl+sNID7unGen7BzwGX0pC0F6f1GCXwJHLpo2r9ZBI19rH
eG+9fj4GfXGiQinCnaBsydni56lEALev7irNeaXsh4BUfq0OC45nSQ4EvXEqPq0l
tGCzKfB+S6CilNN6E3UT5PiB7pRBSV560lKSEjIqC4wOjc09SUyBuUzTJgb0RLdG
9+V8rhogX9xiBWmRZCbcbqrQxA02GgH2tD+nW+zT7Td2TuOjPgs3lvk07382+wQy
89Lnk9z3+mWy6ztMySow7cbokl7gf5e38U+NXEuBJrXHs8ODmOIzQWRUbUoHCXNh
xZmodXpmaXaY3BCPdpdgeB2V6Wb/5ZKIDqXn2Ql9+r52mrNd93F2mVIPXcmDS9vH
Ap3KyxYWxaOGfdxrI5MC
=WDoX
-----END PGP SIGNATURE-----