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.

Filter by
Sorted by
Tagged with
11
votes
2answers
2k views

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, ...
6
votes
1answer
3k views

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?
5
votes
1answer
583 views

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 ...
5
votes
2answers
1k views

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 ...
4
votes
2answers
7k views

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?
3
votes
1answer
776 views

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 ...
3
votes
1answer
384 views

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 ...
2
votes
1answer
296 views

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 ...
2
votes
1answer
285 views

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. ...
2
votes
1answer
1k views

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 ...
2
votes
0answers
193 views

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 ...
1
vote
2answers
78 views

Where does this pattern in the feerate distribution per block originate from?

While building a tool/visualization that displays the feerate of a transaction according to it's position in a given block I came across a patter in some blocks. I expect a typical block to start ...
1
vote
1answer
605 views

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 ...
1
vote
2answers
4k views

How to hash data from 'getblocktemplate' request

I've been reading lots of articles, trying to understand how to hash the data returned from getwork; but I totally overlooked getblocktemplate. I'm just trying to understand how all the data below is ...
1
vote
1answer
931 views

Should I use getwork or getblocktemplate

I am working on an fpga mining device just for fun. I realized that there is a getblocktemplate function which replaces the getwork Json-rpc call. So do I need to switch over to it and change all the ...
1
vote
1answer
171 views

reconstruct block template from stratum mining.notify

I have a mining notification from a stratum pool. I wish to write a general script to extract the value of the block reward that the pool is taking. That is, reconstruct the block template, or at ...
1
vote
2answers
1k views

How i can delete last block from blockchain? altcoin

How can I delete the last block from blockchain to be ready for hardfork. What I mean is, in blockchain last block is with error's. I want to delete those blocks, for the new blockchain is disabled ...
1
vote
1answer
145 views

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 ...
1
vote
1answer
888 views

Difference between coinbaseaux.flags vs. coinbasetxn.data?

After reading through most of the protocol, and trying to piece everything together, I'm still at a loss as to how some things work. For example, the difference between coinbaseaux.flags and ...
1
vote
0answers
308 views

Does Stratum cause mining to be more centralized than getBlockTemplate would?

I read the question "I don't understand the "51% attack" problem. Why does a mining pool have power with a 51% share?" and its anwers. That made me wonder that since the GBT protocol is ...
0
votes
1answer
42 views

Block version 0x20000000

When i run getblocktemplate, Bitcoind gives me in the version field a decimal number, when i convert it to Hex it's 20000000 I know it must be in little endian, but to build the blockheader must i put ...
0
votes
1answer
33 views

getblocktemplate request that omits transactions?

Is there a way to make a getblocktemplate request that returns only the bits/target, or at least omits all of the pending transactions? I am interested in tracking the coin difficulty in real time. ...
0
votes
1answer
464 views

bitcoin fork getblocktemplate keeps reporting downloading blocks

I got my own hard fork of bitcoin from forkgen.tech. The fork has happened after block 506016. I have 2 nodes running and after syncing up to block 506016, I want to run a pool server. But the ...
0
votes
2answers
859 views

How to compute merkle root without coinbasetxn?

How do you build a merkle root without a coinbase transaction? I compute the merkle root without the coinbase portion and I get a different root then the submitter.
0
votes
1answer
105 views

How does the getblocktemplate request rate correlate with a miner's hashrate?

What is the relationship between a miner's hashrate and the getblocktemplate (GBT) request rate? (The question here, "How does the rate of getwork requests correlate with the hashrate of a miner?," ...
0
votes
0answers
388 views

CPU Miner return Internal Server Error for getblocktemplate request

I was developing an altcoin using bitcoin v 0.17. I am using CPU miner for mining purposes. I started the miner using this command: ./minerd -a sha256d -o http://localhost:19230 -O adreno:adreno@123 -...
0
votes
0answers
142 views

Why did GBT fail?

GBT was a way to stop miner centralization, but no one used it, everyone continued to use Stratum. Why did it fail?
-1
votes
1answer
1k views

Difference between getwork and getblocktemplate? [duplicate]

What are the differences between getwork and getblocktemplate? Who identified the need for the new protocol? Who were the primary contributors to its creation?