Quantum Coin logo
Quantum Coin logo
Quantum Coin logo
  • Home
  • quantumcoin.org
  • Block Explorer
  • Community
    • Telegram
      Telegram

      @QuantumCoin

    • Discord
      Discord

      discord.gg/bbbMPyzJTM

    • Twitter
      Twitter (X)

      @TheQuantumCoin

    • Reddit
      Reddit

      /r/TheQuantumCoin

Quantum Coin Docs

  • Quantum Coin homeHome
  • Quantum Coin Vision PaperVision
  • Quantum Coin WhitepapersWhitepapers
    • Quantum Resistance
    • Consensus (PoS)
    • Data Availability
    • Allocation
    • Heisen GameChain
  • Quantum Coin DetailsDetails
    • Smart Contracts
    • Dynamic TPS
    • Block Explorer
    • Desktop Wallet
    • Android Wallet
    • Connecting To Mainnet
    • Validator Staking
    • SDK
    • FAQ
  • Quantum Coin LinksLinks
  • Quantum Coin Github source code, documentationGithub
  • Quantum Coin homeHome
  • Quantum Coin Vision PaperVision
  • Quantum Coin WhitepapersWhitepapers
    • Quantum Resistance
    • Consensus (PoS)
    • Data Availability
    • Allocation
    • Heisen GameChain
  • Quantum Coin DetailsDetails
    • Smart Contracts
    • Dynamic TPS
    • Block Explorer
    • Desktop Wallet
    • Android Wallet
    • Connecting To Mainnet
    • Validator Staking
    • SDK
    • FAQ
  • Quantum Coin LinksLinks
  • Quantum Coin Github source code, documentationGithub

Validator staking, deposit and withdrawal

Important, please read before proceeding
  1. This is blockchain software. Do not use on a computer or device with sensitive or important personal data. Using this software will require opening firewall ports. Using this software may result in heavy internet data usage. Use at your own risk.
  2. After depositing, if you want to withdraw the coins, you will have to wait for 256000 blocks from the block from which the withdrawal was initiatied. This can be upto 60 days or more. This is for security reasons.
  3. Block Rewards are enabled only from a block that roughly co-incides with April 14th 2024, World Quantum Day. Unless you run the validator node, you will not get block rewards.
  4. You will have to update the latest node client software around the first week of April 2024, to take in bug fixes, new features and updates. After that, you will have to periodically update the node client software, when new features or updates or bug fixes are made.
  5. After depositing coins, if you do not run the validator node, you may loose coins to slashing and might not be able to recover your original deposit amount. The slashing is enabled from a block that roughly co-incides with April 14th 2024, World Quantum Day.
  6. If you had already registered as a genesis validator, these steps are not applicable. You may start validating by following the instructions at Connecting to the mainnet as a validator.
Recommended hardware and internet configuration
  • SSD disk with atleast 1 TB of free space
  • 8 Cores
  • 16 GB RAM
  • 100 Mbps upload and download speed
Minimal hardware and internet configuration
  • SSD disk with atleast 512 GB of free space
  • 4 Cores
  • 8 GB RAM
  • 50 Mbps upload and download speed
Common steps for depositing and withdrawal
  1. Pre-requisite; your computer should be connected to the mainnet. Instructions at: Connecting To Mainnet.
  2. Wait for all blocks to get downloaded from the previous step before proceeding to subsequent steps. You can check the latest block at QuantumScan.com. If you try to run the next set of steps before all blocks are downloaded, you might get gas related errors and potential slashings.
  3. Open the appropriate shell window. Do not close the other shell window in which the mainnet is connected to.

    Windows
    Open Command Prompt
    Mac
    Open Terminal
    Linux
    Open Terminal
  4. Change to the folder where the blockchain node client is located.

    Windows
    cd c:\dp
    Mac
    cd $HOME/dp
    Linux
    cd $HOME/dp
  5. This step is specific to Mac and Linux. Set the environment variable to the required library path. Remember that if you open a new Terminal window anytime, you will need to run this command again, to set the environment variable. You might want to add this environment variable to your shell profile.

    Mac
    export DYLD_LIBRARY_PATH=$HOME/dp
    Linux
    export LD_LIBRARY_PATH=$HOME/dp
  6. Set the environment variables to point to the data folder and DP_RAW_URL.

    Windows
    set DP_KEY_FILE_DIR=c:\dp\data\keystore
    set DP_RAW_URL=\\.\pipe\geth.ipc
    Mac
    export DP_KEY_FILE_DIR=$HOME/dp/data/keystore
    export DP_RAW_URL=$HOME/dp/data/geth.ipc

    In case you get any error related to DP_RAW_URL, try the following instead:

    export DP_RAW_URL=~/.ethereum/geth.ipc
    Linux
    export DP_KEY_FILE_DIR=$HOME/dp/data/keystore
    export DP_RAW_URL=$HOME/dp/data/geth.ipc

    In case you get any error related to DP_RAW_URL, try the following instead:

    export DP_RAW_URL=~/.ethereum/geth.ipc
