libp2p / devgrants

want to hack on libp2p? this repo tracks libp2p endeavors eligible for incentivization.

Home Page:https://libp2p.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Libp2p for Ocaml by Developing a C Wrapper for the Go Implementation

onokognome opened this issue · comments

Motivation and context

My ultimate goal is to use libp2p from Ocaml. But rather than starting from scratch writing an Ocaml implementation, I'd like to write a C wrapper for the Go implementation, then either using the C wrapper directly in Ocaml, or writing an Ocaml wrapper (library) around the C wrapper (depending on how things look when we get there)

Value

The two main benefits are

  • having an Ocaml solution quickly that is as 'correct' as the Go implementation
  • having something that's probably helpful in other porting situations - since C can be linked to many different languages.

Benefits (if addressed)

The C wrapper would be generally useful to others that want to port the library.

Risks (if not addressed)

Expected output and constraints

I would expect:

  • to have an agreed to C wrapper for the Go implementation
  • have either a guide or a library for Ocaml.

Relevant discussion

Design/implementation notes

Since the C wrapper should be generally useful, some agreement on its signature before going too far is important. In fact, this is probably a good first step - defining the signature of the C representation of a module.

Potential funders

Funding would be great and since I'm between jobs at the moment it would be helpful; but I'd move forward with this in any case. I'm more interested in getting plugged in at this point.