Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/CodelyTV/awesome-p2p

A curated list of awesome P2P learning tutorials and resources
https://github.com/CodelyTV/awesome-p2p

List: awesome-p2p

Last synced: about 1 month ago
JSON representation

A curated list of awesome P2P learning tutorials and resources

Awesome Lists containing this project

README

        

# Awesome P2P

A curated list of awesome P2P learning tutorials and resources.

## Table of contents

- [Awesome P2P](#awesome-p2p)
- [Table of contents](#table-of-contents)
- [Data structures](#data-structures)
- [Guides](#guides)
- [Getting started](#getting-started)
- [Network programming](#network-programming)
- [Web network programming technologies](#web-network-programming-technologies)
- [Distributed systems](#consistency-models)
- [Libraries](#libraries)
- [Node.js](#nodejs)
- [P2P projects](#p2p-projects)
- [File sharing](#file-sharing)
- [Streaming](#streaming)
- [Crypto currencies](#crypto-currencies)

### Data structures

- [Distributed Hash Table (DHT)](https://en.wikipedia.org/wiki/Distributed_hash_table)
- [Merkel Tree](https://en.wikipedia.org/wiki/Merkle_tree)
- [Blockchain](https://en.wikipedia.org/wiki/Blockchain)
- Append Only Log (AOL)
- 📹 [Going offline with append only logs - lecture by Mathias Buus - Code Europe Spring 2017](https://www.youtube.com/watch?v=s-tFw7_lDt8&t=1725s)

## Guides

### Getting started

- [P2P workswhop](https://github.com/mafintosh/p2p-workshop)

### Network programming

- [OSI model](https://en.wikipedia.org/wiki/OSI_model)
- Transport layers
- [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol)
- [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol)
- [SCTP](https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol)
- [IP](https://en.wikipedia.org/wiki/Internet_Protocol)
- Sockets programming
- [Unix network programming](https://notes.shichao.io/unp/)
- [NAT traversal](https://en.wikipedia.org/wiki/NAT_traversal)
- [UDP Hole punching](https://en.wikipedia.org/wiki/UDP_hole_punching)
- 📹 [Mathias Buus - Internet of Peers](https://www.youtube.com/watch?v=1qzDiAg4VGk)

#### Web network programming technologies

- [WebRTC](https://webrtc.org/)
- [WebRTC Specification](https://www.w3.org/TR/webrtc/)
- [Mozilla WebRTC documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API)
- WebSocket

### Distributed systems

- [CAP theorem](https://en.wikipedia.org/wiki/CAP_theorem)
- [Fallacies of distributed computing](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing)
- [Consistency models](https://en.wikipedia.org/wiki/Consistency_model)

## Libraries

### Node.js

- [hypercore](https://github.com/mafintosh/hypercore) Secure, distributed append-only log. Built for sharing large datasets and streams of real time data.
- [hyperdrive](https://github.com/mafintosh/hyperdrive) Secure real time distributed file system.
- [hyperdb](https://github.com/mafintosh/hyperdb) Distributed scalable key-value database.
- [hyperdiscovery](https://github.com/karissa/hyperdiscovery) p2p swarm for hypercore, hyperdrive, and hyperdb feeds.
- [RTCMultiConnection](https://github.com/muaz-khan/RTCMultiConnection) WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.)

## P2P projects

### File sharing

- [BitTorrent](https://www.bittorrent.com/)
- [DatProject](https://datproject.org/)

### Streaming

- [WebTorrent](https://webtorrent.io/)

### Crypto currencies

- [Bitcoin](https://bitcoin.org/)
- [Ethereum](https://www.ethereum.org/)
- [Faircoin](https://fair-coin.org/)