Depositing
  1. Pre-requisite; you should already have a quantum wallet with coins for staking. A minimum of 5,000,000 (5 million) coins are required for staking. It is recommended you deposit atleast 5,500,000 coins to account for any slashing when setting up validation.
  2. If you used the Desktop Wallet app to manage your quantum coins, click the Wallets option on the left bottom corner, then use the Backup option to save the wallet file into the keystore folder (see previous step for where this folder is located)
  3. Create a quantum wallet for validating. This wallet will henceforth be called as the validator wallet. This wallet is different from the wallet from which you will be depositing the coins for staking. You will be prompted to enter a password. Ensure you use a strong password atleast 16 characters in length. You should never forget your password. If you don't remember it, the wallet will be useless and you cannot access any coins or tokens inside it.

    Windows
    dp --datadir data account new
    Mac
    ./dp --datadir data account new
    Linux
    ./dp --datadir data account new
  4. Once you execute the above command successfully, the quantum wallet will be created. Note down the address of this wallet from the output of the above command. This will be your validator quantum address.
  5. You will also notice that a file has been created under the data\keystore location. This is your quantum wallet. An example is shown below:
    Example: Path of the secret key file: data\keystore\UTC--2024-01-13T21-09-56.375263700Z--a553b8935988e6260b6e3c3ff5b340ee478b504b7166b4881365a9153c80a78c
  6. Backup the above wallet file in 3 different offline devices as explained in Prepare your device. You should not proceed to remaining steps until you backup the wallet.
  7. Remember that you will always need the password to use the wallet. If you don't remember it, the wallet will be useless and you cannot access any coins or tokens inside it. Consider noting down this password safely offline in a trusted location.
  8. Likewise, even if you remember the password, if the wallet file is lost or corrupted, you cannot access any coins or tokens. If the wallet is stolen and the password is not strong, the attacker can get all the coins or tokens in your wallet. Hence you should keep your wallet well protected.
  9. Copy the quantum wallet from which you are depositing the coins from, into the data\keystore folder.
  10. Run the following command to deposit coins.
    Replace DEPOSITOR_ADDRESS with the address of the wallet that has the coins to deposit. Ensure this wallet also has additional coins for gas fees for the transaction.
    Replace VALIDATOR_ADDRESS with the address of the wallet for validating as specified in step 2.
    Replace DEPOSITOR_AMOUNT with the number of coins you want to deposit. You should leave atleast 10000 coins in your account instead of depositing all coins; this is for gas fees for this deposit transaction and also future transactions when you want to withdraw the deposited coins.

    Windows
    dputil stakingdeposit DEPOSITOR_ADDRESS VALIDATOR_ADDRESS DEPOSITOR_AMOUNT
    Mac
    ./dputil stakingdeposit DEPOSITOR_ADDRESS VALIDATOR_ADDRESS DEPOSITOR_AMOUNT
    Linux
    ./dputil stakingdeposit DEPOSITOR_ADDRESS VALIDATOR_ADDRESS DEPOSITOR_AMOUNT
  11. If the above command is successful, you should see a confirmation message. After about 10 minutes, you may check the despoit balance by following the steps in the section below: Checking Staking Balance.
  12. You should proceed to immediately run the validator node by following the steps in . Otherwise you might loose coins due to inactivity slashing.
  13. You should move the depositor quantum wallet to a different device and also keep multiple backups offline. You shouldn't keep the depositor quantum wallet in the same computer that is running the blockchain node. Only the validator wallet should be kept on this computer. If you loose your depositor quantum wallet or forgot the password or it gets stolen, even if you have the validator wallet, you will not be able to get your deposited coins back. Keep both your depositor and validator wallets safe!
Checking Staking Details, Mining Rewards etc.
  1. Pre-requisite; you should already have staked coins and the validator node is running.
  2. You can check the staked balance by running the following command, replacing VALIDATOR_ADDRESS with your validator wallet address.

    Alternatively, you can also search by your validator or depositor address in the Block Explorer.

    Windows
    dputil getstakingdetails VALIDATOR_ADDRESS
    Mac
    ./dputil getstakingdetails VALIDATOR_ADDRESS
    Linux
    ./dputil getstakingdetails VALIDATOR_ADDRESS
Validator Options using Desktop Wallet
You can increase deposit, withdraw, pause and resume validation using the latest Desktop Wallet. Once installed and configured, add your depositor wallet to the desktop wallet. Then use the "Validator Options" under Settings.
Increasing Deposit
  1. Pre-requisite; you should already have staked coins and the validator node is running.
  2. You can increase your staked coins by running the following command, replacing DEPOSITOR_ADDRESS with your depositor address and ADDITIONAL_DEPOSIT_AMOUNT with the additional number of coins you would like to deposit.

    You should always leave about 100,000 coins in your depositor wallet for gas fees in the future when withdrawing coins or mined rewards coins.

    Windows
    dputil increasedeposit DEPOSITOR_ADDRESS ADDITIONAL_DEPOSIT_AMOUNT
    Mac
    ./dputil increasedeposit DEPOSITOR_ADDRESS ADDITIONAL_DEPOSIT_AMOUNT
    Linux
    ./dputil increasedeposit DEPOSITOR_ADDRESS ADDITIONAL_DEPOSIT_AMOUNT
