Skip to content

Add payment channel functionality#12

Open
cpacia wants to merge 9 commits intomasterfrom
paymentchannels
Open

Add payment channel functionality#12
cpacia wants to merge 9 commits intomasterfrom
paymentchannels

Conversation

@cpacia
Copy link
Copy Markdown
Contributor

@cpacia cpacia commented Oct 23, 2018

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:

  • Create p2p overlay network
  • Update dep with libp2p (kind of annoying to get all the dependency versions correct).
  • 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
  • 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.

This is an initial commit to create the pumbling for a p2p overlay network to
use for payment channels. This is pretty much it for the networking code, the
rest of the work revolves around building out the protocol.
@cpacia cpacia added help wanted Extra attention is needed in progress Work is ongoing labels Oct 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wanted Extra attention is needed in progress Work is ongoing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant