To enable the Miner ID 1.0 Protocol support it is required to integrate the Miner ID Generator and Node Software with the Mining Pool Software (e.g., S-NOMP Software).
The Generator's Web API integration with S-NOMP requires to adopt the following compulsory methods:
GET /opreturn/:alias/:blockHeight([0-9]+)
GET /opreturn/:alias/isvalid
POST /coinbase2
DataRefs support is an optional miner ID feature which additionally requires to integrate:
GET /datarefs/:alias/opreturns
GET /opreturn/:alias/:blockHeight([0-9]+)/:dataRefsTxId
The Node exposes compulsory RPC methods to be used by S-NOMP:
createminerinfotx
replaceminerinfotx
getminerinfotxid
To support this optional feature the Node exposes the below RPC methods to be used by S-NOMP:
createdatareftx
getdatareftxid
stn-open-miner: An example how to update the main method which directly uses the interface to configure the mining candidate job.
Use the Generator's docker image from the Docker Hub repository or install the Generator's server from a source code (see References point 1.b).
Compile and build binaries from the source code or use an official build.
Create a new Miner ID reputation chain from scratch or upgrade an existing one using CLI commands (see References point 1.a).
To allow the node to sign a miner info transaction an operator must perform an initial configuration.
-
Create a BIP-32 signing key to sign a miner info tx.
bitcoin-cli makeminerinfotxsigningkey
-
Get the miner info funding address.
bitcoin-cli getminerinfotxfundingaddress
-
Send some minimal BSV amount to the miner info funding address, e.g., using:
bitcoin-cli sendtoaddress "address" "amount"
Note: 1 Satoshi is enough because miner-info and datarefs transactions pay no fee.
- Configure the node to use the miner info funding outpoint.
bitcoin-cli setminerinfotxfundingoutpoint "txid" "n"
Note: The correct value for the
"n"
parameter can be checked by executing thebitcoin-cli getrawtransaction "txid"
command and then decoding the returned raw transaction using thedecoderawtransaction
RPC command - to see at which index the funding output is defined.
In result, the node creates and configures .minerinfotxsigningkey.dat and minerinfotxfunding.dat files available under ~/.bitcoin/network_name/miner_id/Funding/
directory.
Make an independent funding configuration, on each of the mining nodes, to allow the mining pool to work on the same Miner ID reputation chain.
- Miner ID Generator
- Miner ID 1.0 Protocol