IohTee repository. The second life of Machinomy library. We're upgrading it to contemporary standards (TypeScript 5+, Node.js 18+, ES2023+) and adding new features. Please note, this is NOT monorepo anymore due to some Yarn v4 monorepos limitations: you have to install deps and build each package separately.
Available sub-projects:
- IohTee is a Node.js library for micropayments in Ether over HTTP. It allows you to send and receive a minuscule amount of money instantly.
- Contracts is a TypeScript interface for Ethereum contracts managed by HardHat used by IohTee.
- Examples is IohTee examples.
- Playground contains code of play.iohtee.toivo.tech
- support for dual build ESM+CJS
- split pseudo-monorepo into separate repos
- add IohTee Contracts to GH Actions Workflow
Web site: iohtee.toivo.tech
Twitter:
FAQ:
It takes two to tango: a seller and a buyer. Seller is packages/examples/src/server.ts
script. Build it or run through node-ts.
$ git clone https://github.com/ARyaskov/IohTee
$ cd IohTee && yarn && yarn build
$ node packages/examples/src/hub.js
And then run client script:
$ node packages/examples/src/client.js
Using TypeScript
import { IohTee } from '@riaskov/iohtee'
const uri = 'http://localhost:3000/content'
const iohtee = new IohTee(SENDER_ACCOUNT, web3)
const contents = await iohtee.buy({ receiver: RECEIVER_ACCOUNT, price: 100, gateway: 'http://localhost:3001/accept' })
console.log(contents)
The process is more convoluted than buying. Better consult packages/examples/src/server.ts file.
$ git clone https://github.com/ARyaskov/IohTee
$ cd IohTee && yarn && yarn build && cd packages/examples
$ yarn run sender && yarn run receiver
Look at sender.ts and receiver.ts for more information.
If you want to see all logs in verbose format use DEBUG=*
For more advanced documentation go to doc/ folder.
Developers: IohTee is for you. Feel free to use it, break it, fork it, and make the world better. The code is standard TypeScript, no special skills required:
$ yarn
Using yarn v4 is mandatory (don't use npm!)
Apply migrations (eg. for PostgreSQL, refer packages/iohtee/database.json):
$ PGUSER=user PGPASSWORD=pass PGHOSTADDR=localhost PGDATABASE=dbname yarn migrate
Non-Developers: You are lovely. As a starter, help us spread the word! Tell a friend right now. If not enough, developers need flesh-world guidance. It starts with proper documentation and a pinch of fantasy. Really anything, whether it is a short post on a use case of IoT micropayments, addition to the documentation (code comments, yay!), or an elaborate analysis of machine economy implications.
Licensed under Apache License, Version 2.0.