lightninglabs / lightninglabs/lightning-node-connect
we need a python module
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 85
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
Currently lightning node connect is written in go and compiled to web assembly for use in https://github.com/lightninglabs/lnc-web within a browser using javascript. Initially, I thought that maybe web assembly was the most universal way to use lightning node connect, so I tried to use web assembly from python with wasmer. In https://github.com/lightninglabs/lightning-node-connect/issues/70 I mention that I can't get it to work with wasmer.
Later, I learned that Zeus uses https://github.com/lightninglabs/lnc-rn which has the go code compiled to native binaries for mobile (https://github.com/lightninglabs/lnc-rn/issues/23) and does not use web assembly.
Now, I'm wondering, would it be simpler to make a python module that uses natively compiled go code instead of using web assembly code within python? Here are some relevant resources
- https://github.com/go-python/gopy
- https://words.filippo.io/building-python-modules-with-go-1-5/
- https://github.com/ardanlabs/python-go/tree/master/grpc
With the new LND Accounts feature (https://github.com/lightninglabs/lightning-terminal/pull/363 , https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/accounts) that leverages Lightning Node Connect, it's critical that there are more ways to use Lightning Node Connect in a variety of code bases. The LND Accounts feature can safely and easily allow a wide variety of applications and machine to machine devices to use the lightning network.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Go implementation and how it is compiled for lnc-web and lnc-rn, then compare the gopy, Python extension, and gRPC resources linked in the issue. Determine the supported approach for exposing Lightning Node Connect to Python without WebAssembly; done should be a documented, usable Python module with an agreed integration path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python, wasm
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100