5307586d4d
To test the grpc interface we'll want to emulate the JSON-RPC interface as best we can, hence when talking to the grpc interface we want to convert back into a parsed JSON format as LightningRpc would have returned it. This is just the simplest way of closing the loop here: ``` pyln-testing --grpc-> cln-grpc --grpc2json ^ | | v | JSON-RPC | | TEST v ^ CLN | | | v pyln-testing <-grpc2py-- cln-grpc <- json2grpc ``` |
||
---|---|---|
.. | ||
examples | ||
msggen | ||
README.md | ||
pyproject.toml |
README.md
MsgGen - Generating language bindings and docs from schemas and wire descriptions
MsgGen is a collection of tools that are used to parse schemas and (eventually) protocol wire CSVs into an intermediate representation in memory, and then generate language specific bindings and documentation from it.
The dependency graph looks like this:
digraph {
"JSON-RPC Schemas" -> "msggen model";
"msggen model" -> "grpc proto file";
"msggen model" -> "Rust From<JsonRpc> Converters";
"grpc proto file" -> "Rust grpc bindings"
"Rust grpc bindings" -> "cln-grpc";
"Rust From<JsonRpc> Converters" -> "cln-grpc";
"msggen model" -> "Rust JSON-RPC structs";
"Rust JSON-RPC structs" -> "cln-rpc";
}