As illustrated below, solo miners typically use
dashd to get new transactionstransactions - A transaction spending satoshis. from the networknetwork - The Dash P2P network which broadcasts transactions and blocks.. Their mining software periodically polls
dashd for new transactions using the
getblocktemplate RPC, which provides the list of new transactions plus the public keypublic key - The public portion of a keypair which can be used to verify signatures made with the private portion of the keypair. to which the coinbase transactioncoinbase transaction - The first transaction in a block. Always created by a miner, it includes a single coinbase. should be sent.
The mining software constructs a block using the template (described below) and creates a block headerblock header - An 80-byte header belonging to a single block which is hashed repeatedly to create proof of work.. It then sends the 80-byte block header to its mining hardware (an ASIC) along with a target thresholdtarget threshold - The target is the threshold below which a block header hash must be in order for the block to be valid, and nBits is the encoded form of the target threshold as it appears in the block header. (difficulty setting). The mining hardware iterates through every possible value for the block header nonce and generates the corresponding hash.
If none of the hashes are below the threshold, the mining hardware gets an updated block header with a new merkle rootmerkle root - The root node of a merkle tree, a descendant of all the hashed pairs in the tree. Block headers must include a valid merkle root descended from all transactions in that block. from the mining software; this new block header is created by adding extra nonce data to the coinbase field of the coinbase transaction.
On the other hand, if a hash is found below the target threshold, the mining hardware returns the block header with the successful nonce to the mining software. The mining software combines the header with the block and sends the completed block to
dashd to be broadcast to the network for addition to the block chain.
Updated about a year ago