Bitcoin Forum
November 24, 2017, 02:32:35 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 [11]  All
  Print  
Author Topic: Decentralized mining protocol standard: getblocktemplate (ASIC ready!)  (Read 30981 times)
DrHaribo
Legendary
*
Offline Offline

Activity: 2240


Bitminter.com Operator


View Profile WWW
December 07, 2012, 09:16:46 AM
 #201

Little Luke-Jr

This is how representatives of cgminer address other developers?

No - as usual, you simply fall down to the level of name calling and show no intelligence at all.

I LOLed.

▶▶▶ Bitminter.com - Your trusted mining pool since 2011.
1511490755
Hero Member
*
Offline Offline

Posts: 1511490755

View Profile Personal Message (Offline)

Ignore
1511490755
Reply with quote  #2

1511490755
Report to moderator
Join ICO Now Coinlancer is Disrupting the Freelance marketplace!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
kano
Legendary
*
Offline Offline

Activity: 2282


Linux since 1997 RedHat 4


View Profile
December 07, 2012, 09:26:36 AM
 #202

Little Luke-Jr

This is how representatives of cgminer address other developers?

No - as usual, you simply fall down to the level of name calling and show no intelligence at all.

I LOLed.

Yeah read my whole post - or is that too difficult for you?
My point is that all he ever does is calling me a liar and never once has backed that statement up.

Most of my replies include the details of what I am talking about and the reasons why.

He even said of Graet: "constantly spreading FUD and other lies"
Which is pure bull shit - though I guess you swallowed it whole right? DrHaribo?

Pool: https://kano.is Here on Bitcointalk: Forum BTC: 1KanoPb8cKYqNrswjaA8cRDk4FAS9eDMLU
FreeNode IRC: irc.freenode.net channel #kano.is Majority developer of the ckpool code
Help keep Bitcoin secure by mining on pools with full block verification on all blocks - and NO empty blocks!
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2352


Ruu \o/


View Profile WWW
December 07, 2012, 09:47:12 AM
 #203

Little Luke-Jr
This is how representatives of cgminer address other developers?
To be fair, kano is a valued coder and contributor to cgminer and its "defence" as it were, on these most unfriendly forums. However, he should most certainly not be considered the public face of cgminer, which I take full responsibility for. Kano has been, and will be, extremely valuable to the cgminer code, but we have also had our disagreements, and he has humbly accepted no as an answer since I remain the maintainer of the code. On the other hand, lack of humility is precisely why we are where we are with a hostile fork of cgminer. I and Kano have admitted we were wrong whenever appropriate. I don't want to play tit for tat and name calling and dick size comparisons, but the bottom line is, please don't think Kano is the face of cgminer. Look for where I have personally "attacked" someone on the forums before making a judgement about the public face of cgminer.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
Nachtwind
Hero Member
*****
Offline Offline

Activity: 700



View Profile
December 10, 2012, 01:09:43 AM
 #204

...and i really thought i could get more information on GBT here.. found myself in a flamewar though. Honestly guys.. noone here is giving a good example.
DrHaribo
Legendary
*
Offline Offline

Activity: 2240


Bitminter.com Operator


View Profile WWW
December 12, 2012, 11:37:06 PM
 #205

...and i really thought i could get more information on GBT here.. found myself in a flamewar though. Honestly guys.. noone here is giving a good example.

Sorry that I added to the spam. But there is a reason these forums are so unfriendly. kano has a habit of trolling, name calling, religious harassment, etc. etc. I don't know why he hasn't been banned yet. But if noone says anything, things won't get any better.

▶▶▶ Bitminter.com - Your trusted mining pool since 2011.
Thistled
Jr. Member
*
Offline Offline

Activity: 36



View Profile
January 20, 2013, 05:07:30 PM
 #206

How do you guys propose to compare dick size?
That could be interesting.

However, I am sure there are forum rules against that. lol.

Whatever you do, do it properly!
crazyates
Legendary
*
Offline Offline

Activity: 952



View Profile
January 20, 2013, 05:18:16 PM
 #207

How do you guys propose to compare dick size?

I don't want to play tit for tat and name calling and dick size comparisons

Tips? 1crazy8pMqgwJ7tX7ZPZmyPwFbc6xZKM9
Previous Trade History - Sale Thread
Thistled
Jr. Member
*
Offline Offline

Activity: 36



View Profile
January 20, 2013, 05:24:13 PM
 #208

lol.

Whatever you do, do it properly!
Luke-Jr
Legendary
*
Offline Offline

Activity: 2268



View Profile
January 20, 2013, 06:02:46 PM
 #209

