A simple shim to override the standard AttachToTangle behaviour of the iota.lib.js library to use https://powsrv.io
npm install iota.lib.js.powsrvioThis library is used to shim the iota.lib.js library to delegate Proof-of-work to powsrv.io. This enables for users to offload PoW from low-power IoT devices, mobile and desktop devices without capabilities.
The library exposes one function, which your require or import. This function is used to overlay powsrv.io functionality to your current iota.lib.js instance.
``javascript
// Import your iota library
const IOTA = require("iota.lib.js")
// Import the Monkey Patch for the IOTA lib
const usePowSrvIO = require('@powsrvio/iota.lib.js.powsrvio')
// Create your iota api instance
const iota = new IOTA({ provider: "https://nodes.thetangle.org:443" });
// Patch the current IOTA instance
usePowSrvIO(iota, 5000, null)
`
1. iota: Object The iota.lib.js instance in your applicationInteger
2. delay: Milliseconds to wait before PoW server timeout. _Null value defaults to 5000_String
3. key: API key used to raise the un-authenticated API limits. _Optional_
Did you know? You can also use the powsrv.io with Masked Authentication Messaging.
Just use the steps below to initialize the official MAM client with powsrv.io.
`javascript
// Import your iota library
const IOTA = require("iota.lib.js")
// Import the Monkey Patch for the IOTA lib
const usePowSrvIO = require('@powsrvio/iota.lib.js.powsrvio')
// Import the official MAM client (https://github.com/iotaledger/mam.client.js/)
const Mam = require('../lib/mam.client.js')
// Create your iota api instance
const iota = new IOTA({ provider: "https://nodes.iota.fm:443" });
// Patch the current IOTA instance
usePowSrvIO(iota, 5000, null)
// Initialise MAM State - PUBLIC
let mamState = Mam.init(iota)
``
In order to receive an API key, join our Discord channel and contact us!