HowTo Mine BTCSQ
See: VAIF
vBTC is currently in Alpha, and will change. This page is for testing purposes.
Contents
Overview
vBTC is the reference implementation for Bitcoin-based blockchains utilizing VeriBlock's Proof-of-Proof technology.
Below, you will find the steps needed to download and run the vBTC Alpha daemon.
Please note, all coins associated with this network are without value, and are for testing purposes only.
In the current implementation, we are using tVBK (testnet) to PoP mine (testnet) vBTC. vBTC inherits security from the VeriBlock TestNet, and VeriBlock TestNet inherits security from Bitcoin Testnet.
In order to PoP mine ALL 3 of the following are required to stay open and running:
1) NodeCore
2) vBitcoin
3) Altchain PoP Miner
Prerequisites:
64-bit Java
Tested using AdoptOpenJDK 8, 11, & 14 with HotSpot JVM. https://adoptopenjdk.net/
Download Packages for Windows x64
Package contains:
vBitcoin Alpha Daemon
- vbitcoin-qt.exe
- vbitcoind.exe
- vbitcoin-cli.exe
- vbitcoin-tx.exe
- vbitcoin-wallet.exe
- vbitcoin.conf
vbitcoin.conf location
Located within the vBTC-alpha-<version>/data directory.
NodeCore 0.4.9
Altchain PoP Miner 0.4.9
Configuration and First Run
NodeCore
- Sync TestNet
- While you could sync from block 0, the fastest way is using the bootstrap downloader:
- Inside the nodecore folder, double click download_testnet_bootstrap.bat and it will download the latest TestNet bootstrap and place it in the nodecore/bin/testnet folder.
- Once the bootstrap-downloader has finished, you can close the window and double click bin/nodecore.bat to start NodeCore in testnet mode.
vBTC
Running vBitcoin QT Wallet
Double click the start-vbitcoin-qt.bat file to launch the QT Wallet using the data directory, instead of the default %appdata%\vBitcoin
Generate Reward Address
APM (Altchain PoP Miner)
Edit application.conf
After unzipping the package, it can be found in altchain-pop-miner-0.4.9-<version>/bin/application.conf
Open application.conf, and update the payoutAddress to match the newly generated vBitcoin address to receive rewards.
NOTE: If you changed the vBitcoin RPC username or password, or if you are running a VeriBlock TestNet node on another machine you will want to update those fields as well.
Sample Config:
securityInheriting { vbtc: { // Valid options are round 1, 2, or 4 (any combination) Round 4 indicates a Keystone. [1,2,4] autoMineRounds: [4] payoutAddress: "tb1qdvkkx4r824wcgu92acwn88wll929jxkwey5gsd" pluginKey: btc id: 3860170 name: "vBitcoin" host: "http://localhost:18332" // Uncomment if your vBTC daemon is auth protected auth: { username: "vbitcoin" password: "AlPhATeSt!" } payoutInterval: 50 // Uncomment if you want verbose request logging #extraConfig: { # enableRequestLogging: true #} }
Start the APM
Once you have edited the application.conf file, please start the APM by double clicking altchain-pop-miner.bat within the altchain-pop-miner-0.4.9-<version>/bin/ directory.
Funding APM Wallet
When the APM starts, you will see a line similar to Send funds to the tVBK wallet V4xwrouY6UNtBEC9V8fmWaibd4taqz
You will want to fund this wallet with VeriBlock TestNet coins. You can get testnet coins from a faucet, such as bitspill's community faucet at:
https://vbk.bitspill.net
Wait for NodeCore Synchronization
Once the wallet is funded you will need to wait for NodeCore to synchronize with the VeriBlock TestNet network if it is not already.
2020-06-03 18:29:09 nc-poll INFO NodeCoreNetwork - The connected NodeCore is not synchronized, Local Block: 569652, Network Block: 569648, Block Difference: 4, waiting until it synchronizes... 2020-06-03 18:29:21 nc-poll INFO AltchainPoPMiner - The connected NodeCore is synchronized
How To PoP Mine vBTC
Run getdebuginfo to check if APM is ready
This performs several checks, such that it can connect to both NodeCore and vBTC daemons, and has a VBK balance.
>getdebuginfo Running several checks, this may take a few moments... SUCCESS - NodeCore connection: Connected SUCCESS - NodeCore synchronization status: Synchronized SUCCESS - vBitcoin connection: Connected SUCCESS - vBitcoin synchronization status: Synchronized SUCCESS - The PoP wallet contains sufficient funds
Once vBitcoin and NodeCore have synchronized, and you have funded your tVBK wallet in the APM, you can type 'mine vbtc' to submit a PoP transaction.
You may need to wait for wallet funding:
2020-06-03 18:46:06 event-list INFO TransactionMonitor - Detected incoming VBK transaction: 844A9DFFFAA1F26CA413AD4354AC4844A90053BE31C03C894C049A1CD5739119 2020-06-03 18:46:06 event-list INFO AltchainPoPMiner - Current balance: 10.00000000 tVBK 2020-06-03 18:46:06 event-list INFO AltchainPoPMiner - Miner is ready!
Submit PoP Transaction
> mine vbtc mine vbtc 2020-06-03 18:47:16 main INFO AltchainPoPMiner - Created operation [vbtc85541518] on chain vBitcoin INFO: (2020-06-03 18:47:16) [v200] Mining operation started Operation id: vbtc85541518 200 success (266.7 ms) 2020-06-03 18:47:16 pop-tasks- INFO ApmTaskService - [vbtc85541518] Getting the mining instruction... 2020-06-03 18:47:16 pop-tasks- INFO BitcoinFamilyChain - Retrieving mining instruction at height 53 from vBitcoin daemon at http://localhost:18332... 2020-06-03 18:47:16 pop-tasks- INFO ApmTaskService - [vbtc85541518] Successfully retrieved the mining instruction! 2020-06-03 18:47:16 pop-tasks- INFO ApmTaskService - [vbtc85541518] Submitting endorsement VBK transaction... 2020-06-03 18:47:16 pop-tasks- INFO ApmTaskService - [vbtc85541518] Successfully added the VBK transaction: D8A0D80B1C286B1C5B04CE6894C6BBDA0CFF23FA288D72F60DF7A48A58B66005! 2020-06-03 18:47:16 pop-tasks- INFO ApmTaskService - [vbtc85541518] Waiting for the transaction to be included in VeriBlock block...
Verify PoP Transaction on VBK TestNet Explorer
Transactions can be seen and verified at https://testnet.explore.veriblock.org/
The transaction information should match your payoutAddress you selected earlier:
Altchain Data | Example |
---|---|
Altchain | Test B (Test B) |
Identifier | 3860170 |
Endorsed Block Hash | 000000076CF8E04E16DD28FAA5831041B56CD1AF46B80959586CD754C7091E2E |
Endorsed Block Height | 53 |
Reward Address | tb1qdvkkx4r824wcgu92acwn88wll929jxkwey5gsd |
First Previous Keystone | 00000000142988A6E06E52DE0D57420D590E602D9E908731FD6AF7B09C2089B5 |
Second Previous Keystone | 000000071279A847E7C1E633651CC54FDCCAD492E13052562DAF7E71714D5B7D |
View PoP tx from start to finish
> getoperation vbtc366214b4 ... Operation workflow: DONE 1. START Created APM operation id: vbtc366214b4 DONE 2. RETRIEVE_MINING_INSTRUCTION Endorsed vBitcoin block height: 95 DONE 3. SUBMIT_ENDORSEMENT_TRANSACTION tVBK endorsement transaction id: 43B8A911BCCF8B5D20E8D6374B22555CD1A1DD22B356461EDBDD23581900C660 (fee: 0.00248000) DONE 4. CONFIRM_ENDORSEMENT_TRANSACTION DONE 5. DETERMINE_BLOCK_OF_PROOF tVBK Block of Proof: 0000000005E4E0F3A62A5FCD7852BE4EDBAC033E836B07A8 @ 583257 DONE 6. PROVE_ENDORSEMENT_TRANSACTION Merkle path has been verified DONE 7. WAIT_FOR_KEYSTONE_OF_PROOF tVBK Keystone of Proof: 000000001A1EFAB5F9890DD4182D57DF53519F5BD8676E45 DONE 8. GET_VBK_PUBLICATIONS Retrieved 14 VTBs DONE 9. SUBMIT_POP_TRANSACTION VTBs submitted to vBitcoin! vBitcoin PoP TxId: 0a3fcf3d4db23eee84c922dcd535b949ba9bb0bbf353012f8ca77128287d8640 DONE 10. WAIT_FOR_PAYOUT_BLOCK Payout detected in vBitcoin block 145 to vBitcoin address tb1qps3s9t9kz9atl6m666t57ehzy849la08wshahy! DONE 11. COMPLETED Paid amount: 47.20500000
How to upgrade
If you are already pop mining vBTC, then upgrading is relatively easy.
Get latest package. This will have 3 separate applications:
- APM
- NodeCore (needed by APM)
- vBTC daemon
Each part can be upgraded as needed. For example you may only want to upgrade to the new APM, and not change NC or vBTC.
Upgrade APM
- Shut down old APM
- Copy these files to new APM /bin folder:
- application.conf
- vbk-testnet.wallet --> this has your tVBK for sending altchain pop transactions
- Start new APM
Upgrade NodeCore
Use standard operations to upgrade NodeCore. This assumes you already have the blockchain downloaded and your property file set:
- Stop old NodeCore
- Move bin/testnet folder to new NodeCore
- Copy bin/nodecore.properties to new NodeCore
- Your folder structure will look similar to:
- /bin
- /testnet
- nodecore
- nodecore.bat
- nodecore.properties
- /bin
- Restart new NodeCore
See for detail: HowTo_run_NodeCore#How_to_upgrade_NodeCore_and_keep_your_wallet
Upgrade vBTC Daemon
- Shut down old vBTC
- Start new vBTC
Note: The new vBTC should have the same vbitcoin.conf and blockchain as before, therefore no need to update the conf or blockchain.
Note: It may take some time to resync the network. (There are known issues to optimize this).
Appendix
Helpful Links
- Github repos
- NodeCore daemon - HowTo_run_NodeCore
- How to run APM - Altchain_PoP_Miner
- VBK TestNet explorer - https://testnet.explore.veriblock.org/altchain-details/3860170
- Background Information