@sharafian/cog

0.1.2 • Public • Published

Cog

A contract engine driven by streaming payments

const Koa = require('koa')
const KoaCog = require('koa-cog')
const SPSP = require('ilp-protocol-spsp')
const router = require('koa-router')()
const parser = require('koa-bodyparser')()
const app = new Koa()
const cog = new KoaCog()

router.get('/', cog.paid(), async ctx => {
  const accountant = new KoaCog.Accountant(ctx.ilpStream)

  // Before completing this call, the contract will wait
  // for 1000 to arrive in its account.
  await SPSP.pay(accountant, {
    receiver: '$sharafian.com',
    sourceAmount: '1000'
  })

  ctx.body = { foo: 'bar' }
})

app
  .use(parser)
  .use(router.routes())
  .use(router.allowedMethods())
  .listen(8090)

Readme

Keywords

none

Package Sidebar

Install

npm i @sharafian/cog

Weekly Downloads

8

Version

0.1.2

License

ISC

Unpacked Size

10.5 kB

Total Files

10

Last publish

Collaborators

  • sharafian