🌲The middleware that gives back to the environment.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
src
.babelrc
.eslintignore
.eslintrc
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
_config.yml
introduction - celadon middleware.pdf
introduction - celadon middleware.png
package-lock.json
package.json

README.md

Celadon

A lotionjs transaction middleware, which take a little part of the donation amount to donate to the non-profit organization you choose.

Travis Build Status

Installation

$ npm i --save celadon

Use it as a handler

import lotion from 'lotion';
import { handler as CeladonHandler } from 'celadon';

let app = lotion({ 
  devMode: true,
  initialState: {
    ...data
  }
});

app.use(CeladonHandler);
app.listen(3000);

Use it in your own handler

// app.js
import lotion from 'lotion';
import handler from './handler';

let app = lotion({ 
  devMode: true,
  initialState: {
    ...data
  }
});

app.use(handler);
app.listen(3000);

// in handler.js
import { trasactionWithCeledon, donateTo, NPOs } from 'celadon';
console.log(NPOs);
// ['celadon_wallet', 'cosmos_wallet', 'impacthub_wallet', 'andy_wallettttttt']

export default function handler(state, tx) {
  // verify the tx
  // secp256k1.verify(tx.data, tx.signature, tx.data.from)

  let senderAddress = tx.data.from.toString('hex')
  let receiverAddress = tx.data.to.toString('hex')
  trasactionWithCeledon(state, {
    from: senderAddress,
    to: receiverAddress,
    org: donateTo(NPOs),
    feePortion: tx.data.feePortion,
    amount: tx.data.amount
  })
}

Choose your NPOs

<!-- customize NPOs -->
donateTo() // default to celadon_wallet
donateTo('cosmos_wallet')
donateTo(['cosmos_wallet', 'impacthub_wallet', 'andy_wallettttttt'])

Walkthrough

introduction - celadon middlware

Stack Diagram

Join the NPOs wallet list

Author

reforest

Resources

Standard

JavaScript Style Guide

License

MIT