qtum

Qtum Core Wallet

MIT License

Stars
1.2K
Committers
1.1K

Bot releases are hidden (Show)

qtum - Mainnet Ignition v1.0.3 - Optional 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.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.4-win64.zip - A version of Qtum-Qt, qtumd, and qtum-cli built for 64bit x86 machines using Windows.
  • qtum-0.14.4-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.4-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.4-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.4-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.4-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:

    48c54cddbdd28d386fe18c7cddc46cfc5d1877775488048d4d7932fd2b666111  qtum-0.14.4-osx-unsigned.dmg
    5b3f3306450037b8cbb7d10b4adbcfa675d889cf6b1ea23df0bd37dac89a374d  qtum-0.14.4-osx-unsigned.tar.gz
    c270743c35ad578aa204670ec12a20e85d85d68f950bd302582d16627764e659  qtum-0.14.4-osx64.tar.gz
    0767ef83a677aee4ecc63bcafe90b038fd75d6a0fbf09ebd91cc6c1beb2850a2  src/qtum-0.14.4.tar.gz
    4cfc7af2d8080ddea9f203812d8e7657c221b368d53fc5afdbc9d082db103c64  qtum-osx-0.14-res.yml

    6e16b09f1564d75e653297b0034b84098f1c5c00ba49ab3be26aabfacbd018aa  qtum-0.14.4-aarch64-linux-gnu-debug.tar.gz
    39acc0c9e422f55a0e830a84167522868edc2179036075f6dcaa0b0850d9c16f  qtum-0.14.4-aarch64-linux-gnu.tar.gz
    19edd1a5e3a239f210c5f4d1373de90aea86a6e9b6a4ec2b14e0f7c67a0df9bc  qtum-0.14.4-arm-linux-gnueabihf-debug.tar.gz
    fa0c212b2d883cf75a1337c8c5a457a42791442c0dc5d94bbaffec2951897247  qtum-0.14.4-arm-linux-gnueabihf.tar.gz
    3f67d2c5a02c98224ffa53c374ba31c5135cecb92c32ff29b2552eff525e7008  qtum-0.14.4-i686-pc-linux-gnu-debug.tar.gz
    6d30d803a767ce37d426336353d75fe643694fcd29b320cd15a958dff3a4d32a  qtum-0.14.4-i686-pc-linux-gnu.tar.gz
    eb2468fc5421ca855d87070f70b67ec7a84894a43c9ddd57dae2feea941e7957  qtum-0.14.4-x86_64-linux-gnu-debug.tar.gz
    e394c256aa2674249f20c089a788d7ff4c9f686b39ea0b51f3dcf0456f949a7a  qtum-0.14.4-x86_64-linux-gnu.tar.gz
    0767ef83a677aee4ecc63bcafe90b038fd75d6a0fbf09ebd91cc6c1beb2850a2  src/qtum-0.14.4.tar.gz
    391918756fb4e04269c8bc3d3570e16bdc2eb4c4e8a7cf8c49d3509d3fad5b5e  qtum-linux-0.14-res.yml

    79187553ee15aeedb6996edf7b27d4572cc76ce345c1c885939731bc2e38c009  qtum-0.14.4-win-unsigned.tar.gz
    d96fc6cc7a335dd4b4c24af304f93b0b2677cc1b45a00804bcd752f6886c0b34  qtum-0.14.4-win32-debug.zip
    ba5dd68eba70b665ad115641051f3da86c1bceb1ba94f76a45885c25d20aca2f  qtum-0.14.4-win32-setup-unsigned.exe
    7da28419dfa8944e24bf0b8ed6053df6a320516ea8982e3af714ff37fe448860  qtum-0.14.4-win32.zip
    bcc1d805758624251d24f35c382918f3ba7c3f2b4e38fca16414a42a9c81a777  qtum-0.14.4-win64-debug.zip
    f867cec706d2f6ac8ff1e1e5047e4b19a245c90d501b779de2727b2806e022fc  qtum-0.14.4-win64-setup-unsigned.exe
    efcfd2c7ffe61fb657c2aaa2a54d6bf5c9cd96a1318349cb2225e5a6c48d3409  qtum-0.14.4-win64.zip
    f6888b883e02679363fbdeb5248f1cd1af5ded347f3f408171cc50bf5815ac6b  src/qtum-0.14.4.tar.gz
    5792df3a3e8f183d9b9b04f71f1015a83abf6563276f806a7ad7f6c897919acf  qtum-win-0.14-res.yml

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

    installer win32: https://www.virustotal.com/#/file-analysis/OWZhY2Y1OTk5MDk2MmZhMjZlZTFhMGZiMDljZmViZGY6MTUwODg1Nzk4OQ== 1 false positive that we've reported to Rising AV

    installer win64 https://www.virustotal.com/#/file-analysis/NzFkNWEwY2EwMGVkNDc1ODJhMWViMjFhNWRjZWU3ZTQ6MTUwODg1ODEzMQ== 1 false positive (same as win32)

    zip win32 https://www.virustotal.com/#/file/7da28419dfa8944e24bf0b8ed6053df6a320516ea8982e3af714ff37fe448860/detection 0 false positives

    zip win64 https://www.virustotal.com/#/file-analysis/MGE1ZDU5MjQ4ZmM5NjI2NGNjMzNmYWY3NjIyZjk5YWQ6MTUwODg1ODE0Ng== 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

