Airdispatch is a new protocol that allows developers to create distributed networked applications without worrying about the backend.
Airdispatch is provided under the MIT License.
go get airdispat.ch/message
A Quick Overview
Airdispatch provides three key components when working with distributed networks:
- Addressing - Airdispatch creates 'serverless' addresses. That is that actual addresses do not contain the server location where that addresses messages should be sent. Instead, we have included a 'tracker layer' that translates addresses into locations. This allows the user to transistion servers without having to change addresses.
- Message Metadata - The actual message type provides a method to transmit arbitrary binary data (through the mail data types object). This means that the protocol can support messages of all shapes and sizes.
- Control - Unlike email (and other traditional distributed systems), messages are not immediately transmitted to receiving servers. Instead, the originating server will merely store the message and 'ping' the recipient server using the alert object. This means that servers can determine when messages are downloaded (and allow for editing and deleting messages after sending).
Some other benefits include:
- Security - all messages are signed, actual mail can be encrypted in any arbitrary algorithm
- Compatibility - all services implementing airdispatch will be inherently compatible (allowing for complex messaging schemes)
- Public Messages - the current protocol defines a way to create 'public messages' which are viewable by anyone possessing the originating address
- Privacy - without access to a network's tracking layer, that network will be essentially isolated from the public airdispatch network, providing for private messaging networks
- Extensibility - because the protocol is built off of proven technologies (like protocol buffers) it is trivial to add extensions
For more detailed information about the protocol, please visit our website. The wiki has outdated information.
This package implements helper methods to be used by the AirDispatch system to take care of all encryption needs.
|This package implements helper methods to be used by the AirDispatch system to take care of all encryption needs.|
The identity package has methods and structures relating to methods of identification on the AirDispatch network including Signing Keys, Encryption Keys, Address Fingerprints, and more!
|The identity package has methods and structures relating to methods of identification on the AirDispatch network including Signing Keys, Encryption Keys, Address Fingerprints, and more!|
Package routing provides abstractions for routers on the AirDispatch network (translating addresses to server locations).
|Package routing provides abstractions for routers on the AirDispatch network (translating addresses to server locations).|
The wire package contains all of the Protocol Buffers source files and compiled go files.
|The wire package contains all of the Protocol Buffers source files and compiled go files.|