Difference between revisions of "HowTo run PoW CPU Miner"

From Veriblock Wiki
Jump to: navigation, search
(Created page with "See: HowTo_run_PoW_Miner ==Overview== The PoW Miner helps get the next block added to the VeriBlock blockchain. It will connect to a local instance of NodeCore, using UC...")
 
Line 81: Line 81:
 
=== Can I pass in arguments from the command line? ===
 
=== Can I pass in arguments from the command line? ===
  
No (nor is there a config file that can be edited)
+
Yes.
 +
 
 +
Add config file next to nodecore-pow.bat: '''nodecore_miner_pow.properties''', and it will automatically pick up values and run:
 +
 
 +
<pre>
 +
#PoW Miner Configuration
 +
miner.threadcount=2
 +
miner.address=VC8H4BPSKfKkg1CNK2yKr9P6MD9Zh7
 +
miner.host=127.0.0.1:8501
 +
</pre>
  
 
== Troubleshooting ==
 
== Troubleshooting ==

Revision as of 13:45, 14 June 2018

See: HowTo_run_PoW_Miner

Overview

The PoW Miner helps get the next block added to the VeriBlock blockchain. It will connect to a local instance of NodeCore, using UCP on port 8501.

You can run the PoW Miner as an individual, or connect to a pool (See: HowTo_run_and_connect_to_PoW_Miner_pool)

This page explains how to run the PoW Miner as an individual.

Note that PoW Mining is separate from Proof-of-Proof (PoP) Mining. Both reward VBK tokens, but are different operations. (See: HowTo_run_PoP_Miner, PoW_vs_PoP_Mining)


Steps

Note: If you are having trouble running nodecore-reference-pow on linux, you may need to make nodecore-reference-pow executable: chmod a+x nodecore-reference-pow

  1. Ensure that nodecore is running (see: HowTo_run_NodeCore)
  2. In the NodeCore CLI, run the "startpool" command. This will start the UCP NodeCore protocol on port 8501, which the miner needs.
  3. Unzip nodecore-reference-pow.zip
  4. In the bin folder, if Windows then run nodecore-reference-pow.bat, if linux then run nodecore-reference-pow
  5. Enter the input arguments
    1. How many threads would you like to mine on? --> such as 2 or 8.
    2. What host:port would you like to connect to for mining? --> 127.0.0.1:8501
    3. What address would you like to mine to? --> the default address for your local instance of nodecore, such as "V6RRxmzJAhLkeWTzcFzQkQEgP2hC1e". Run getinfo in the commandline to see the default address.

The Startup console output will prompt for input:

If running a local NodeCore instance, then use the NodeCore CLI to run the command: startpool
How many threads would you like to mine on?
2
What host:port would you like to connect to for mining? (Use the port for UPC. Default 127.0.0.1:8501)
127.0.0.1:8501
What address would you like to mine to?
V34RwWk5CEp5uE8L4SSpJWcwN29dKu

And then dump output like:

Note: server capabilities are 10011111111
Authentication successful!
Mining subscription successful!
Initial job: {"command":"MINING_JOB","request_id":{"type":"REQUEST_ID","data":1312098332},"job_id":{"type":"JOB_ID","data":0},"block_version":{"type":"BLOCK_VERSION","data":1},"previous_block_hash":{"type":"BLOCK_HASH","data":"000000011BA344746B3E0C3C86943BB4B453AAC0305854F2"},"pool_address":{"type":"ADDRESS","data":"V64wSk4Ag6a3dnGAU3M3CNdqLAnDsa"},"merkle_root":{"type":"TOP_LEVEL_MERKLE_ROOT","data":"211C2A34FD8FCB383D9597C71DBE05E27EF35B28377590AC"},"timestamp":{"type":"TIMESTAMP","data":1525038678},"difficulty":{"type":"DIFFICULTY","data":72017977},"mining_target":{"type":"TARGET","data":"000000ffffffffffffffffffffffffffffffffffffffffff"},"ledger_hash":{"type":"LEDGER_HASH","data":"F08396AB15DE7A70DD5C4CA590409B6908AA34BBB7790702"},"coinbase_txid":{"type":"TRANSACTION_ID","data":"0F257194F1598EE5A1C112CCE792E5A5B68746E1CC0B483D22BDA8DA18090444"},"pop_datastore_hash":{"type":"POP_DATASTORE_HASH","data":"F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B"},"miner_comment":{"type":"MINER_COMMENT","data":"Default NodeCore Pool Software"},"pop_transaction_merkle_root":{"type":"INTERMEDIATE_LEVEL_MERKLE_ROOT","data":"0000000000000000000000000000000000000000000000000000000000000000"},"normal_transaction_merkle_root":{"type":"INTERMEDIATE_LEVEL_MERKLE_ROOT","data":"38853B3A9E1C2062067C4395F5AB511999DC3323CB37488DDE3FDA91658F9C63"},"extra_nonce_start":{"type":"EXTRA_NONCE","data":2000000},"extra_nonce_end":{"type":"EXTRA_NONCE","data":2999999}}
Starting thread 0...
Starting thread 1...
Current Hashrate: 0.000 MH/s        VALID: 0        INVALID: 0
Current Hashrate: 0.690 MH/s        VALID: 0        INVALID: 0

Upon submitting a share, the console will output something like below. Note this is not a guarantee of a reward.

Current Hashrate: 0.673 MH/s        VALID: 0        INVALID: 0
Share on thread 1 on block 000000011BA344746B3E0C3C86943BB4B453AAC0305854F2
*** Miner submitted share (partial block) to pool ***
        Nonce: 4559309
        Timestamp: 1525038685
        Job Id: 0
        Block Hash: 000000CD8C333FB41F490B38DAA1A8695AF6B85502E38EDD
        Previous Block Hash: 000000011BA344746B3E0C3C86943BB4B453AAC0305854F2
Update: {"command":"MINING_SUBMIT_SUCCESS","request_id":{"type":"REQUEST_ID","data":700641749}}
Share successfully submitted!
Current Hashrate: 0.644 MH/s        VALID: 1        INVALID: 0
Current Hashrate: 0.588 MH/s        VALID: 1        INVALID: 0
Current Hashrate: 0.610 MH/s        VALID: 1        INVALID: 0


FAQ

What is the reward for PoW Mining

35 VBK per block. If pool mining, then that reward will be split among the pool.

Will there be a GPU miner?

Yes.

Can I pass in arguments from the command line?

Yes.

Add config file next to nodecore-pow.bat: nodecore_miner_pow.properties, and it will automatically pick up values and run:

#PoW Miner Configuration
miner.threadcount=2
miner.address=VC8H4BPSKfKkg1CNK2yKr9P6MD9Zh7
miner.host=127.0.0.1:8501

Troubleshooting

The PoW Miner instantly crashes

Try running the PoW Miner from a command line (instead of just clicking "nodecore-pow.bat") such that you'll see an error output even if the original window exits.

The most likely cause of the window instantly shutting down is that the pool has not been started. If you're running an individual miner, then go to the NC_CLI and run "startpool". (See: NodeCore_CommandLine#startpool)