celadon

The middleware that gives back to the environment.

Usage no npm install needed!

<script type="module">
  import celadon from 'https://cdn.skypack.dev/celadon';
</script>

README

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

Usage

import { trasactionWithCeledon, donateTo } from 'celadon';
console.log(NPOs)
// [
//   // special wallet
//   '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
  })
}

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

In the lotionjs

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

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

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

Walkthrough

introduction - celadon

Join the NPOs wallet list

Author

reforest

Resources

Standard

JavaScript Style Guide

License

MIT