@caelumlabs/sdk
v0.2.20
Published
Lorena SDK
Downloads
41
Readme
Lorena SDK
Client library for interacting with Lorena identities
npm install @lorena-ssi/lorena-sdk
Usage
const Lorena = require('@lorena-ssi/lorena-sdk').default
// const import Lorena from '@lorena-ssi/lorena-sdk'
const main = async () => {
const lorena = new Lorena({debug: true})
lorena.connect('connectionIdString')
lorena.on('error', (e) => {
console.log(e)
})
lorena.on('ready', async () => {
lorena.callRecipe({
recipe: 'ping', // Remote recipe we are calling to
recipeId: 0, // Remote id of the recipeId we are calling to
threadRef: 'pong', // Local name for your process
threadId: 2, // Local id for your process
payload: {} // Payload to send
})
})
lorena.on('message:pong', (payload) => {
console.log('pong', payload)
})
}
main()
API
new Lorena([serverPath[,options]] || [options])
serverPath
can be a valid matrix server string, default: https://matrix.caelumlabs.com
options
include:
{
debug: false // set the debug option, default false
}
createUser(username, password)
Create Matrix user and zenroom keypair.
Returns true or false when success or not available.
Throws an error and emits error
if fails.
connect(connectionstring)
Connect to Lorena IDspace.
connectionstring
is a concatenation of username-password-did
Returns true if the connection is success
Throws an error and emits error
if fails.
handshake()
Establishes a connection with the IDspace, checking public-key signatures.
on(message[:threadRef, :type], [function(payload)])
Listen to events and execute the callback function
threadRef
is the one sended to sendAction
type
TODO
payload
is the data coming from the remote recipe
off(message[:threadRef, :type])
Stops listening for events
License
MIT