@encointer/worker-api
TypeScript icon, indicating that this package has built-in type declarations

0.14.0 • Public • Published

Encointer Worker API

Encointer Cantillon uses workers to confidentially process your calls inside TEEs. In order to use Encointer currencies, you will be interacting with workers. This package provides way to query currency data like total issuance or balance of users account from worker TEE. See Encointer Book form more information.

Installation

yarn add @encointer/worker-api

Usage

import { EncointerWorker } from '@encointer/worker-api';
import { options } from '@encointer/node-api'

import { ApiPromise } from '@polkadot/api';
import { WsProvider } from '@polkadot/rpc-provider';
import { cryptoWaitReady } from '@polkadot/util-crypto';

communityId = '3LjCHdiNbNLKEtwGtBf6qHGZnfKFyjLu9v3uxVgDL35C';

// In async function
const api = await ApiPromise.create({
    ...options(),
    provider: new WsProvider(nodeAddr)
});

const workerEndpoint = await api.query.substrateeRegistry.enclaveRegistry(1)

const worker = new EncointerWorker(workerEndpoint, { api });

// PublicGetter
const total = await worker.getTotalIssuance(communityId);

await cryptoWaitReady();
const bob = keyring.addFromUri('//Bob', { name: 'Bob default' });

// TrustedGetter version 1
const index = await worker.getParticipantIndex(bob, network.chosenCid);

// TrustedGetter version 2
worker.setKeyring(keyring) // see keyring setup in 'worker.spec.ts'
const balance = await worker.getBalance({ 
    pubKey: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', 
    pin: '<account pin>' 
  }, network.chosenCid
);

console.log('Total issuance:', total);

Readme

Keywords

none

Package Sidebar

Install

npm i @encointer/worker-api

Weekly Downloads

379

Version

0.14.0

License

GPL-3.0-or-later

Unpacked Size

101 kB

Total Files

37

Last publish

Collaborators

  • encointeradmin
  • dmn
  • clangenb