Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: DuddlyDoRight on November 08, 2015, 10:41:40 PM



Title: Low level blockchain&network dev thread?
Post by: DuddlyDoRight on November 08, 2015, 10:41:40 PM
I've been looking over the "reference implementation" GIT repo: https://github.com/bitcoin/bitcoin/tree/master/src

I didn't see any network configuration data. Anyone know how implementations set the packaged peer-server list the blockchain is pulled from first start? Are there official peers used by all "full" wallets?

I'm working with getBlockTemplate in Python(link (https://gitlab.com/bitcoin/python-blkmaker)) and want to research low-level blockchain interactions.


Title: Re: Low level blockchain&network dev thread?
Post by: achow101 on November 08, 2015, 10:47:23 PM
I've been looking over the "reference implementation" GIT repo: https://github.com/bitcoin/bitcoin/tree/master/src

I didn't see any network configuration data. Anyone know how implementations set the packaged peer-server list the blockchain is pulled from first start? Are there official peers used by all "full" wallets?

I'm working with getBlockTemplate in Python(link (https://gitlab.com/bitcoin/python-blkmaker)) and want to research low-level blockchain interactions.
Check chainparams.cpp. The DNS seeds are hardcoded into the program. The DNS seeds will return nodes that Bitcoin Core can connect to. It then connects to those nodes given by the seed nodes. It will then choose one of those nodes and systematically request all of the blocks from it. There are no official peers used by full nodes. Any peer can be the initial download peer of any node.


Title: Re: Low level blockchain&network dev thread?
Post by: DuddlyDoRight on November 08, 2015, 11:02:51 PM
Thanks I'm going to implement what they did in python for block-sync.