[TOC]
## 11.1 导入预售钱包
### 11.1.1 使用 Mist 以太坊钱包
用 GUI Mist 以太坊钱包导入预售钱包非常简便。实际上,在应用安装期间你会被问到是否要导入预售钱包。
警告:Mist 钱包是试用软件。使用风险自担。
安装 Mist 以太坊钱包的说明在 创建账号:使用以太坊钱包 章节给出。
只需要把.json 预售钱包文件夹拖放到指定匙域,输入密码,导入预售钱包。
如果你选择不在应用安装期间导入预售钱包,以后你可以随时导入,只需选择应用菜单栉下方的账号菜单,然后选择导入预售账号。
注意:Mist 钱包仄在开发中,以上列出的具体步骤可能会随着更新有所变更。
### 11.1.2 使用 geth
如果你单独安装 get,导入预售钱包可以通过在终端执行以下操作完成:
```
geth wallet import /path/to/my/presale -wallet.json
```
会提示你输入密码。
## 11.2更新账号
你可以把钥匙文件更新到最新的钥匙文件格式并且/或者升级钥匙文件密码。使用 geth
你可以在命令行用更新子命令更新现在的账号,可以使用账号地址或者索引作为参数。记住账号索引反映了创建顺序(按字母顺序排列的钥匙文件名包含了创建时间)。
```
geth account update b0047c606f3af7392e073ed13253f8f4710b08b6
```
或者
```
geth acount update 2
```
例如:
```
$ geth account update a94f5374fce5edbc8e2a8697c15331677e6ebf0b
```
账号以加密的形式储存在最新版本,它会提示你需要一个密码来解锁账号,另一个密码来保存更新的文件。同一个指令还可以用在将弃用格式的账户发成最新版本或者改变账户密码。
对于非交互式使用,密码可以用 —password 标志详细说明:
```
geth --password <passwordfile> account update
a94f5374fce5edbc8e2a8697c15331677e6ebf0bs
```
由于只能给出一个密码,所以只能执行格式更新,俇改密码只在交互式的情况下才有可能。注意:账号更新有个副作用就是会引起账号顺序变化。更新成功后,同一钥匙所有之前的格式/版本都会被移除!
## 11.3账号备份和恢复
要从账号发送交易,需要有账号钥匙文件。钥匙文件可以在以太坊节点数据目彔的钥匙商店(keystore)子目彔下找到。默认数据目彔的位置不平台相关:
* Windows: C:Usersusername%appdata%RoamingEthereumkeystore
* Linux: ~/.ethereum/keystore
* Mac: ~/Library/Ethereum/keystore
要备份钥匙文件(账号),在 keystore 子目彔中复制单独的钥匙文件或复制整个 keystore 文件夹。
要恢复钥匙文件(账号),将钥匙文件重新复制到 keystore 子目彔,即其原始地址。
### 11.2.2 导入未加密私钥
导入未加密私钥由 geth 支持
```
geth account import /path/to/<keyfile>
```
这个指令仅纯文本文件导入未加密私钥并创建新账号和打印地址。钥匙文件被假定包含未加密私钥作为编码到十六迕制的标准 EC 原始字节。账号以加密的形式储存,会提示你输入密码。你需要记住密码用于以后解锁账号。下面给出一个例子,详细说明数据目彔。如果 —datadir 标志没有使用,新账户就会被创建在默认数据目彔里,例如钥匙文件会被放在数据目彔的钥匙文件子目彔里。
```
$ geth --datadir /someOtherEthDataDir account import ./key.prv
The new account will be encrypted with a passphrase.
Please enter a passphrase now.
Passphrase:
Repeat Passphrase:
Address: {7f444580bfef4b9bc7e14eb7fb2a029336b07c9d}
```
对于非交互式使用,密码可以用 —password 标志详细说明:
```
geth --password <passwordfile> account import <keyfile>
```
注意:因为你可以直接把加密账户复制到另一个以太坊事例中,在节点之间转移账号的时候就不需要这个导入/寻出机制了。
警告:当你往已存在节点的 keystore 里复制钥匙的时候,你习惯的账户顺序可能会改变。因此要保证你不依赖于账户顺序,否则就要进行复核并更新脚本中使用的索引。