QuarkChain Root Chain PoSW Stake Mining Tutorial

We just published the QuarkChain Root Chain PoSW Stake Mining Tutorial. Here’s the complete article. You can also find it on our official website.


  • Staker and staker address: The participant deposits and stakes QKC to mine in the root chain. The staker address owns the staked QKC. The staked QKC will be locked at least 3 days until available for withdrawal.
  • Signer: After the stake, the staker can designate a miner (and its address) to mine with its staked QKC. This can prevent malicious attackers from attacking the network by using the staked QKC.
  • PoSW hash power benefit: Miners who meet the PoSW requirements can enjoy a benefit of 10,000 times hash power.
  • Attack penalty: If someone is found to attack the network through PoSW mining in the root chain (such as a double-spend attack), the staked QKC may be confiscated.

Deposit and Stake QKC

Noted: This tutorial is using QuarkChain Devnet as a demonstration.

Step 1: Enter the PoSW Smart Contract Interface http://mainnet.quarkchain.io/posw, where the contract is ONLY deployed in Chain 0, Shard 0. Log in to your account. As the initial state, the private account is in Locked state, the default setting for Signer is the account itself. (Please note: After deposit QKC, it takes 3 days to until the staked QKC is available to unlock and withdraw.)

Step 2: Click the “Add Stakes” button, and stake QKC with the amount as you want. Then the root chain staking will take effect.

Once the staking is successful, you can query the staking status. As shown in the figure, after staking 1 million QKC, you can enjoy the PoSW hash power benefit of one root chain block in every 512 blocks.

Step 3: Changing the signer address. Click the “Change Signer ” button, and input your new signer address. Submit the transaction to modify your signature address.

After the modification, you can check the modified signature address:

Step 4 (Very Important): For the cluster, you need to modify the ROOT_SIGNER_PRIVATE_KEY in the JSON configuration file (mainnet/singularity/cluster_config_template.json). Fill in the private key corresponding to the signature address that you modified on Step 3. (In the future, scripts can be modified directly, or the signature server can be used to sign the dug-out root blocks.)

Withdraw Staked QKC

Step 1: Unlock the staking account. Click the “Lock/Unlock” button, then click “Generate transaction” to unlock your staking account.

After unlocking, you will find the account is under unlocked status.

Step 2: After unlocking, you have to wait three days to be able to withdraw the staked QKC. You can check the status of the contract to see the staking time. After the withdrawable time, you can submit the transaction to withdraw the staked QKC.

GPU Mining Software:

Please download the GPU mining software at : ​https://github.com/QuarkChain/ethminer/releases​​. ​If you want to PoSW mining in the root chain, please set the shard ID to 9999.