Questions tagged [getblocktemplate]

A protocol to allow pools to specify a set of valid transactions but give the control over which transactions to include to miners.

The rpc call is getblocktemplate. This protocol can be used by pools to help make mining more decentralized by putting the miners in control of their own block creation. The downside is that this does not prevent pools from blacklisting, as pools can still limit miners' control via omission of valid transactions.

38 questions
13
votes
2 answers

Work distribution in a mining pool

How is work distributed among members of a pool? Regarding the block hashing algorithm and valid hashes of a new node, how is the set of solutions for nonces "distributed" among miners?Is a nonce, for example, tried out multiple times by different…
Aliakbar Ahmadi
  • 1,625
  • 1
  • 11
  • 22
7
votes
2 answers

How often should I call getblocktemplate?

I'm building a basic Bitcoin client in c# to better understand the mining protocol. I need help understanding Getblocktemplate. I have read the Getblocktemplate wiki, but I'm still having an issue understanding the protocol. The wiki states "Since…
Sarah
  • 71
  • 3
6
votes
1 answer

What is the standard protocol for pools/miners?

The Bitcoin client protocol is well documented in the Bitcoin Wiki, but I can't find much on the protocol used by pools and miners. Is it described anywhere?
ThePiachu
  • 42,931
  • 25
  • 138
  • 347
5
votes
1 answer

How does getblocktemplate select transactions?

I wrote a script that compares the transactions listed in the memory pool with the transactions included in getblocktemplate: http://learnmeabitcoin.com/explorer/node/memorypool (I've ordered the transactions by [current priority], and highlighted…
inersha
  • 2,928
  • 1
  • 17
  • 41
5
votes
2 answers

Protocols for use between mining clients and mining pool servers

Which protocols are there for mining clients to communicate with mining pool servers? How do they compare?
Dr.Haribo
  • 8,409
  • 10
  • 43
  • 62
4
votes
2 answers

Why does the mined block differ so much from the block template?

I am looking at the specific block at height 680175. At the time when the block was not mined yet, I received the block template via bitcoin-cli getblocktemplate '{"rules": ["segwit"]}' with 1451 transactions: { "capabilities": [ …
3
votes
1 answer

Why does getblocktemplate use priority for transaction selection?

I don't know how getblocktemplate works exactly, but it seems to include transactions based on priority. Selecting transactions based on priority isn't the most profitable method for building a block (as opposed to fee/byte), so is getblocktemplate…
3
votes
1 answer

Do pool servers communicate with bitcoind, and in what capacity?

I'm trying to understand how the whole process flows. Here's how I currently understand it working. Mining client -> Pool server -> Bitcoind getwork: Mining client calls getwork from Pool server, and it in turn calls getwork (or something else?)…
xil3
  • 275
  • 1
  • 3
  • 11
2
votes
1 answer

getblocktemplate fails in regtest mode even when it is connected to the other node

I have created two nodes and connected the 1st node with the 2nd node in regtest mode . Now when I make the getblocktemplate command using bitcoin-cli . It fails with bitcoin is downloading the block. Bitcoin core vs…
nirajkumar
  • 123
  • 3
2
votes
0 answers

Is my understanding of Blockhain Endianness correct?

I know questions on this topic have been asked to death in a number of different ways. I also know that what endian order refers to specifically is dependent on context. What I want are some specific clarifications, though, for peace of mind to…
2
votes
1 answer

Building the merkle root from transactions in a template block

I want to compute the merkle root for transactions in a given template block - bitcoind:getblocktemplate(). I understand the merkle root is a hash of all the transactions in a block from the last up to the coinbase transaction, but this is…
Corbin
  • 265
  • 2
  • 8
2
votes
1 answer

How does bitcoin reward who find the block?

After getting the getblocktemplate, hashing it, finding a solution and generating the proper message to submit to the blockchain, if i ever solve a block how does the network knows it was me and properly give the reward to my wallet? i heard…
2
votes
1 answer

Question about getblocktemplate

I'm having trouble understanding getblocktemplate. From https://en.bitcoin.it/wiki/Getblocktemplate, I see how to build the block header and then begin hashing by incrementing the nonce, the same as I would perform work on the result of a getwork…
dacox
  • 33
  • 5
2
votes
1 answer

Bitcoin testnet: "Bitcoin is downloading blocks..." and other problem

I'm trying to setup a local testnet with multiple nodes. Currently I have three nodes, and their mining powers are almost the same. Things have been quite ok so far, except some problems that I need to ask from you. When I run the getblocktemplate…
Loi.Luu
  • 137
  • 6
2
votes
1 answer

Mined blocks with reserved space for old utxos

I've heard that long time ago. Getblocktemplate or it's equivalent at that time reserved a small space on blocks for old utxos instead of following the rule of ordering transactions by its sat/Byte for the full block. ¿Does somebody have any…
1
2 3