Open TheBlueMatt opened 6 years ago
It is a good idea. We probably will use https://github.com/rust-bitcoin/rust-lightning-invoice About https://github.com/rust-bitcoin/rust-lightning : is there any demo implementation of Lightning node to see how parts feet together?
I have a demo implementation of a lightning node using rust-lightning and rust-lightning-invoice at https://github.com/TheBlueMatt/rust-lightning-bitcoinrpc which connects to Bitcoin Core's RPC for its block data and on-chain wallet (rust-lightning does not act as a full wallet/node - it doesn't know how to download blocks, write to disk, etc - very much on purpose as it's goal is not to compete with lnd/c-lightning/eclair/etc but to provide a way for existing wallets to integrate lightning instead of being a standalone daemon).
Obviously rust-lightning, being only about a year old, is pretty early, but has made a lot of progress towards getting most of the BOLTs implemented, the structure of things is pretty much all there, but lots of pieces still need to be fleshed out fully. The demo app above can open/close channels, send/receive payments, etc but rust-lightning is still missing a few on-chain handling cases and the fee update story isn't quite there yet.
Also in the rust-bitcoin project umbrella, Tamas has been working on a full neutrino on-chain SPV wallet implementation which should be able to integrate rust-lightning at some point in the future, though that's a little less far along.
I'm curious where you think peach and rust-lightning/rust-bitcoin can collaborate more - definitely value in working together to make progress much faster, and both seem to be early enough that they're both good learning projects still in terms of learning lightning protocol by implementing it. What's the high-level set of goals for lpd, aside from just being yet another lightning node?
Thanks for the demo!
Objectives:
We also work on SPV wallet to include into the node. Maybe we can cooperate there?
have own implementation with full source control due to security reasons
It looks like you're still depending on other rust-bitcoin projects, which means tighter integration/more working together only gets you more visibility into security-critical dependencies, not less =D. I'd be curious to see what parts of lpd you think are furthest along? Would love to steal some code and see where I can utilize more of y'all's effort to build rust-lightning :).
-Lightning over some token. Lightning over Bitcoin is a good first step to it.
I'm curious if you've started much work on this yet. Obviously the lightning protocol supports arbitrary assets, and there have been some work by others to implement it and move the spec forward to ensure interoperability there instead of folks going off on their own.
As for SPV wallet, you should reach out to @tamasblummer, who is primarily working on rust-bitcoin SPV stuff, and take a look at the various repositories in rust-bitcoin to see where you might be able to contribute!
Parts that a not highly coupled are routing(handling routing information), wire, encryption, key derivation. So they may be useful for rust-lightning.
Yes, we have done some preliminary work on Lightning over other blockchains. It seems there are https://github.com/rgb-org/spec and Raiden(for Ethereum). Could you suggest other projects?
Heh, all of those things are complete in rust-lightning. By lightning over other blockchains, I meant lightning, not other payment channel protocols. Lightning routing information carries fields for routing the same payments via other per-peer channel protocols, potentially via other blockchains. Obviously it's been demo'd on litecoin but there's nothing to prevent it from being applied elsewhere as well.
On October 29, 2018 10:05:17 PM UTC, mkl- notifications@github.com wrote:
Parts that a not highly coupled are routing(handling routing information), wire, encryption, key derivation. So they may be useful for rust-lightning.
Yes, we have done some preliminary work on Lightning over other blockchains. It seems there are https://github.com/rgb-org/spec and Raiden(for Ethereum). Could you suggest other projects?
-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/LightningPeach/lpd/issues/2#issuecomment-434098337
Then you cannot steal anything from us) Maybe we can use some code from your implementation.
I will check rust-lightning more closely, maybe found some cooperation points. It seems you give presentation about it on a recent conference. Is there any video of it?
Make Lightning over litecoin is not very hard because they are very similar. Lnd already support it. Making Lightning over not outpoint-based blockchain more complicated because it is different (on the other hand it simpler because smart-contract can be created with much easier settlement). In order to support Lightning blockchain should have time checking operations, ... Not any blockchain is supported. We planned to do lightning over bitcoin, then lightning over Exonum, then maybe allow cross chain payments.
It seems you give presentation about it on a recent conference. Is there any video of it?
There is a recording on youtube
Besides from that feel free to contact me regarding rust-lightning-invoice. It should be mostly stable by now, there are still some newtypes I want to introduce for time handling. Right now the development process is me pushing to master (since there is nobody else right now that's mostly ok), but that will change with the first 0.1
release which I hope to do soon(tm).
Should probably avoid needless effort duplication and see what code can be shared with https://github.com/rust-bitcoin/rust-lightning and other rust-bitcoin libraries since everyone having their own lightning implementation means more effort for no gain, and both look to be pretty early, so lots of room for collaboration.
Also, you may be interested in @sgeisler's excellent BOLT11 implementation at https://github.com/rust-bitcoin/rust-lightning-invoice since it seems y'all haven't started that work yet.