Pre-release

@Earlz Earlz released this Aug 26, 2017

Assets 18

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