Cover image
Try Now
2016-07-13

Payment channels for bitcoin

3 years

Works with Finder

7

Github Watches

13

Github Forks

21

Github Stars

Payment channel server

WARNING: This is "alpha" quality demo software.

Included programs

  • serverd: Payment channel server. Run with --init to create db.
  • serveradm: Server administration utility.
  • servercli: Client utility, a thin wrapper over the RPC calls

Run with --help to get a command line summary.

Run the utilities with no arguments, to obtain a list of commands.

Server events are logged via the flexible 'winston' module.

See comments in example-serverd.cfg for further server configuration.

Calling the JSON RPC server over HTTP:

POST http://localhost:12882 

{
  "method": ""
  "params": [
    {
      // Required params here (see below)
    }
  ]
}

Where "method" can be one of:

  • "channel.open"
  • "channel.setRefund"
  • "channel.commit"
  • "channel.pay"

"channel.open"

POST data

"params" can be an empty array

result

{
  "pubkey": , // pub key of the server for this channel (also: "channel.id" for later"
  "timelock.min": , // earliest time the refund transaction can be processed
  "timelock.max": , // latest time the refund transaction can be processed
  "timelock.prefer": , // preferred time the refund transaction should be processed
}

"channel.setRefund"

POST data

"params": {
  "channel.id": , // The id returned from "channel.open"
  "pubkey": , // pubkey of client
  "tx": , // the refund transaction, hex encoded (unsigned)
  "txInIdx": // the input id of the T1 transaction (that the server doesn't yet know about)
}

result

{
  "signature": // the hex encoded signature from when the server signed T1
}

"channel.commit"

POST data

"params": {
  "channel.id": , // The id returned from "channel.open"
  "tx.commit": , // The hex encoded signature from when the client signed T1 (committing to the agreement)
  "tx.firstPayment": , // The signed transaction (T3) for the first payment, which is just a full refund payment to the client
}

result

true // on success

"channel.pay"

POST data

"params": {
  "channel.id": , // The id returned from "channel.open"
  "signature": // the hex encoded signature from when the client resigned T3 with the new amount
  "amount": , // The new amount the client wants to pay to the server in T3
}

result

true // on success

相关推荐

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • 田中 楓太
  • A virtual science instructor for engaging and informative lessons.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

  • GeyserMC
  • A library for communication with a Minecraft client/server.

  • Dhravya
  • Collection of apple-native tools for the model context protocol.

  • patchy631
  • In-depth tutorials on LLMs, RAGs and real-world AI agent applications.

  • activepieces
  • AI Agents & MCPs & AI Workflow Automation • (280+ MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

  • Upsonic
  • The most reliable AI agent framework that supports MCP.

    Reviews

    5 (1)
    Avatar
    user_NSNZHYK4
    2025-04-17

    As a dedicated user of MCP, I can confidently say that this tool by jgarzik is a game-changer. Its robust functionality and seamless integration have significantly enhanced my workflow. The comprehensive documentation available on the GitHub link provides clear guidance, making it approachable for both beginners and experts. I highly recommend MCP for anyone looking to streamline their operations efficiently.