Browse Source

Error detected in instructions

Not a Double SHA512... is a double SHA256 !
PascalCoin 8 years ago
parent
commit
d1f6463ef1
1 changed files with 22 additions and 14 deletions
  1. 22 14
      HOWTO_DEVELOP_GPU_MINER_FOR_PASCALCOIN.txt

+ 22 - 14
HOWTO_DEVELOP_GPU_MINER_FOR_PASCALCOIN.txt

@@ -1,7 +1,12 @@
+(Updated on 2016-10-10 v2)
+
+
 What do you need to develop a GPU miner for PascalCoin
 What do you need to develop a GPU miner for PascalCoin
 
 
 
 
-(If you like it, make a donation to PascalCoin project: BTC 16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk ... Thanks! The PascalCoin dev.)
+"If you like it, make a donation to PascalCoin project: 
+BTC 16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk 
+... Thanks! The PascalCoin dev."
 
 
 
 
 **************************
 **************************
@@ -20,8 +25,7 @@ Second:  Test JSON-RPC server
 - You will receive a "miner-notify" message written in JSON-RPC (version 1.0)
 - You will receive a "miner-notify" message written in JSON-RPC (version 1.0)
 
 
 Example of JSON-RPC received: (Note: JSON-RPC has no whitespaces)
 Example of JSON-RPC received: (Note: JSON-RPC has no whitespaces)
-{"method":"miner-notify","params":[{"block":20110,"version":1,"part1":"8F4E0000C                     A022000DC01BE5ACD50092CA653D0763CCCE7A9E408908B2F7D177C080C78186D3558FC2000A48CE                     C0E7031689D40AF8C7C73330E06E27788F0339729F53A3AF4ED47C2E45040420F000000000001000                     000B74D7926","payload_start":"546573744A534F4E32","part3":"0D1F997AB584AF8A86476                     135A9F091073A3FE28A6A07D4112BF8595144F0E666E3B0C44298FC1C149AFBF4C8996FB92427AE4                     1E4649B934CA495991B7852B85500000000","target":645483959,"target_pow":"0000000003                     0D6490000000000000000000000000000000000000000000000000","timestamp":1476103385}]                     
-,"id":null}
+{"method":"miner-notify","params":[{"block":20110,"version":1,"part1":"8F4E0000CA022000DC01BE5ACD50092CA653D0763CCCE7A9E408908B2F7D177C080C78186D3558FC2000A48CEC0E7031689D40AF8C7C73330E06E27788F0339729F53A3AF4ED47C2E45040420F000000000001000000B74D7926","payload_start":"546573744A534F4E32","part3":"0D1F997AB584AF8A86476135A9F091073A3FE28A6A07D4112BF8595144F0E666E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B85500000000","target":645483959,"target_pow":"00000000030D6490000000000000000000000000000000000000000000000000","timestamp":1476103385}],"id":null}
 
 
 - while connected, everytime a change in PoW calculation is produced, you will receive a "miner-notify" message
 - while connected, everytime a change in PoW calculation is produced, you will receive a "miner-notify" message
 
 
@@ -88,18 +92,17 @@ Third:  How to generate a valid nonce
 
 
 Take a look at "miner-notify" params (message received from server)
 Take a look at "miner-notify" params (message received from server)
 
 
