ERIS over CapTP

I’ve been working on some ERIS/Goblins integrations and am happy to announce a small step forward: how to transport blocks of ERIS encoded content via CapTP.

ERIS is a way of making content more robustly available over computer networks. It does so by breaking up content into small uniformly sized and encrypted blocks that can be transported over various networks. The content can be re-assembled using a short identifier, called the read capability.

Previously we released initial integrations for using ERIS from Goblins (using the guile-eris library) including actors for encoding and decoding content. Now we can transport blocks using Goblins native transport: CapTP. The latest release of goblins-eris contains a little tool called eris-captp, that can be used to launch block stores that can be reached via CapTP. See the example in the Readme.

Furthermore, the tool can act as a proxy between CoAP block stores and stores on CapTP. The Constrained Application Protocol (CoAP) is a protocol with HTTP similar semantics that was originally developed for embeded devices, but proves to be very useful for peer-to-peer applications. ERIS uses CoAP as a primary protocol for getting blocks of encoded content over networks. There are a number of applications (kapla or erishell) and even more ERIS libraries (e.g. Python, Guile) that speak the CoAP protocol. Using the proxy, we can use existing tools and libraries to transport ERIS blocks over CapTP and also the other way around: we can use existing tools and stores from CapTP and Goblins and all that stuff. See the example in the readme and also the announcement to the ERIS mailing list.

3 Likes

This is really neat! Thanks for the update! I will need to actually try this out for myself soon.