Minka Ledger Docs
How To Guides

How to assign a signer to a circle


Ledger SDK allows users to create a circle and assign signers stored in the server to it.

Creating a circle

import { LedgerSdk } from '@minka/ledger-sdk'
 
const sdk = new LedgerSdk({
  server: '<your ledger URL>',
  signer: {
    format: 'ed25519-raw',
    public: '<your ledger public key>'
  }
})
 
const { circle } = await sdk.circle.init()
  .data({
    handle: 'admin',
    access: [{
      action: 'any',
      record: 'any'
    }]
  })
  .hash()
  .sign([{ keyPair: yourKeyPair }])
  .send()

Creating a signer

import { LedgerSdk } from '@minka/ledger-sdk'
 
const sdk = new LedgerSdk({
  server: '<your ledger URL>',
  signer: {
    format: 'ed25519-raw',
    public: '<your ledger public key>'
  }
})
 
const { signer } = await sdk.signer.init({ 
  data: {
    handle: 'test-signer',
    public: '<ed25519 public key content>',
    format: 'ed25519-raw',
    access: [{
      action: 'any',
      record: 'any'
    }]
  })
  .hash()
  .sign([{ keyPair: yourKeyPair }])
  .send()

Assigning the signer to the circle

import { LedgerSdk } from '@minka/ledger-sdk'
 
const sdk = new LedgerSdk({
  server: '<your ledger URL>',
  signer: {
    format: 'ed25519-raw',
    public: '<your ledger public key>'
  }
})
 
const { signer } = await sdk.circle
  .with('admin')
  .signers
  .init({
    data: {
      circle: 'admin',
      signer: 'test-signer'
    }
  })
  .hash()
  .sign([{ keyPair: yourKeyPair }])
  .send()

On this page