wsFcBAABCgAGBQJZ716uAAoJEAKXMK2l7Ra+TpgQAJrBjZuuHlCkpVcEDhkmccNK
FE6D9VZ3bTfw2+fu/PG6tZFgTxjBMC2zTLkyGmv11SnSw0q61c+YKJDaKiZvrz2Q
jAMHyL9T5Q9iRetAk3PHkKv7SXcApjdZY+LzOU9Htiwh5XSqfYnjJkAGqc+6xIux
NJRFP5fp3kSLVsoG/REZ3xD/ogjRc10oPolFcgkLmZyZhlCz7/GVsa32hBZ5cwvR
2soRH94Qp2kI3MvPi/4c40wHmUctOwwqZUOw++ZyG168Doz6reeebK70OBOaJKkl
LCnbjQMUD/zOeU9haRHQrLUvi9proDsizDFEiWQBINWOmnfrDy2sBSNPg1pbyGVU
ei4rBoXqieOz/4VusxKPzzpkDKgSbh094M+bjKZEECRs8PK2GzxYCb/sx4f4KYcr
NsfS2ekYE30cgkqV1KJDyLQfE7HCgWKto1R2+Y1/veTGNvyqwWBbNSw6/dNn1LDp
rmw/5RAZZN67dgBCmzf+v9nJr9YEVQoAK26tyx/ge6Tgc+WABqHtQm6EWtunactv
fUynkvY0iOrLTlPrJBL6yMBafc/dHOti3MabcU2B787yW1FwudmLEULzr/EZBjAl
PE/5j7VIU/54d1to50i8wQXb9kWWVfVdnuj4Oh0GUwo38G4gcXrdhm/Nc/qBiyic
LJYxm6pJzUAnF/qrV7XP
=g54m
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.0.2

Published by Earlz about 7 years ago

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.

Reindex Required When Upgrading from v1.0.1

When you first start the Qtum 1.0.2 GUI wallet after using Qtum v1.0.1 it will prompt you that it must reindex the database. This is normal and is a result of switching our internal database format from per-transaction to per-txout. If you use qtumd -daemon it will silently fail to start. You need to use qtumd -daemon -reindex in this case.

Deleting the Sparknet and Skynet blockchain

