Feedback on the spec is welcome. Using libp2p for the overlay makes the most sense as it gives you a fully functional p2p network in like ten lines of code.
TODOs:
[x] Create p2p overlay network
[x] Update dep with libp2p (kind of annoying to get all the dependency versions correct).
[x] Build out database buckets/implementation to save channels to the db
[ ] Build out protocol (message handlers, etc)
[ ] Create channel supervisor to watch for maliciously closed channels
[x] Create new address type (bchutil)
[ ] Add new RPCs to the btjson package (bchd). RPCs include (NewPaymentChannelAddress, OpenChannel, CloseChannel, SendPayment, ListChannels, ListChannelTransactions).
[ ] Wire up new RPCs to the wallet.
[ ] Make sure it works with bchctl (bchd)
[ ] Add RPCs to the bchwallet gRPC interface.
18 months™
jk probably only a couple weekends worth of work. Feel free to help out if you want.
Very rough spec can be found here: https://github.com/cpacia/spec/blob/master/paymentchannels.md
Feedback on the spec is welcome. Using libp2p for the overlay makes the most sense as it gives you a fully functional p2p network in like ten lines of code.
TODOs:
dep
with libp2p (kind of annoying to get all the dependency versions correct).bchutil
)btjson
package (bchd
). RPCs include (NewPaymentChannelAddress, OpenChannel, CloseChannel, SendPayment, ListChannels, ListChannelTransactions).bchctl
(bchd
)18 months™
jk probably only a couple weekends worth of work. Feel free to help out if you want.