Latest commit 03a1900 Jul 26, 2015 @cfvaughnii cfvaughnii Update implementers.md
line 213: uri.md, link.md, and line 221: routing.md 
references should be to one level up from current directory (v3/guides).

README.md

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