TON mining stratum protocol has been online:
Support Miner:
mining server:
stratum+tcp://ton.stratum.hashpool.site:9055
SSL mining server:
stratum+ssl://ton.stratum.hashpool.site:19055
lolMiner mining configuration:
lolMiner -a TON –pool stratum+tcp://ton.stratum.hashpool.site:9055 –user EQCO63C70cQlJmplvtZ7oWPosuYZdvnCO27xu-gSMOu9WRKA.worker1 –ton-mode 6
Run the following command for SSL:
lolMiner -a TON –pool stratum+ssl://ton.stratum.hashpool.site:9055 –user EQCO63C70cQlJmplvtZ7oWPosuYZdvnCO27xu-gSMOu9WRKA.worker1 –ton-mode 6
Gminer mining configuration:
miner.exe –algo ton –server ton.stratum.hashpool.site:9055 –user EQCO63C70cQlJmplvtZ7oWPosuYZdvnCO27xu-gSMOu9WRKA
Run the following command for SSL:
miner.exe –algo ton –server ton.stratum.hashpool.site:19055 –user EQCO63C70cQlJmplvtZ7oWPosuYZdvnCO27xu-gSMOu9WRKA –ssl 1
If –user uses the exchange address and a comment is required for the exchange address, –user is in the following format:
address:comment
For example: EQBfAN7LfaUYgXZNw5Wc7GBgkEX2yhuJ5ka95J1JJwXXf4a8:880593
If you use FPGA mining, you can use the above compatible protocols, or you can use hashPool FPGA mining protocol.
hashpool FPGA mining protocol
mining server:
stratum+tcp://ton.stratum.hashpool.site:9044
SSL mining server:
stratum+ssl://ton.stratum.hashpool.site:19044
mining.subscribe
- params: [“agent”, null]
- result: [null, “nonce prefix”, “nonce2 size”]
request:
{
"id": 1,
"method": "mining.subscribe",
"params": ["tonminer-v1.0.0", null]
}
response:
{
"id": 1,
"result": [null, "3e29d542", 28],
"error": null
}
nonce1 is first part of the rdata1 (in hex).
rdata1 is 32 bytes long. The miner will pick nonce2 such that len(nonce2) = 32 – len(nonce1) = 32 – 4 = 28 bytes.
mining.authorize
- params: [“username”, “password”]
- result: true
{
"id": 2,
"method": "mining.authorize",
"params": ["EQA3hKVrpll-jVAtA1KjfpaMJ7YGg44M6DQuBdBX9G5xWxOA", "x"]
}
{"id":2,"result":true,"error":null}
If username uses the exchange address and a comment is required for the exchange address, username is in the following format:
address:comment
Example: EQBfAN7LfaUYgXZNw5Wc7GBgkEX2yhuJ5ka95J1JJwXXf4a8:880593
mining.set_target
- params: [“32bytes target in hex”]
{
"id": null,
"method": "mining.set_target",
"params": ["0000020000000000000000000000000000000000000000000000000000000000"]
}
mining.notify
- params: [“jobId”, “prefix”, “GIVER_SEED”, “EXPIRED”, “WALLET_ADDRESS”, cleanJob]
{
"id": null,
"method": "mining.notify",
"params": ["17282f3f", “00f24d696e6500”, "955eaaaa2715ed593675efed082af5c2", "61f69880", "ebf5cca491c4760c1b4d9306e6aed35b17d773ab60650ed58974a84b2d0fb82c", true]
}
mining.submit
- params: [ “username”, “jobId”, “EXPIRED”, “nonce2” ]
- result: true / false
{
"id": 102,
"method": "mining.submit",
"params": ["EQA3hKVrpll-jVAtA1KjfpaMJ7YGg44M6DQuBdBX9G5xWxOA", "17282f3f", "61f69880", "eaf71970c0eaf71970c0eaf71970c0eaf71970c0eaf71970c0eaf719"]
}
{"id":102,"result":true,"error":null} // accepted share response
{"id":102,"result":false,"error":[21,"low difficulty",null]} // rejected share response
nonce2 is the second part of rdata1.
rdata1 = nonce1 + nonce2
rdata2 = rdata1
reference:https://github.com/newton-blockchain/ton/blob/master/crypto/util/Miner.cpp
In this example:
rdata1 = rdata2 = nonce1 + nonce2 = 3e29d542eaf71970c0eaf71970c0eaf71970c0eaf71970c0eaf71970c0eaf719
prefix = 00f24d696e6500
headerHash = prefix + expired + WALLET_ADDRESS + rdata1 + GIVER_SEED + rdata2
powHash = sha256(headerHash)