How do you guys propose to compare dick size?
http://en.wikipedia.org/wiki/Yao's_Millionaires'_Problem

W-M
Full Member
***
Offline Offline

Activity: 210

In Crypto we Trust.


View Profile
April 04, 2013, 01:56:16 PM
 #210

Hey guys, sorry to interrupt your discussion about penis sizes, but I have a question about the workings of getblocktemplate  Tongue.


Recently I have been working on a small getblocktemplate miner implementation in JavaScript/PHP, mainly to understand how the bitcoin works internally a lot better. The Wiki page about getblocktemplate has helped me a lot, but there is one crucial thing I cannot figure out:

How to send a proper block template request to a pool. (This is the request a mining program makes to the pool to indicate it wants to mine something)
Everything I've tried thus far makes the pool return
Code:
{"result":null,"id":null,"error":{"name":"JSONRPCError","code":100,"message":"Parse error"}}
This seems like I'm doing something wrong.
The Wiki page tells me the following syntax:
Code:
{"id": 0, "method": "getblocktemplate", "params": [{"capabilities": ["coinbasetxn", "workid", "coinbase/append"]}]}
I have tried a multitude of different variations on this, but it still doesn't work.

Problems I stumble across:
1. I'm unsure if the "coinbasetxn", "workid", "coinbase/append" and even the whole "capabilities" are optional, or that the brackets in the example are actually part of the syntax to forward the different arguments as an array (as they are usually used in JSON).
2. the BIP 22 does not list this request at all, only telling me about two non-optional arguments.
3. Analyzing the python-blkmaker source code, I find another argument called "maxversion". This is not mentioned on the wiki page and not on the BIP 22 page or anywhere else either.

So, what do I do? How do I make a proper block template request?


Thanks,

~W-M

SatoshiCarnival.co ♢ Refreshing ♥ Fair ♧ Bitcoin Casino

WMCode ~ Web Development ~ Design
Luke-Jr
Legendary
*
Offline Offline

Activity: 2268



View Profile
April 04, 2013, 03:35:37 PM
 #211

Code:
{"id": 0, "method": "getblocktemplate", "params": [{"capabilities": ["coinbasetxn", "workid", "coinbase/append"]}]}
I have tried a multitude of different variations on this, but it still doesn't work.
This looks fine, are you including the HTTP headers for JSON-RPC? While GBT could be used with a raw TCP connection like Stratum, bitcoind does not support this at present.

Problems I stumble across:
1. I'm unsure if the "coinbasetxn", "workid", "coinbase/append" and even the whole "capabilities" are optional, or that the brackets in the example are actually part of the syntax to forward the different arguments as an array (as they are usually used in JSON).
It's all optional, but necessary for some servers which make decisions on what features to use in your template.
2. the BIP 22 does not list this request at all, only telling me about two non-optional arguments.
3. Analyzing the python-blkmaker source code, I find another argument called "maxversion". This is not mentioned on the wiki page and not on the BIP 22 page or anywhere else either.
These are part of BIP 23 mainly.

W-M
Full Member
***
Offline Offline

Activity: 210

In Crypto we Trust.


View Profile
April 04, 2013, 07:16:37 PM
 #212

Thank you for your reply, Luke.

Code:
{"id": 0, "method": "getblocktemplate", "params": [{"capabilities": ["coinbasetxn", "workid", "coinbase/append"]}]}
I have tried a multitude of different variations on this, but it still doesn't work.
This looks fine, are you including the HTTP headers for JSON-RPC? While GBT could be used with a raw TCP connection like Stratum, bitcoind does not support this at present.
I have now tried to send the content-type:"application/json" in the headers. Still giving me the same output.

Problems I stumble across:
1. I'm unsure if the "coinbasetxn", "workid", "coinbase/append" and even the whole "capabilities" are optional, or that the brackets in the example are actually part of the syntax to forward the different arguments as an array (as they are usually used in JSON).
It's all optional, but necessary for some servers which make decisions on what features to use in your template.
2. the BIP 22 does not list this request at all, only telling me about two non-optional arguments.
3. Analyzing the python-blkmaker source code, I find another argument called "maxversion". This is not mentioned on the wiki page and not on the BIP 22 page or anywhere else either.
These are part of BIP 23 mainly.

[/quote]
Hmm... Yes, in BIP 23 more optional parts are noted. However, the structure of the JSON-RPC request isn't outlined anywhere. Unless someone had worked with JSON-RPC before they wouldn't know about the exact way to invoke this. Maybe a link to the JSON-RPC Wikipedia page would be nice  Smiley.

SatoshiCarnival.co ♢ Refreshing ♥ Fair ♧ Bitcoin Casino

