Skip to content

Mainnet Ignition v1.1.3 - Qtum QRC Token Support (Important Bug Fix!)

Compare
Choose a tag to compare
@Earlz Earlz released this 29 Nov 00:55
· 32160 commits to master since this release
43f25a3

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