The IOTA Pico Framework library is an alternative to the official iota.lib.js
The library is a bundle of all the following components:
- @iota-pico/core - Core functions and helper classes.
- @iota-pico/data - Data objects.
- @iota-pico/api - REST API.
- @iota-pico/crypto - Crypto functions Curl/Kerl/SHA3.
- @iota-pico/business - Business layer to perform transactions.
- @iota-pico/pal-nodejs - Platform abstraction layer for the NodeJS.
- @iota-pico/pow-box - Proof of Work using TestNet PowBox. (for TestNet)
- @iota-pico/pow-js - Proof of Work using JavaScript. (Very Slow - Single Threaded)
- @iota-pico/pow-srvio - Proof of Work using Remote powsrv.io web site api.
- @iota-pico/pow-nodejs - Proof of Work using CCurl. (Best Choice - Multi-Threaded)
- @iota-pico/pow-wasm - Proof of Work using WebAssembly. (Slow - Single-Threaded)
If you want to run in the browser try the alternate version @iota-pico/lib-browser
npm install @iota-pico/lib-nodejs --save
The library also has a dependency of big-integer which should get installed with the main package.
There are two variants of the library
- development - which is not minified and includes source maps in pkg/iota-pico-lib-nodejs.js
- production - which is minified and has no source maps in pkg/iota-pico-lib-nodejs.min.js
If you don't want all of the proof of work algorithms, there are some alternative smaller packages:
- pkg/iota-pico-lib-nodejs-none.js - No Proof Of Work algorithms
- pkg/iota-pico-lib-nodejs-none.min.js - No Proof Of Work algorithms
- pkg/iota-pico-lib-nodejs-ccurl.js - Fastest for Platform
- pkg/iota-pico-lib-nodejs-ccurl.min.js - Fastest for Platform
TypeScript definitions can be found in the pkg/iota-pico-lib-nodejs.d.ts and should be located automatically by your developments tools.
The library is compiled into a CommonJS that can be included directly in the NodeJS. You can see various usage scenarios in the following browser tutorials:
The documentation for each part of the library can be found in it's relevant repository:
- @iota-pico/core
- @iota-pico/data
- @iota-pico/api
- @iota-pico/crypto
- @iota-pico/business
- @iota-pico/pal-nodejs
- @iota-pico/pow-box
- @iota-pico/pow-js
- @iota-pico/pow-srvio
- @iota-pico/pow-nodejs
- @iota-pico/pow-wasm
Tutorials can be found in the following repo @iota-pico/tutorials
Contributions are always welcome to the project. Feel free to raise issues, create pull requests or just make suggestions.
Come and find us on the IOTA Discord development channels
- Martyn Janes - obany - (https://github.com/obany)
This project is licensed under the MIT License - see the LICENSE file for details.