Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keyring migrate command doc #8979

Merged
merged 17 commits into from
Apr 12, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions docs/migrations/keyring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Keyring Migrate Quick Start
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved

`keyring` is mechanism of managing private/public keypair in cosmos-sdk.
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved

The more detailed information about keyring you can find here [here](../run-node/keyring.md)
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved


## Backends

The `keyring` supports the following backends:

* `os` uses the operating system's default credentials store.
* `file` uses encrypted file-based keystore within the app's configuration directory. This keyring will request a password each time it is accessed, which may occur multiple times in a single command resulting in repeated password prompts.
* `kwallet` uses KDE Wallet Manager as a credentials management application.
* `pass` uses the pass command line utility to store and retrieve keys.
* `test` stores keys insecurely to disk. It does not prompt for a password to be unlocked and it should be use only for testing purposes.
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved


## CLI command

Usage:
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved
simd migrate <old_home_dir>
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved

Migrates key information from the legacy (db-based) Keybase to the new keyring-based Keyring. The legacy Keybase used to persist keys in a LevelDB database stored in a 'keys' sub-directory of the old client application's home directory **old_home_dir**, e.g. $HOME/.gaiacli/keys/. For each key material entry, the command will prompt if the key should be skipped or not. If the key is not to be skipped, the passphrase must be entered. The key will only be migrated if the passphrase is correct. Otherwise, the command will exit and migration must be repeated.
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved

You can find command implementation [here](../../client/keys/migrate.go)
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved

## Flags
`FlagDryRun` bool flag. If it's set to false, it runs migration without actually persisting any changes to the new Keybase. If it's set to true, it persists keys. This flag is useful for testing purposes.
amaury1093 marked this conversation as resolved.
Show resolved Hide resolved



amaury1093 marked this conversation as resolved.
Show resolved Hide resolved