Skip to content
This repository has been archived by the owner on Feb 18, 2021. It is now read-only.

Latest commit

 

History

History

v3

telehash secure mesh protocol

logo

see the v3 release specification

An interoperable private mesh networking standard, see the introduction for more background.

the primary discussion area is currently via Slack, anyone can join by getting an automated invite.

The full protocol suite is a composite of multiple individual specifications:

  • hashname - endpoint address format (public key fingerprint)
  • packets - length-object-binary formatted packets, json+binary serialization
  • E3X - end-to-end encrypted exchange (wire encoding, crypto libraries)
  • link - establishing and maintaining connections between two endpoints
  • mesh - higher level tools to manage multiple links and do local discovery
  • routing - when one endpoint assists two others to establish/maintain a link
  • uri - how to encode/decode endpoint info via URIs for out-of-band bootstrapping
  • transports - details (encoding, timeouts, discovery, etc) for mapping/supporting different network transports
  • logo - for use to represent telehash support in apps
### Implementations

Each implementation provides a library API adapted to its platform or language but they all strive to offer similar functionality including handling hashnames, URIs, and packets (lob), higher level interfaces to create a mesh and links within it, and lower level tools for E3X, transports/pipes, managing keys, etc. Refer to the implementers guide for an overview of the typical methods and patterns.

Experimental implementations are being actively developed at:

hashname link uri routing streams sockets udp tcp http tls webrtc bluetooth
node.js
browser js
c - unix
c - embedded
go
python