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()
Useful links
- See About Circles for more details about circle concept.
- See About Authorization for more details about how to secure the ledger based on circles.