-{"method":"miner-notify","params":[{"block":20110,"version":1,"part1":"8F4E0000C                     A022000DC01BE5ACD50092CA653D0763CCCE7A9E408908B2F7D177C080C78186D3558FC2000A48CE                     C0E7031689D40AF8C7C73330E06E27788F0339729F53A3AF4ED47C2E45040420F000000000001000                     000B74D7926","payload_start":"546573744A534F4E32","part3":"0D1F997AB584AF8A86476                     135A9F091073A3FE28A6A07D4112BF8595144F0E666E3B0C44298FC1C149AFBF4C8996FB92427AE4                     1E4649B934CA495991B7852B85500000000","target":645483959,"target_pow":"0000000003                     0D6490000000000000000000000000000000000000000000000000","timestamp":1476103385}]                     
-,"id":null}
+{"method":"miner-notify","params":[{"block":20110,"version":1,"part1":"8F4E0000CA022000DC01BE5ACD50092CA653D0763CCCE7A9E408908B2F7D177C080C78186D3558FC2000A48CEC0E7031689D40AF8C7C73330E06E27788F0339729F53A3AF4ED47C2E45040420F000000000001000000B74D7926","payload_start":"546573744A534F4E32","part3":"0D1F997AB584AF8A86476135A9F091073A3FE28A6A07D4112BF8595144F0E666E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B85500000000","target":645483959,"target_pow":"00000000030D6490000000000000000000000000000000000000000000000000","timestamp":1476103385}],"id":null}
 
 
 You need this params:
 You need this params:
-"block": This is the next block number to generate... you will not use it
-"version": This is the PascalCoin core version. If in future it changes... you would need to develop a new GPU miner... check that allways is 1
-"part1" : This is a Hexa string, you must convert it to RAW and store to a buffer called "buffer_part1"
-"payload_start": This is the miner name included in the payload when mining. You can ADD characters (only from ASCII from 23 to 255). Store it in a buffer "buffer_payload"
-"part3" : equal to part1
-"timestamp": This is the server timestamp. You must use allways a timestamp equal or higher than the server... so... be synchronized
-"target_pow": This is a hexa string with the PoW target you must to generate
-"target": This is the target in original format. You will not use it.
+- "block": This is the next block number to generate... you will not use it
+- "version": This is the PascalCoin core version. If in future it changes... you would need to develop a new GPU miner... check that allways is 1
+- "part1" : This is a Hexa string, you must convert it to RAW and store to a buffer called "buffer_part1"
+- "payload_start": This is the miner name included in the payload when mining. You can ADD characters (only from ASCII from 23 to 255). Store it in a buffer - "buffer_payload"
+- "part3" : equal to part1
+- "timestamp": This is the server timestamp. You must use allways a timestamp equal or higher than the server... so... be synchronized
+- "target_pow": This is a hexa string with the PoW target you must to generate
+- "target": This is the target in original format. You will not use it.
 
 
 
 
 Then, your GPU miner, must do this:
 Then, your GPU miner, must do this:
@@ -108,7 +111,7 @@ Create a buffer with:
 "buffer_part1" + "buffer_payload" + "buffer_part3" + UNIX_TIMESTAMP + NONCE
 "buffer_part1" + "buffer_payload" + "buffer_part3" + UNIX_TIMESTAMP + NONCE
 (UNIX_TIMESTAMP and NONCE are 32bits unsigned integers, saved in LITTLE ENDIAN)
 (UNIX_TIMESTAMP and NONCE are 32bits unsigned integers, saved in LITTLE ENDIAN)
 
 
-Make a Double SHA512 and save it to "buffer_pow"
+Make a Double SHA256 and save it to "buffer_pow"
 
 
 Check if "buffer_pow" is lower or equal to "target_pow" provided by server in "miner-notify"
 Check if "buffer_pow" is lower or equal to "target_pow" provided by server in "miner-notify"
 
 
@@ -116,6 +119,11 @@ If NO, then create a new buffer changing NONCE or UNIX_TIMESAMP (or also, adding
 If YES: Submit a "miner-submit" like example 4... and check if you win
 If YES: Submit a "miner-submit" like example 4... and check if you win
 
 
 
 
+REMEMBER: buffer_payload only accepts ASCII chars from 32 to 254, must start exactly than "payload_start" param, and can be length max of 255 bytes.
+
+NOTE: PascalCoin.exe will provide the miner name at "payload_start" plus a number indicating which client is mining. If there are 2 clients, and Miner name is "MyMiner" first will have "MyMiner1" and second "MyMiner2".
+
+
 THAT'S ALL!!!
 THAT'S ALL!!!
 
 
 If you like it, make a donation to PascalCoin project: BTC 16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk
 If you like it, make a donation to PascalCoin project: BTC 16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk