Product Docs
Product DocsTechnical DocsLearning & GovernanceUseful Links
  • Product Docs
  • Node Docs
  • Learning Docs
  • Node documentation for cheqd network
  • 👉Getting Started
    • Setup a new cheqd node
      • Pre-Requisites & Requirements
      • (Alternative) Install with Docker
      • Configure cheqd node
      • Configure cosmovisor
    • Command Line usage
      • Manage keys
      • Manage accounts
      • Manage a node
      • Make transactions
      • Use fee abstraction
  • 🏦Validator Guides
    • Guide for validators
      • FAQs for validators
      • Optimising disk storage with pruning
      • Troubleshooting consistently high CPU/memory loads
      • Unjailing a jailed validator
      • Move validator to a different machine
      • Backup and restore node keys with Hashicorp Vault
    • Network-wide Software Upgrades
      • Upgrade Guides
        • Upgrade to v0.6.x
        • Upgrade to v2.x (with Ubuntu 24.04 LTS upgrade)
        • Upgrade to v3.x
        • Upgrade to v3.1.x
      • Creating a software upgrade proposal
      • Upgrade Process
  • 🧑‍💻Developing on cheqd
    • Building from source
      • Build with Docker
      • Run a localnet with Docker
    • Indexers
      • SubQuery
  • Architecture
    • Architecture Decision Record (ADR) Process
    • Identity ADRs
    • List of ADRs
      • ADR 001: Payment mechanism for issuing credentials
      • ADR 002: Importing/exporting mnemonic keys from Cosmos
      • ADR 003: Command Line Interface (CLI) tools
      • ADR 004: Token fractions
      • ADR 005: Genesis parameters
      • ADR 006: Community tax
      • ADR 007: Revocation registry
      • ADR 011: AnonCreds
      • ADR Template
  • 🤝Contributing to cheqd
    • Contributor Guide
    • License
    • Code of Conduct
    • Security Policy
  • 🆘Support
    • System Status
    • Slack Channel
    • Discord
Powered by GitBook
LogoLogo

General

  • Website
  • Blog
  • Get $CHEQ

Product Docs

  • Product Docs
  • cheqd Studio
  • Creds.xyz
  • Bug/Feature Requests

Technical Docs

  • Node Docs
  • GitHub
  • Block Explorer

Learning Docs

  • Learning Docs
  • Governance Docs
  • Governance Forum
  • Governance Explorer
On this page
  • Status
  • Summary
  • Context
  • Assumptions / Considerations
  • Decision
  • Consequences
  • Backwards Compatibility
  • Positive
  • Negative
  • Neutral
  • References

Was this helpful?

Edit on GitHub
Export as PDF
  1. Architecture
  2. List of ADRs

ADR 002: Importing/exporting mnemonic keys from Cosmos

Last updated 1 year ago

Was this helpful?

Status

Category
Status

Authors

Andrew Nikitn, Ankur Banerjee

ADR Stage

ACCEPTED

Implementation Status

Implemented

Start Date

2021-09-23

Summary

This ADR describes how cheqd/Cosmos account keys can be imported/exported into identity wallet applications built on Evernym VDR Tools SDK.

Context

Client SDK applications such as need to work with cheqd accounts in identity wallets to be able to interact with the cheqd network ledger.

For example, an identity wallet application or backend application would need to pay network transaction fees for writing . This may also need to be extended in the future to support .

Assumptions / Considerations

Cosmos SDK uses . This can be replicated using standard crypto libraries to carry out the same steps as in Cosmos SDK:

rounds of iteration :    2048
length              :    64
algorithm           :    sha512
salt                :    "mnemonic" + passphrase

Decision

"m/44'/118'/0'/0/0"

Consequences

Functionality will be added to VDR Tools SDK to import/export cheqd accounts using mnemonics paired with the --recover flag as done with Cosmos wallets.

Backwards Compatibility

Not applicable, since this is an entirely new feature in VDR Tools SDK for integration with the new blockchain framework.

Positive

  • Adding/recovering cheqd accounts in VDR Tools SDK will follow a similar, familiar process that users have for Cosmos wallets.

Negative

N/A

Neutral

N/A

References

The mnemonic above is assumed to be a pre-existing one . The "passphrase" above is user-defined, and defaults to blank if not defined.

Mnemonic import/export can be achieved using pre-existing packages and .

Using these pre-existing libraries, cheqd accounts can be recovered using the standard for Cosmos SDK chains described below:

Evernym VDR Tools
cheqd DIDs to the ledger
peer-to-peer payments for credential exchange
known algorithms for deriving private keys from mnemonics
cheqd/Cosmos CLI
BIP39
Cosmos SDK's Rust library cosmrs
BIP44 HDPath
Cosmos SDK account generation and keyrings