Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.

keripy CLI #141

Open
m00sey opened this issue May 5, 2021 · 0 comments
Open

keripy CLI #141

m00sey opened this issue May 5, 2021 · 0 comments

Comments

@m00sey
Copy link
Contributor

m00sey commented May 5, 2021

Keripy CLI

Define a set of command line tools for exercsing KERI in the context of Verifiable Credential Issuance and revocation.

Wallet

A representation of a digital/cloud wallet using a locally backed datastore.

Wallet commands can be used to manipulate the wallet contents providing an interactive look at keys and key management in KERI. Multiple identifiers can be supported by a single wallet.

Command Description
init Initialize a wallet with a new local datastore
incept Create a new identifier and key set
delgated Create a new wallet from a delegated identifier
delgate Print info need for an agent to create a delegated identifier
rotate Perform a key rotation
identifier Print current identifier
key Print current public key
credentials Print current stored credentials
list Print identifiers

It might be beneficial to add a export/dump command taking an arbitary named database and printing/writing it's contents to allow general exploration of KERIs datastore.

Agent

The agent CLI builds upon an existing wallet. The agent communicates with other agents via TCP and takes on the role of issuing/accepting credentials from additional agents. It can also be used to create delgated identifiers derived from it's own wallet key set.

Command Description
start Spawn an agent process with an existing wallet
delegate
issue Issue a given credential
revoke Revoke a given credential

It is likely the agent commands will be a super set of wallet.

Building upon wallets and agents

In it's simplist form a wallet is a local representaion of the KERI datastore.

Using an agent in conjunction with a wallet wraps an existing local wallet with the agent CLI providing additional functionality.

agent start -w /tmp/bob-wallet

We can then use these components to start to build a more "real" scenario.

Ultimately we can use these components to create a set up which will model closer to a real world scenario. A "Root Wallet" from which we create a delegated identifer and from there we can began to "issue" our verifiable credentials.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant