Skip to content

Mainnet Ignition v0.14.11 - Wallet restore feature and new RPC calls

Compare
Choose a tag to compare
@Earlz Earlz released this 20 Dec 22:00
· 32118 commits to master since this release
5be981c

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-----