Bitcoin Forum
May 30, 2024, 07:44:34 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoind daemon - what is it for?  (Read 2920 times)
konradp (OP)
Full Member
***
Offline Offline

Activity: 129
Merit: 100



View Profile
March 11, 2014, 07:47:15 AM
 #1

Hi,

I'm back to trying to understand all this bitcoin staff.

Is it true that I can use Bitcoind daemon to do all the staff related to communicating with bitcoin network, e.g confirming blocks are valid? If not, then what should I search for in google to get information about it?

I found this:
https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
and it looks like we can get information about current wallet status of a user, yes? But what about e.g. confirming blocks?

I.e. I need to create a pool and still have no idea how to "communicate with the bitcoin network", I still see this phrase but no simple/or event not-so-simple explanation of how to do that.
dreamspark
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
March 11, 2014, 10:17:08 AM
 #2

Have you read the bitcoind wiki ?

 https://en.bitcoin.it/wiki/Bitcoind

Perhaps if you read through it properly and then return with more specific questions you will be more succesful in receiving help.

But the command line argument for notified of blocks is -blocknotify=<cmd>. You can also change this setting in bitcoin.conf.
konradp (OP)
Full Member
***
Offline Offline

Activity: 129
Merit: 100



View Profile
March 11, 2014, 10:28:19 AM
 #3

Yes I was on this page some time ago, but apparently back then, I had no idea how bitcoin in general works so I had troubles understanding this very specific page.

Still have troubles,after reading it, is it true that a pool:

1. communicates with bitcoind to get new work for miner (and so, bitcoind is being used for both, communicating with the network and  a wallet)
2. then communicates with a miner to give it the work
3. if miner finds a hash < pool difficulty,sends it to the pool, then if hash<network difficulty pool sends that hash to bitcoind, which in turn sends it to the network to verify

Is that true?
dreamspark
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
March 11, 2014, 01:53:59 PM
 #4

There are many ways to get work for the miners. Bitcoind uses Getblocktemplate which replaces the old getwork command.


However most pools will use stratum or another pool server to getblocktemplate.

"Pools assign work units, similar to the current block being worked on, however at difficulty 1 (or higher depending on your hashing power), which are called shares. The idea is that you solve your mini-block, and submit it back to the pool, to show your proof of work, out of every X shares submitted, one will also solve the "real" block being worked on (by chance).

So you are in essence solving an easier problem, that can potentially solve a more difficult one, and everyone doing this over and over and over eventually do find a block."

Read

https://en.bitcoin.it/wiki/Pooled_mining

and

https://mining.bitcoin.cz/
konradp (OP)
Full Member
***
Offline Offline

Activity: 129
Merit: 100



View Profile
March 11, 2014, 02:43:09 PM
 #5


Quote
There are many ways to get work for the miners. Bitcoind uses Getblocktemplate which replaces the old getwork command.


However most pools will use stratum or another pool server to getblocktemplate.

OK, thanks, but is this workflow I presented correct?
dreamspark
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
March 11, 2014, 02:55:58 PM
 #6


Quote
There are many ways to get work for the miners. Bitcoind uses Getblocktemplate which replaces the old getwork command.


However most pools will use stratum or another pool server to getblocktemplate.

OK, thanks, but is this workflow I presented correct?

In my post above I stated the workflow. I cant describe it much better than I already have. Your basic workflow is almost correct except replace step 3 with the end of the quotation in my above post.
konradp (OP)
Full Member
***
Offline Offline

Activity: 129
Merit: 100



View Profile
March 11, 2014, 03:00:55 PM
 #7

Thanks.

Yes I wanted only the basic workflow, later on I'll try to understand this:

"Pools assign work units, similar to the current block being worked on, however at difficulty 1" but I'll get into this later. Right now cpuminer can't even connect to what will be a pool. There are authorization problems.

So thanks again!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!