@decentralized-auth/iota-mam v1.0.6
@decentralized-auth/iota
Wrapper class for the IOTA client that provides some convenience methods for use in the decentralized-auth project.
Usage
const generateSeed = require('@decentralized-auth/gen-seed');
const IotaClient = require('@decentralized-auth/iota');
const MamClient = require('@decentralized-auth/iota-mam');
// Instantiate a logger that has an info and error method
const consoleLogger = new (function () {
this.info = console.log;
this.error = console.log;
})();
const iota = new IotaClient({
provider: 'http://node01.testnet.iotatoken.nl:16265',
securityLevel: 2,
depth: 5,
minWeightMagnitude: 10,
}, consoleLogger);
const seed = await generateSeed();
const mode = 'restricted';
const sideKey = 'BANANA';
const mam = new MamClient(seed, iotaClient, mode, sideKey);
const message = 'HELLO';
const root = await mam.attach(message);
const res = await mam.fetch(root, 'restricted', sideKey);
console.log(res.messages[0]) // => 'HELLO'Test
npm run testLint
npm run lintDocumentation
Documentation generated from docstrings with jsdoc2md.
iota-mam
Wrapper for the IOTA MAM client that provides some convenience methods.
- iota-mam
- ~MamClient
~init(iota, seed, mode, sideKey)⇒ Object~changeSideKey(sideKey)⇒ undefined~attach(packet)⇒ Promise~fetch(root, mode, sideKey)⇒ Promise~fetch(root, mode, sideKey)⇒ Promise
iota-mam~MamClient
Kind: inner class of iota-mam
new MamClient(seed, iotaClient, mamMode, sideKey)
Constructor for a MamClient.
| Param | Type | Description |
|---|---|---|
| seed | string | IOTA seed of the device client |
| iotaClient | object | Instantiated @decentralized-auth/iota-client with logger |
| mamMode | string | MAM mode, either 'public' or 'private' or 'restricted' |
| sideKey | string | Optional side key (when mode is 'restricted') |
iota-mam~init(iota, seed, mode, sideKey) ⇒ Object
Initialize MAM (mode private or mode restricted if sideKey is provided).
Kind: inner method of iota-mam
Returns: Object - MAM state
| Param | Type | Description |
|---|---|---|
| iota | Object | Instance of iota.lib.js |
| seed | string | Seed to initialize MAM with |
| mode | string | Mode to initialize MAM with ('public', 'private' or restricted') |
| sideKey | string | Optional side key to initialize MAM with (restricted) |
iota-mam~changeSideKey(sideKey) ⇒ undefined
Sets or changes the MAM side key.
Kind: inner method of iota-mam
| Param | Type | Description |
|---|---|---|
| sideKey | string | Side key |
iota-mam~attach(packet) ⇒ Promise
Attach MAM messages.
Kind: inner method of iota-mam
Returns: Promise - Containing the root
| Param | Type | Description |
|---|---|---|
| packet | JSON | JSON packet to attach. |
iota-mam~fetch(root, mode, sideKey) ⇒ Promise
Fetch MAM messages. NOTE: Expects JSON messages only.
Kind: inner method of iota-mam
Returns: Promise - Contains the root and the messages
| Param | Type | Description |
|---|---|---|
| root | string | Root from where to fetch |
| mode | string | Either 'public', 'private' or 'restricted' |
| sideKey | string | Optional side key |
iota-mam~fetch(root, mode, sideKey) ⇒ Promise
Fetch a single MAM message. NOTE: Expects JSON MAM message only.
Kind: inner method of iota-mam
Returns: Promise - Contains the root and the parsed message or null
| Param | Type | Description |
|---|---|---|
| root | string | Root from where to fetch |
| mode | string | Either 'public' or 'private' or 'restricted' |
| sideKey | string | Optional side key (when mode is 'restricted') |