|0.1.10||Sep 1, 2021|
|0.1.9||Sep 1, 2021|
|0.1.7||Aug 17, 2021|
|0.1.1||Jun 30, 2021|
#740 in Magic Beans
154 downloads per month
Used in themelio-nodeprot
Melnet serves as Themelio's peer-to-peer network layer, based on a randomized topology and gossip. Peers are divided into servers, which have a publicly reachable address, and clients, which do not. It's based on a simple stdcode request-response protocol, where the only way to "push" a message is to send a request to a server. There is no multiplexing --- the whole thing works like HTTP/1.1. TCP connections are pretty cheap these days.
This also means that clients never receive notifications, and must poll servers.
The general way to use
melnet is as follows:
- Create a
NetState. This holds the routing table, RPC verb handlers, and other "global" data.
- If running as a server, register RPC verbs with
NetState::run_serverin the background.
- Use a
Client, like the global one returned by
g_client(), to make RPC calls to other servers. Servers are simply identified by a