yesterday I released lnsocket, a C library for sending messages on the lightning network. It can currently connect to lightning nodes and send/receive lightning network messages (TLVs).
This weekend I am planning on getting the build working on iOS so that I can make a proof of concept for controlling a clightning node directly over lightning.
Right now it's a bit difficult to connect to your lightning node's wallet: you have to run other software next to your lightning node that connects to it's RPC to send/receive wallet information, channels, etc. It would be nice if your lightning node could give you this information directly over the lightning network, since your lightning network port is already publically exposed on tor or the internet.
All you would need to do is whitelist client pubkeys and you would be good to go!
Maybe one day we could have a blip that specs out a standard RPC mechanism so this could work for all nodes instead of just via a clightning plugin.
That's pretty cool! 😎 Keep us updated!
reply
Neat! So you route RPC messages over the lightning network? I love how it's kind of self-referential. Is the main advantage that you only need to open one port to communicate with your node?
reply
Yeah the setup should be much simpler than existing solutions. And you won't need to run other software like spark just to use your node like a wallet.
To access my clightning wallet I have to do a bunch of things which are not ideal:
  • run wireguard so that I can access spark from my phone
  • run spark so that I can send/receive funds
  • no native experience, I have to use the spark web ui which can't scan qrcodes.
  • tried zeus many times but spark just throws errors when zeus tries to connect
Some people use tor, but that is a terrible way to access your node. It's slow and insecure if you're just using it as a portal into your network. I have seen people lose funds by unwillingly open their node up to the public with tor.
There are so many failure modes with existing solutions. I figured the fastest, easiest, and most reliable way to do RPC directly to your lightning node that is already exposed to the internet. So the plan is to build a lightning wallet that can talk this protocol.