Skip to content
This repository has been archived by the owner on Aug 20, 2020. It is now read-only.

dedis/student_19_libp2p_tlc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TLC Implementations

This repository contains different transport layer implementations for TLC protocol. Currently, there are 2 main implementations:

  • Libp2p implementation
  • Mail-based implementation

Libp2p Implementation

In this impementation, libp2p is used as the communication layer of the TLC protocol. Nodes broadcast and receive messages using libp2p implementation of PubSub which is named GossipSub. All nodes subscribe to a topic and then start publishing messages to that topic. Subscribed nodes will receive published messages on the topic.

3 different transport layer implementations have been used as the tranport module of libp2p:

  • TCP
  • QUIC
  • Websocket

Simulations are mainly based on the TCP implementation but all functions are provided for simulating on top of the other protocols.

Mail-based Implementation

In this implementation, messages will be sent using mail protocols. SMTP is used for ongoing mails and IMAP is used for receiving incoming mails. Mail server implementation is not present in this repository and anyone interested in using mail-based implementation needs to setup a working mail server. You may use iRedMail to start a mail server.

Repository structure

.
├── Report                       A short report, illustrating results obtained in simulations
├── model                        TLC protocol implementation with abstract transport layer
├── sim                          Onet simulation driver                        
├── transport                    Contains differnent transport layer implementations
    ├── channel                  Go channel based transport
    ├── libp2p_pubsub            Libp2p-based implementataion using pubsub
    └── mail                     Mail-based implementation

Contact me (Mahdi Bakhshi) if you have any problems.

About

TLC implemented on top of libp2p

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •