Git Product home page Git Product logo

p2p's Introduction

Eth p2p protocols - research notes

Phase I of this project is to establish an understanding of the current state of the protocols. e.g. what's outdated and what's up-to-date and figure out the best collection of docs / guides / code to understand the protocols.

guides / docs

https://github.com/ethereum/go-ethereum/wiki/Peer-to-Peer

https://github.com/ethereum/wiki/wiki/%C3%90%CE%9EVp2p-Wire-Protocol
https://github.com/ethereum/wiki/wiki/Whisper
https://github.com/ethereum/wiki/wiki/libp2p-Whitepaper (seems outdated)

https://godoc.org/github.com/ethereum/go-ethereum/p2p

https://github.com/ethereum/go-ethereum/wiki/Connecting-to-the-network

v5 discovery protocol https://blog.ethereum.org/2016/11/17/whoa-geth-1-5/

RLPX protocol (low-level)

https://github.com/fjl/go-ethereum/tree/rlpx-framing/p2p/rlpx https://github.com/ethereum/devp2p/blob/master/rlpx.md

Nodes Discovery

https://github.com/ethereum/devp2p/blob/master/rlpx.md#node-discovery

code

pydevp2p

https://github.com/ethereum/pydevp2p

Community

Random Notes

It's a bit like the relationship between TLS and HTTP: RLPx is the encrypted transport protocol, devp2p defines how we use it. devp2p is this: https://github.com/ethereum/wiki/wiki/%C3%90%CE%9EVp2p-Wire-Protocol rlpx is how devp2p messages are encrypted and transported

In which ways similar to the p2p protocol of BitTorrent and other file sharing programs, and in which ways different? Check the devp2p gitter channel history for a discussion about this. This is a fundemental question - seems like quite different goals as the eth computer is a signleton and a view from up to 10 nodes should give any node a good picture of the current state and consensus.

EIPs

ethereum/EIPs#49
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md

p2p's People

Contributors

avive avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.