If you downloaded the Sparknet or Skynet wallet and ran it at some point, then most likely you have a copy of the Sparknet or Skynet blockchain on your computer. There is no value in keeping this and it is safe to delete. You simply need to delete the data directory you chose when you first ran Qtum. If you're not sure, then it is probably in the default location. This location depends on platform:

  • On Linux: ~/.qtum
  • On OSX: ~/Library/Application Support/Qtum
  • On Windows: %APPDATA%\Qtum (copy and paste this into your Explorer address bar and it'll take you there)

If you get an error about "unknown genesis block" or something similar, then this is the problem and you need to delete the old blockchain. Make sure to not delete the file wallet.dat if you have any mainnet Qtum tokens stored in an address within it. (It's recommended to keep it and then resync and make sure your coins are safe, just in case)

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

OSX

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

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

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

Update History

  • 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

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:

    257656794419a0f91d31de7e322d0ac8ff345a75e3e264878b1a91a7e0be8313  qtum-0.14.3-osx64.tar.gz
    83f4b5fbbfe43d20efbc7a51ab3a532d9cb007f31ae14cb8e3b266d172ab0b16  qtum-0.14.3-osx-unsigned.dmg
    8cf2631aafbd87e2ef545093bfbcd643152a14da02e6a2bb3af9cf7ddc634418  qtum-0.14.3-osx-unsigned.tar.gz

    f942119fc035ae0a563914709e032d5b5c4048f0d2e95dda8bc02f5aab1f1cb1  qtum-0.14.3-aarch64-linux-gnu-debug.tar.gz
    f61f8e203552be4f549fc38df283be1dd9d29c14d807f3faa5ffd762ceeaf2a1  qtum-0.14.3-aarch64-linux-gnu.tar.gz
    54d13b9b966b60af6b979454243a64f8fb1afb3cbb8de838e3375ad7226c68ab  qtum-0.14.3-arm-linux-gnueabihf-debug.tar.gz
    50c93c64753a4629cc84a6cf29a1484a03de25a6f87fb2df4418dc4abe017766  qtum-0.14.3-arm-linux-gnueabihf.tar.gz
    9f7d6b5df606317416850f03441772d725447e38c59456f9540c70c393722506  qtum-0.14.3-i686-pc-linux-gnu-debug.tar.gz
    e034ad57685d59fac70ba928f8474077a7766ed3d373098eb652cefe00f3b0d2  qtum-0.14.3-i686-pc-linux-gnu.tar.gz
    3d17900bc99efafd07225326ba92e498824fd811d68fb882e42dcb97549c8117  qtum-0.14.3-x86_64-linux-gnu-debug.tar.gz
    822861abae8370dc4909e47a8bcc9d1e375c20ee7295f3a21e931cc4600ec83c  qtum-0.14.3-x86_64-linux-gnu.tar.gz

    08bf6f557e28166f45ad9f76e132bede665900023e9010b5d1b3701d619082df  qtum-0.14.3-win32-debug.zip
    34f59604c4e0015dc394fe0dd1f0ae7542f2d5887c90ae8021497e84d5c7adc4  qtum-0.14.3-win32-setup-unsigned.exe
    32a8be283f84ef5c6e0febdcd09e06d71728eebfb1f30daa93984e847e65b02b  qtum-0.14.3-win32.zip
    f7683deaca00783cccc1ad59f2567f2f8cccca7b9bda5bee2f1748aa11034880  qtum-0.14.3-win64-debug.zip
    736cfc1c7c72a0aa895877bce78dac32dd53441ef9c78a6da6019af80a65bc4b  qtum-0.14.3-win64.zip
    d7f5887c25734d8246a73b9190f4b469b8b28234d5343472d9754c32c0bc4b32  qtum-0.14.3-win64-setup-unsigned.exe

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

wsFcBAABCgAGBQJZ4h9sAAoJEAKXMK2l7Ra+yJsQAJ1NkOdQ8iMrYervUMIWTDz2
SOGeGP6D5MTw3i0Lt0o7FqJVRC+/r87xK3hnXhRg/Is2wuyC83VaUSV53QAVQxC9
5OWCADjVFW9R9PGbpZa3sQ8sK0LnQj/kFvi+47/CmuJHHDazgEYRw+GwvIi8Cy1/
+EA5mDmbIEgBx+prwyOc7qmiFrB53u9mqebbOHyEn6qaTOsgqJP2lWLaXJWJ6THS
CX4yV9wv2M7W7+FXv5MFcWw9tQoG5/YTnC/sI1bUTOwknbeOqsPgVgDEvc4sw+3z
igCgQOYnkHMUJE5bvcMihoSpZqSh5Fscrw+Id+R/sHO1Zyf/avkkNkJVn0v7uAbE
fdFfe6VCJf8ZuFrIjllJMb0I0MpeqZQnZ4nj/EBUpX92rAIBcFaPRdU+oH2plP4E
QaH3Gm/Fg0Z+o+Vp++pfMKxWfpPI5xg5sJ4lnA/vmBiS8AUdN0ULZvXcIKFoAqCZ
Yegnti227XcO02hm4A2fABjGjfEruEh0JPQ7ZeXyyyOKZZfH7WxcXaLDDs3WTeTJ
U+QukiBfFNFHuXdwcFCfddSOiWQqgXVc8zctPWjbXQEXdpFz2cw4eWnYmdfM5t/e
rU51wRlN+6wAoAyNZmfiesdgiWtjMOmT9c24muf3hjbN/9bsKmgn/a/Himc6PLe8
fqzEFc5jI15plCQ89h4R
=jUL/
-----END PGP SIGNATURE-----
qtum - Mainnet Ignition v1.0.1

Published by Earlz about 7 years ago

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)

Deleting the Sparknet and Skynet blockchain

If you downloaded the Sparknet or Skynet wallet and ran it at some point, then most likely you have a copy of the Sparknet or Skynet blockchain on your computer. There is no value in keeping this and it is safe to delete. You simply need to delete the data directory you chose when you first ran Qtum. If you're not sure, then it is probably in the default location. This location depends on platform:

  • On Linux: ~/.qtum
  • On OSX: ~/Library/Application Support/Qtum
  • On Windows: %APPDATA%\Qtum (copy and paste this into your Explorer address bar and it'll take you there)

If you get an error about "unknown genesis block" or something similar, then this is the problem and you need to delete the old blockchain. Make sure to not delete the file wallet.dat if you have any mainnet Qtum tokens stored in an address within it. (It's recommended to keep it and then resync and make sure your coins are safe, just in case)

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

OSX

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

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

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

Qtum v1.0.1 Limitations/Bugs

The only known bug at this time is the "per-txout" bug from Bitcoin which was demonstrated at the Breaking Bitcoin conference. This is nearly fixed, but requires a lot of testing since it is a large change to make at this point. We plan to have a v1.0.2 release soon with this bug fixed, as well as a completely setup -testnet mode with faucets etc.

Update History

  • 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
qtum - Ignition Mainnet Release v1.0

Published by Earlz about 7 years ago

Dear Qtum Community,

We appreciate the support you have given us since we started this project in 2016. Since our March 2017 crowd sale, we have delivered a working proof-of-concept, followed up by two test networks. The sheer amount of work invested in this project has been immense. To date, there have been contributions from over 20 developers, totalling over 60,000 man hours. We have always delivered on time, therefore, we would like to announce that the Qtum main network is officially complete.

This release includes a working Smart Contract and Decentralized Application platform, secured by a Proof-of-Stake consensus model. We have taken steps to ensure scalability is not a problem by introducing our Decentralized Governance Protocol.

This does not mean development will slow down, on the contrary, we will continue to test new features and expand on our impressive technology stack. Please remember, we aim to deliver a truly decentralized blockchain platform, not a centralized database.

Over the next few weeks, we will explain how the ERC20 swap will take place. We ask that all Qtum holders safely store their tokens, and back up their private keys. We will contact exchanges and service providers and work with them to ensure that no one gets left behind during this swap process. We fully understand that people are busy, and cannot be on their computers every day, so we will make every effort to accommodate our community.

Sincerely,
The Qtum Team

qtum - Skynet Release v1.2

Published by Earlz about 7 years ago

Qtum is a decentralized blockchain project built on Bitcoin's UTXO model, but with support for Ethereum Virtual Machine based smart contracts. It achieves this through the revolutionary Account Abstraction Layer. For more general information about Qtum as well as links to join our community, go to https://qtum.org

Welcome to Qtum Skynet, the second public testnet for the Qtum blockchain. The previous testnet was named Sparknet. The testnet is only for testing, as such, its tokens hold no value and production applications should not yet be created on the testnet blockchain. All tokens aqcuired during the testnet will cease to exist when the mainnet is released which actually has tokens which hold value. The purpose of the public testnet is to allow developers to begin testing and developing applications, allow early adopters to see a preview of how the network will behave, and for the Qtum development team to run several load tests which are not directly comparable when done on a private and controlled network.

Qtum Skynet will ideally have the same consensus features and parameters as the Qtum mainnet. We do not intend to add new consensus features during this period and the Skynet testnet should be a very realistic preview of how the mainnet network will function and behave. We will be added new non-consensus features such as new RPC commands, GUI features, and of course bug fixes and other things that make Qtum easier to use without modifying the blockchain protocol.

The major features and improvements implemented in Skynet include:

  1. The Decentralized Governance Protocol is completely implemented and functional
  2. The Smart Staking Protocol is complete to our specifications (Sparknet was missing a feature called MPoS which makes attacks more expensive to execute)
  3. A very 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
  4. A great number of bug fixes and various improvements, including a bug fix to a performance problem which caused Sparknet nodes to sync extremely slowly as the blockchain grew larger
  5. All Solidity operations for smart contracts behave as expected now. The only compatibility break is contracts are not allowed to create contracts with an initial endowment of coins. The contract must first be created and then sent coins in a separate transaction.

For more technical information for how to start developing with Qtum Skynet please read the Guide and also see this tutorial for deploying a simple faucet smart contract (it hasn't yet been updated for Skynet, but all the instructions are the same)

Upgrading from Skynet v1.1 and below

In Skynet v1.2 a change was made which requires reindexing the blockchain. This can be done by using the command line argument -reindex when running either Qtumd or Qtum-Qt. Instructions for using command line arguments with a program:

Alternatively, you can also follow the instructions below to delete the blockchain (but keep the wallet.dat file if you received any testnet Qtum) which will also accomplish the chain being reindexed.

Deleting the Sparknet blockchain

If you downloaded the Sparknet wallet and ran it at some point, then most likely you have a copy of the Sparknet blockchain on your computer. There is no value in keeping this and it is safe to delete. You simply need to delete the data directory you chose when you first ran Qtum. If you're not sure, then it is probably in the default location. This location depends on platform:

  • On Linux: ~/.qtum
  • On OSX: ~/Library/Application Support/Qtum
  • On Windows: %APPDATA%\Qtum (copy and paste this into your Explorer address bar and it'll take you there)

If you get an error about "unknown genesis block" or something similar, then this is the problem and you need to delete the old blockchain.

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

OSX

  • qtum-0.14.2-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.2-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

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.

Update History

  • v1.2: Fixed several minor consensus bugs and fixed some major staking bugs, as well as improved the GUI
  • v1.1: Fixed a consensus-critical bug with how contract funds were managed in Skynet v1.0
  • v1.0: Initial release
qtum - Skynet Release v1.1

Published by Earlz about 7 years ago

Qtum is a decentralized blockchain project built on Bitcoin's UTXO model, but with support for Ethereum Virtual Machine based smart contracts. It achieves this through the revolutionary Account Abstraction Layer. For more general information about Qtum as well as links to join our community, go to https://qtum.org

Welcome to Qtum Skynet, the second public testnet for the Qtum blockchain. The previous testnet was named Sparknet. The testnet is only for testing, as such, its tokens hold no value and production applications should not yet be created on the testnet blockchain. All tokens aqcuired during the testnet will cease to exist when the mainnet is released which actually has tokens which hold value. The purpose of the public testnet is to allow developers to begin testing and developing applications, allow early adopters to see a preview of how the network will behave, and for the Qtum development team to run several load tests which are not directly comparable when done on a private and controlled network.

Qtum Skynet will ideally have the same consensus features and parameters as the Qtum mainnet. We do not intend to add new consensus features during this period and the Skynet testnet should be a very realistic preview of how the mainnet network will function and behave. We will be added new non-consensus features such as new RPC commands, GUI features, and of course bug fixes and other things that make Qtum easier to use without modifying the blockchain protocol.

The major features and improvements implemented in Skynet include:

  1. The Decentralized Governance Protocol is completely implemented and functional
  2. The Smart Staking Protocol is complete to our specifications (Sparknet was missing a feature called MPoS which makes attacks more expensive to execute)
  3. A very 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
  4. A great number of bug fixes and various improvements, including a bug fix to a performance problem which caused Sparknet nodes to sync extremely slowly as the blockchain grew larger
  5. All Solidity operations for smart contracts behave as expected now. The only compatibility break is contracts are not allowed to create contracts with an initial endowment of coins. The contract must first be created and then sent coins in a separate transaction.

For more technical information for how to start developing with Qtum Skynet please read the Guide and also see this tutorial for deploying a simple faucet smart contract (it hasn't yet been updated for Skynet, but all the instructions are the same)

Deleting the Sparknet blockchain

If you downloaded the Sparknet wallet and ran it at some point, then most likely you have a copy of the Sparknet blockchain on your computer. There is no value in keeping this and it is safe to delete. You simply need to delete the data directory you chose when you first ran Qtum. If you're not sure, then it is probably in the default location. This location depends on platform:

  • On Linux: ~/.qtum
  • On OSX: ~/Library/Application Support/Qtum
  • On Windows: %APPDATA%\Qtum (copy and paste this into your Explorer address bar and it'll take you there)

If you get an error about "unknown genesis block" or something similar, then this is the problem and you need to delete the old blockchain.

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

OSX

  • qtum-0.14.0-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.0-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

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.

Update History

  • v1.1: Fixed a consensus-critical bug with how contract funds were managed in Skynet v1.0
  • v1.0: Initial release
qtum - Skynet Release

Published by Earlz about 7 years ago

This release was for v1.0, please see the new release page for Skynet v1.1: https://github.com/qtumproject/qtum/releases/tag/testnet-skynet-v1.1

qtum - Sparknet Release

Published by Earlz over 7 years ago

Qtum is a decentralized blockchain project built on Bitcoin's UTXO model, but with support for Ethereum Virtual Machine based smart contracts. It achieves this through the revolutionary Account Abstraction Layer. For more general information about Qtum as well as links to join our community, go to https://qtum.org

Welcome to Qtum Sparknet, the first public testnet for the Qtum blockchain. Sparknet is designed primarily for developers, and as such documentation at this point will be technical and suited more for developers. The mainnet is expected to be released in September and will be suited for the general public. Testnet tokens do not hold any value and should not be traded for any monetary instruments. The testnet can be reset or forked at anytime as deemed necessary for development. Sparknet does not include support for Mutualized Proof Of Stake, or for the Decentralized Governance Protocol. Both of these features are implemented, and their code is available on alternative branches (check the pull requests), but have not been tested and proven stable enough to include in this testnet. They will be implemented in the 2nd public testnet for Qtum.

For more technical information for how to start developing with Qtum Sparknet, please read the Sparknet Guide

Quickstart

Build on Ubuntu

This is a quick start script for compiling Qtum on  Ubuntu


sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

# If you want to build the Qt GUI:
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

git clone https://github.com/qtumproject/qtum
cd qtum
# Update cpp-ethereum submodule
git submodule update --init --recursive 

# Note autogen will prompt to install some more dependencies if needed
./autogen.sh
./configure 
make -j2

Build on OSX

The commands in this guide should be executed in a Terminal application.
The built-in one is located in /Applications/Utilities/Terminal.app.

Preparation

Install the OS X command line tools:

xcode-select --install

When the popup appears, click Install.

Then install Homebrew.

Dependencies

brew install cmake automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf qt libevent

NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.

Build Qtum Core

  1. Clone the qtum source code and cd into qtum

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

    make check
    

Run

Then you can either run the command-line daemon using src/qtumd and src/qtum-cli, or you can run the Qt GUI using src/qt/qtum-qt

2Gb of RAM is recommended for building Qtum. If you encounter internal compiler errors or out of memory errors in autogen, then you can modify the last line of autogen to be something like:

make -j1

This will disable multicore building of some cpp-ethereum dependencies