2016-06-20 00:10:34 +02:00
|
|
|
# ethstore
|
|
|
|
|
|
|
|
[![Build Status][travis-image]][travis-url]
|
|
|
|
|
|
|
|
[travis-image]: https://travis-ci.org/ethcore/ethstore.svg?branch=master
|
|
|
|
[travis-url]: https://travis-ci.org/ethcore/ethstore
|
|
|
|
|
|
|
|
Ethereum key management.
|
|
|
|
|
|
|
|
[Documentation](http://ethcore.github.io/ethstore/ethstore/index.html)
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
```
|
|
|
|
Ethereum key management.
|
2017-01-25 18:51:41 +01:00
|
|
|
Copyright 2016, 2017 Parity Technologies (UK) Ltd
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
Usage:
|
2017-02-16 17:42:01 +01:00
|
|
|
ethstore insert <secret> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore change-pwd <address> <old-pwd> <new-pwd> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore list [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
2016-06-20 00:10:34 +02:00
|
|
|
ethstore import [--src DIR] [--dir DIR]
|
2017-02-16 17:42:01 +01:00
|
|
|
ethstore import-wallet <path> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore remove <address> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore sign <address> <password> <message> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore public <address> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore list-vaults [--dir DIR]
|
|
|
|
ethstore create-vault <vault> <password> [--dir DIR]
|
|
|
|
ethstore change-vault-pwd <vault> <old-pwd> <new-pwd> [--dir DIR]
|
|
|
|
ethstore move-to-vault <address> <vault> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]
|
|
|
|
ethstore move-from-vault <address> <vault> <password> [--dir DIR]
|
2016-06-20 00:10:34 +02:00
|
|
|
ethstore [-h | --help]
|
|
|
|
|
|
|
|
Options:
|
2017-02-16 17:42:01 +01:00
|
|
|
-h, --help Display this message and exit.
|
|
|
|
--dir DIR Specify the secret store directory. It may be either
|
|
|
|
parity, parity-test, geth, geth-test
|
|
|
|
or a path [default: parity].
|
|
|
|
--vault VAULT Specify vault to use in this operation.
|
|
|
|
--vault-pwd VAULTPWD Specify vault password to use in this operation. Please note
|
|
|
|
that this option is required when vault option is set.
|
|
|
|
Otherwise it is ignored.
|
|
|
|
--src DIR Specify import source. It may be either
|
|
|
|
parity, parity-test, get, geth-test
|
|
|
|
or a path [default: geth].
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
Commands:
|
|
|
|
insert Save account with password.
|
|
|
|
change-pwd Change account password.
|
|
|
|
list List accounts.
|
|
|
|
import Import accounts from src.
|
2016-06-21 15:04:36 +02:00
|
|
|
import-wallet Import presale wallet.
|
2016-06-20 00:10:34 +02:00
|
|
|
remove Remove account.
|
|
|
|
sign Sign message.
|
2017-02-16 17:42:01 +01:00
|
|
|
public Displays public key for an address.
|
|
|
|
list-vaults List vaults.
|
|
|
|
create-vault Create new vault.
|
|
|
|
change-vault-pwd Change vault password.
|
|
|
|
move-to-vault Move account to vault from another vault/root directory.
|
|
|
|
move-from-vault Move account to root directory from given vault or root.
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Examples
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `insert <secret> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-20 00:10:34 +02:00
|
|
|
*Encrypt secret with a password and save it in secret store.*
|
|
|
|
|
|
|
|
- `<secret>` - ethereum secret, 32 bytes long
|
2016-06-22 17:02:40 +02:00
|
|
|
- `<password>` - account password, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
```
|
2016-06-22 17:02:40 +02:00
|
|
|
ethstore insert 7d29fab185a33e2cd955812397354c472d2b84615b645aa135ff539f6b0d70d5 password.txt
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
a8fa5dd30a87bb9e3288d604eb74949c515ab66e
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore insert `ethkey generate random -s` "this is sparta"
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
24edfff680d536a5f6fe862d36df6f8f6f40f115
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `change-pwd <address> <old-pwd> <new-pwd> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-20 00:10:34 +02:00
|
|
|
*Change account password.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
2016-06-22 17:02:40 +02:00
|
|
|
- `<old-pwd>` - old account password, file path
|
|
|
|
- `<new-pwd>` - new account password, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
```
|
2016-06-22 17:02:40 +02:00
|
|
|
ethstore change-pwd a8fa5dd30a87bb9e3288d604eb74949c515ab66e old_pwd.txt new_pwd.txt
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
true
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `list [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-20 00:10:34 +02:00
|
|
|
*List secret store accounts.*
|
|
|
|
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
```
|
|
|
|
ethstore list
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
0: 24edfff680d536a5f6fe862d36df6f8f6f40f115
|
|
|
|
1: 6edddfc6349aff20bc6467ccf276c5b52487f7a8
|
|
|
|
2: e6a3d25a7cb7cd21cb720df5b5e8afd154af1bbb
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `import [--src DIR] [--dir DIR]`
|
|
|
|
*Import accounts from src.*
|
|
|
|
|
|
|
|
- `[--src DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: geth
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
|
2016-06-22 17:02:40 +02:00
|
|
|
```
|
|
|
|
ethstore import
|
|
|
|
```
|
|
|
|
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
0: e6a3d25a7cb7cd21cb720df5b5e8afd154af1bbb
|
|
|
|
1: 6edddfc6349aff20bc6467ccf276c5b52487f7a8
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `import-wallet <path> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-21 15:04:36 +02:00
|
|
|
*Import account from presale wallet.*
|
|
|
|
|
|
|
|
- `<path>` - presale wallet path
|
2016-06-22 17:02:40 +02:00
|
|
|
- `<password>` - account password, file path
|
2016-06-21 15:04:36 +02:00
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-21 15:04:36 +02:00
|
|
|
|
2016-06-22 17:02:40 +02:00
|
|
|
```
|
|
|
|
ethstore import-wallet ethwallet.json password.txt
|
|
|
|
```
|
|
|
|
|
2016-06-21 15:04:36 +02:00
|
|
|
```
|
|
|
|
e6a3d25a7cb7cd21cb720df5b5e8afd154af1bbb
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `remove <address> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-20 00:10:34 +02:00
|
|
|
*Remove account from secret store.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
2016-06-22 17:02:40 +02:00
|
|
|
- `<password>` - account password, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
```
|
2016-06-22 17:02:40 +02:00
|
|
|
ethstore remove a8fa5dd30a87bb9e3288d604eb74949c515ab66e password.txt
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
true
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `sign <address> <password> <message> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
2016-06-20 00:10:34 +02:00
|
|
|
*Sign message with account's secret.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
2016-06-22 17:02:40 +02:00
|
|
|
- `<password>` - account password, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
- `<message>` - message to sign, 32 bytes long
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
2017-02-16 17:42:01 +01:00
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
2016-06-20 00:10:34 +02:00
|
|
|
|
|
|
|
```
|
2016-06-22 17:02:40 +02:00
|
|
|
ethstore sign 24edfff680d536a5f6fe862d36df6f8f6f40f115 password.txt 7d29fab185a33e2cd955812397354c472d2b84615b645aa135ff539f6b0d70d5
|
2016-06-20 00:10:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
c6649f9555232d90ff716d7e552a744c5af771574425a74860e12f763479eb1b708c1f3a7dc0a0a7f7a81e0a0ca88c6deacf469222bb3d9c5bf0847f98bae54901
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2017-02-16 17:42:01 +01:00
|
|
|
#### `public <address> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
|
|
|
*Displays public key for an address.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
|
|
|
- `<password>` - account password, file path
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
- `[--vault VAULT]` - vault to use in this operation
|
|
|
|
- `[--vault-pwd VAULTPWD]` - vault password to use in this operation, file path
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore public 00e63fdb87ceb815ec96ae185b8f7381a0b4a5ea account_password.txt --vault vault_name --vault-pwd vault_password.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
0x84161d8c05a996a534efbec50f24485cfcc07458efaef749a1b22156d7836c903eeb39bf2df74676e702eacc4cfdde069e5fd86692b5ef6ef81ba906e9e77d82
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `list-vaults [--dir DIR]`
|
|
|
|
*List vaults.*
|
|
|
|
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore list-vaults
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
vault1
|
|
|
|
vault2
|
|
|
|
vault3
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `create-vault <vault> <password> [--dir DIR]`
|
|
|
|
*Create new vault.*
|
|
|
|
|
|
|
|
- `<vault>` - name of new vault. This can only contain letters, digits, whitespaces, dashes and underscores
|
|
|
|
- `<password>` - vault password, file path
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore create-vault vault3 vault3_password.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
OK
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `change-vault-pwd <vault> <old-pwd> <new-pwd> [--dir DIR]`
|
|
|
|
*Change vault password.*
|
|
|
|
|
|
|
|
- `<vault>` - name of existing vault
|
|
|
|
- `<old-pwd>` - old vault password, file path
|
|
|
|
- `<new-pwd>` - new vault password, file path
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore change-vault-pwd vault3 vault3_password.txt new_vault3_password.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
OK
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `move-to-vault <address> <vault> <password> [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD]`
|
|
|
|
*Move account to vault from another vault/root directory.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
|
|
|
- `<vault>` - name of existing vault to move account to
|
|
|
|
- `<password>` - password of existing `<vault>` to move account to, file path
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
- `[--vault VAULT]` - current vault of the `<address>` argument, if set
|
|
|
|
- `[--vault-pwd VAULTPWD]` - password for the current vault of the `<address>` argument, if any. file path
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore move-to-vault 00e63fdb87ceb815ec96ae185b8f7381a0b4a5ea vault3 vault3_password.txt
|
|
|
|
ethstore move-to-vault 00e63fdb87ceb815ec96ae185b8f7381a0b4a5ea vault1 vault1_password.txt --vault vault3 --vault-pwd vault3_password.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
OK
|
|
|
|
OK
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
#### `move-from-vault <address> <vault> <password> [--dir DIR]`
|
|
|
|
*Move account to root directory from given vault.*
|
|
|
|
|
|
|
|
- `<address>` - ethereum address, 20 bytes long
|
|
|
|
- `<vault>` - name of existing vault to move account to
|
|
|
|
- `<password>` - password of existing `<vault>` to move account to, file path
|
|
|
|
- `[--dir DIR]` - secret store directory, It may be either parity, parity-test, geth, geth-test or a path. default: parity
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
ethstore move-from-vault 00e63fdb87ceb815ec96ae185b8f7381a0b4a5ea vault1 vault1_password.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
OK
|
|
|
|
```
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2016-06-20 00:10:34 +02:00
|
|
|
# Ethcore toolchain
|
|
|
|
*this project is a part of the ethcore toolchain*
|
|
|
|
|
|
|
|
- [**ethkey**](https://github.com/ethcore/ethkey) - Ethereum keys generator and signer.
|
|
|
|
- [**ethstore**](https://github.com/ethcore/ethstore) - Ethereum key management.
|
|
|
|
- [**ethabi**](https://github.com/ethcore/ethabi) - Ethereum function calls encoding.
|