Withdrawing
  1. Pre-requisite; you should already have deposited coins for staking.
  2. Copy the depositor quantum wallet under the data\keystore folder if not already copied.
  3. You can initiate the withdrawal of mined coins (block rewards) by running the following command after block 421888 (before this block, the command was different).

    Alternatively, you can also withdraw partially including deposit amount, by running the second command. You have to be careful since giving a large amount (number of coins) can cause your balance to go below the 5 million threshold that is required to become a validator.

    Windows
    Withdraw Rewards
    dputil initiatewithdrawalrewards DEPOSITOR_ADDRESS
    Alternate: Withdraw Partial Coins
    dputil initiatepartialwithdrawal DEPOSITOR_ADDRESS AMOUNT
    Mac
    Withdraw Rewards
    ./dputil initiatewithdrawalrewards DEPOSITOR_ADDRESS
    Alternate: Withdraw Partial Coins
    ./dputil initiatepartialwithdrawal DEPOSITOR_ADDRESS AMOUNT
    Linux
    Withdraw Rewards
    ./dputil initiatewithdrawalrewards DEPOSITOR_ADDRESS
    Alternate: Withdraw Partial Coins
    ./dputil initiatepartialwithdrawal DEPOSITOR_ADDRESS AMOUNT
  4. If the above command is successful and the deposit completes, you can withdraw the staked coins after 32000 blocks have been mined, by running the following command. This can be upto 7 days or more as of current block times.

    Windows
    For withdrawals initiated after block 421888
    dputil completepartialwithdrawal DEPOSITOR_ADDRESS
    Alternate: For withdrawals initiated before block 421888
    dputil completewithdrawal DEPOSITOR_ADDRESS
    Mac
    For withdrawals initiated after block 421888
    ./dputil completepartialwithdrawal DEPOSITOR_ADDRESS
    Alternate: For withdrawals initiated before block 421888
    ./dputil completewithdrawal DEPOSITOR_ADDRESS
    Linux
    For withdrawals initiated after block 421888
    ./dputil completepartialwithdrawal DEPOSITOR_ADDRESS
    Alternate: For withdrawals initiated before block 421888
    ./dputil completewithdrawal DEPOSITOR_ADDRESS
Pausing and Resuming Validation
  1. Pre-requisite; you should already have staked coins and the validator node is running.
  2. If you have to stop your validator node for maintenance, you can pause and resume validation. This not only helps the blockchain reduce unnecessary time spent waiting for your validator node, but also will prevent slashing (penalty) in the future.

    Windows
    Pausing Validation
    dputil pausevalidation DEPOSITOR_ADDRESS
    Resuming Validation
    dputil resumevalidation  DEPOSITOR_ADDRESS
    Mac
    Pausing Validation
    ./dputil pausevalidation DEPOSITOR_ADDRESS
    Resuming Validation
    ./dputil resumevalidation DEPOSITOR_ADDRESS
    Linux
    Pausing Validation
    ./dputil pausevalidation DEPOSITOR_ADDRESS
    Resuming Validation
    ./dputil resumevalidation DEPOSITOR_ADDRESS
Changing Validator Wallet
  1. Pre-requisite; you should already have staked coins and the validator node is running.
  2. Sometimes you might want to change the validator wallet, for example if it was compromised (stolen). You can run the following command to change the validator wallet.

    Ensure that you restart the validator node with the new validator wallet (refer to steps earlier in this document). Move the old validator wallet to a different location before starting the node again. Future improvements will be made to this process to avoid the node restart when changing validator wallets.

    Windows
    Pausing Validation
    dputil changevalidator DEPOSITOR_ADDRESS NEW_VALIDATOR_ADDRESS
    Mac
    ./dputil changevalidator DEPOSITOR_ADDRESS NEW_VALIDATOR_ADDRESS
    Linux
    ./dputil changevalidator DEPOSITOR_ADDRESS NEW_VALIDATOR_ADDRESS
Quantum Coin Vision
Vision

The Vision of Quantum Coin.

Quantum Coin Quantum Resistance
Quantum Resistance

Quantum Resistance in the Quantum Coin blockchain.

Quantum Coin Blockchain Smart Contracts
Smart Contracts

Smart Contract support in the Quantum Coin blockchain.

Quantum Coin Proof-of-Stake consensus
Consensus

Proof of Stake consensus.

Data Availability in Quantum Coin Blockchain
Data Availability

Data Availability, long term and short term.

Quantum Coin Blockchain Allocation
Blockchain Allocation

Bitcoin + Ethereum + Dogecoin + DogeP multi-fork.

Dynamic Transactions Per Second model, Quantum Coin Blockchain
Dynamic TPS

Dynamic Transactions Per Second model.

Quantum Coin Block Explorer
Block Explorer

QuantumScan.com

Quantum Coin Github source code, documentation
Github

Source code, documentation are maintained in Github.

Quantum Coin Improvement Proposals
QCIPs

Quantum Coin Improvement Proposals

Help

Quantum Coin is developed and maintained by an open community. Hop on to the community discord server for help with development.

On this page:
Documentation Introduction Help!

quantumcoin.org