WMCode ~ Web Development ~ Design
W-M
Full Member
***
Offline Offline

Activity: 210

In Crypto we Trust.


View Profile
April 06, 2013, 07:56:38 PM
 #213

In the meantime, I got it working. The problem was that I parsed all my JSON objects to post parameters. (i.e. vara=valuea&varb=valueb). This is the way AJAX requests are normally done from Javascript or by any browser submitting a form. It never occured to me that the solution would be to just put the JSON-RPC objects as a string in the postdata of the HTTP request, and voilà, the server was able to parse it and returned a block list.


So I got it working! My Javascript/PHP miner is mining, albeit extremely slow(and with some stops where my host tells me I've done too much requests from one IP in a short time), but it works. I have yet to submit my first real share to the server, and probably some other bugs will pop up later down the line, but for now it is hashing. Hooray! :-)

Thank you for your help, Luke-jr


~W-M

SatoshiCarnival.co ♢ Refreshing ♥ Fair ♧ Bitcoin Casino

WMCode ~ Web Development ~ Design
KNK
Hero Member
*****
Offline Offline

Activity: 665


View Profile
May 06, 2013, 11:21:11 AM
 #214

Hello,
 i am looking at making my own poll app based on GWT, but got confused at some pint and still can't figure it out. I've read BIP 22 and 23, but some real world example would be welcome.
bitcoind returns:
Code:
{
    "version" : 2,
    "height" : XXX,
    "previousblockhash" : "X...X",
    "noncerange" : "00000000ffffffff",
    "sizelimit" : 1000000,
    "sigoplimit" : 20000,
    "target" : "X...X",
    "bits" : "12345678",
    "mintime" : XXX,
    "curtime" : XXX,
    "mutable" : [
        "time",
        "transactions",
        "prevblock"
    ],
    "transactions" : [
        {
...
        }
    ],
    "coinbaseaux" : {
        "flags" : "0123456789abcdef"
    },
    "coinbasevalue" : 2500000000,
}

Is the first transaction listed the coinbase one (guess not) or i should create my own? If the later - how do i make it in order to contain the flags (and what do they mean)?

BTC tips: 1KNK1akhpethhtcyhKTF2d3PWTQDUWUzHE
Luke-Jr
Legendary
*
Offline Offline

Activity: 2268



View Profile
May 06, 2013, 11:23:34 AM
 #215

Hello,
 i am looking at making my own poll app based on GWT, but got confused at some pint and still can't figure it out. I've read BIP 22 and 23, but some real world example would be welcome.
bitcoind returns:
Code:
{
    "version" : 2,
    "height" : XXX,
    "previousblockhash" : "X...X",
    "noncerange" : "00000000ffffffff",
    "sizelimit" : 1000000,
    "sigoplimit" : 20000,
    "target" : "X...X",
    "bits" : "12345678",
    "mintime" : XXX,
    "curtime" : XXX,
    "mutable" : [
        "time",
        "transactions",
        "prevblock"
    ],
    "transactions" : [
        {
...
        }
    ],
    "coinbaseaux" : {
        "flags" : "0123456789abcdef"
    },
    "coinbasevalue" : 2500000000,
}

Is the first transaction listed the coinbase one (guess not) or i should create my own? If the later - how do i make it in order to contain the flags (and what do they mean)?
If there is no "coinbasetxn" key, you need to make it.
https://en.bitcoin.it/wiki/Protocol_specification#tx

KNK
Hero Member
*****
Offline Offline

Activity: 665


View Profile
May 06, 2013, 12:13:44 PM
 #216

Yes, that was my understanding too (glad it's correct), but where may i find information about the coinbaseaux flags?
BIP 22 states 'data that SHOULD be included in the coinbase's scriptSig content', but no mention of flags in https://en.bitcoin.it/wiki/Transactions

P.S.
In short my idea was to have each frontend worker have it's own address for coinbase (to avoid share duplication) and have the blocks valid/accepted even if they submit it to another bitcoind instance as backend.

BTC tips: 1KNK1akhpethhtcyhKTF2d3PWTQDUWUzHE
zeffirsky
Newbie
*
Offline Offline

Activity: 2


View Profile
September 15, 2017, 12:13:20 PM
 #217

Hello, sorry for maybe stupid question. Let's suppose that I run two instances of bitcoind on my server. Can I accept block template from first instance but submit share to second? If I understand it correct: getblocktemplate is stateless in terms of blockchain, and pool sever can choose which transactions to include in candidate block. And can submit blocks to any bitcoind instance.

Is it possible to load balance between two bitcoind instances using getblocktemplate?
Pages: « 1 2 3 4 5 6 7 8 9 10 [11]  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!