Bitcoin Forum
July 11, 2024, 01:44:15 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How i can understand P2P?  (Read 126 times)
enriquemesa8080 (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
May 04, 2020, 09:18:23 PM
 #1

Hello. I am a programmer who wants to undestand bitcoin. I know that this is a complex subject but i want to start focusing in understanding P2P protocol. Do you have resources about how to implement a P2P network, for example, in pure C/C++ or Visual Basic 6?

Please, i want to look if the blockchain has a special page where describes it completely step by step. I know that source code is available for download but source tends to be complex if i don't have a first idea of what i should to expect from it.

Also, i want to start an open source project, but it will be academical. I want to learn how to handle communities in projects like this. It will not be based in cryptocurrencies because they are too advanced for my level, maybe a simple tool. The project is done. It is more a personal project than a real one, and i am also asking my real-world friends to join it, but this can take a bit of time, maybe more.

Found me in github.

github.com/enriquemesa8080

I want to signaling that i want to start mounting a P2P network because bitcoin is very complex to understand. And maybe P2P can have more resources where to learn.

Please, help me with free materials like online books or courses of universities, better if they are written sources because makes me more easy to consult.

Thank you, have a nice day.
BitMaxz
Legendary
*
Offline Offline

Activity: 3318
Merit: 3050


BTC price road to $80k


View Profile WWW
May 04, 2020, 11:02:00 PM
 #2

Github is a great source to find those opensource and guides step by step but why you don't use the search button?

Anyway, I don't have a bookmarked page with c/c++ and vb6 but I have a source how to make a DIY blockchain with 5 different programming languages (such as Python • Ruby • JavaScript • Java • Go).

Here's the Github page below
- https://github.com/openblockchains/awesome-blockchains#do-it-yourself-diy---build-your-own-blockchain

And this one for another Python blockchain.
- Learn Blockchains by Building One

I hope this help.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4316

<insert witty quote here>


View Profile
May 04, 2020, 11:59:13 PM
 #3

Have you had a read of "Mastering Bitcoin"? Huh It's available for free on Github: https://github.com/bitcoinbook/bitcoinbook#reading-this-book

That covers a lot of the fundamentals of bitcoin and blockchain technology... with regards to P2P specifically, maybe "Chapter 8. The Bitcoin Network" might be a good start.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Coding Enthusiast
Legendary
*
Offline Offline

Activity: 1039
Merit: 2783


Bitcoin and C♯ Enthusiast


View Profile WWW
May 05, 2020, 05:11:48 AM
Merited by DdmrDdmr (2)
 #4

If you want to focus on bitcoin then there really isn't that much to learn about P2P protocol. It has two pretty simple parts:
- the handling of sockets which can be done by the framework or any library out there (eg. since you mentioned VB, the .Net framework/core has TCP clients that is a wrapper around sockets and make it easy to use)
- parsing, handling and responding to received message buffers

If you want to learn more and don't use wrappers or libraries and focus on Sockets directly then you'll have to look elsewhere since it is not bitcoin related anymore. Start from creating a server-less messenger app. I see on your GitHub account you have a similar project, work on that first.

The important topics in bitcoin are 1) blockchain (blocks, transactions and scripts) and 2) cryptography (hash algorithms, elliptic curve cryptography)

Projects List+Suggestion box
Donate: 1Q9s or bc1q
|
|
|
FinderOuter(0.19.1)Ann-git
Denovo(0.7.0)Ann-git
Bitcoin.Net(0.26.0)Ann-git
|
|
|
BitcoinTransactionTool(0.11.0)Ann-git
WatchOnlyBitcoinWallet(3.2.1)Ann-git
SharpPusher(0.12.0)Ann-git
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!