lightninglabs / lightninglabs/lightning-node-connect

Lightning Node Connect does not work with wasmer

Open
#70 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
85
Forks
22
PR merge metrics
No merged PRs in 30d

Description

Lightning Node Connect does not work with wasmer (https://wasmer.io/). Here is the output from the standalone wasmer application.

```
root@44183a01694f:/# wasmer run lnc-v0.2.3-alpha.wasm
error: failed to run `lnc-v0.2.3-alpha.wasm`
╰─▶ 1: Error while importing "go"."debug": unknown import. Expected Function(FunctionType { params: [I32], results: [] })
root@44183a01694f:/#
```

I'm actually trying to use https://github.com/wasmerio/wasmer-python , and am getting the same error, but I show the error above using the standalone version of wasmer because it's the easiest to reproduce and I expect the same error happens no matter what language interface you are trying to use.

Given the number of programming languages wasmer supports, it seems like it would be ideal for Lightning Node Connect to work in wasmer because it avoids the need to re-implement Lightning Node Connect in every programming language. https://lightning.engineering/posts/2021-11-30-lightning-node-connect-deep-dive/ suggests that a bLIP is coming for Lightning Node Connect, but I have not seen it yet. The existing documentation found at https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/lightning-node-connect , https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/lnc-npm , and https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/mailbox is high level and not in the form of a spec that I feel like I could re-implement it all natively in python. Although a spec would be nice, the next best thing would be some code that we can easily embed in any programming language.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the standalone `wasmer run lnc-v0.2.3-alpha.wasm` failure and reviewing the linked Lightning Node Connect documentation and deep-dive post. Determine the required `go.debug` import and the compatibility or specification work needed; done means the module runs through standalone Wasmer and wasmer-python.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, wasm
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.