Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add payment channel functionality #12

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Add payment channel functionality #12

wants to merge 9 commits into from

Conversation

cpacia
Copy link
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