Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
加密你的钱包会使钱包难以在没有密码的情况下打开(和使用)。 同样,拥有多个钱包备份对防止 Qtum 代币丢失也很重要。
; X/ _2 B" Z) m. k) f8 ?3 L  V% W8 v& A+ ?) b. i+ q
在继续之前,我想说明以下内容:
$ j9 `8 T' w: Q- Y% P强烈建议先备份钱包,之后再加密(以防万一)
8 p8 Q9 e# M" N加密钱包会改变HD钱包的主私钥(详见下文)确保在加密后不使用旧钱包。. Q$ l* T- E+ ?6 l( Y. \% g
如果要复制或移动钱包文件(例如 wallet.dat),请务必先关闭钱包/节点程序(例如qtum-qt)。
( @3 Q6 b- U" H# s在加密钱包时,建议使用 -noconnect 选项启动钱包/节点程序(例如qtum-qt)(详见下文)。9 z& }( F( H, p  `, q- Y! J: s
如果已经加密了钱包,必须要解锁(至少“只是为了 staking”)才能 stake QTUM 代币。: Q# K) q0 L( `  _) K1 D/ W
创造一个完美的(100%保证)安全系统几乎是不可能/不切实际的。因此,执行与安全相关的操作(例如输入密码等)总会存在一些风险。. H! Q9 g5 s3 _: w
和以前一样,本文作如下假设:$ A- r9 s! D1 K4 k- ?
. X5 }7 M/ y1 f; R& I9 p
你正在使用 macOS / OSX 或 Linux(例如 x86_64 / amd64 Ubuntu 16.04)。& E' z' P: i( }0 w/ V) N* W

0 N, U  v6 q  e你熟悉使用 Unix shell(例如 bash),Unix 命令和工具(如 tar).windows 用户需要找一下等价的命令(在本文评论里问–或加入 Qtum 社区的 Slack或Reddit)
& M# \  Z! {& q7 }& ?& ]' l' T7 ?
2 h" M1 R2 x0 d4 S5 E1 L本文用的是 qtum-qt GUI 钱包,但你也可以用qtumd钱包(使用qtum-cli命令行工具)。
+ N  e" b( u1 ~( \# p$ |1 C! `; S+ b( l+ z3 B
安装和启动Qtum钱包
! ^( {) z) w0 T( _$ D+ `, d+ q. P# f: \  }# N' E
按我之前发布的教程安装并启动 Qtum GUI 钱包。务必下载最新的 Qtum 钱包(例如本文撰写时是 Skynet Release v1.2)。+ Q. u# ~, a% i1 F; A' L

  @% {, T# i- _; a注意:没必要下载 Qtum 区块链,因此建议指定以下命令行参数:# A# n, u% A" T. `

+ B& k4 A5 M* ?; G5 X4 K7 A+ e$ bin/qtum-qt -noconnect
' D! t; O. m7 Y8 ?. _
1 A0 ]  D' u% s; h! O. S* p使用 -noconnect 将阻止 qtum-qt(或qtumd)钱包/节点下载区块链。本文中,我们只在钱包上操作。$ d; f3 s5 o4 ?) j0 t' S

( x4 Y$ e5 P6 Y. I9 \+ O" j, }' h即使使用 -noconnect 命令行,钱包也会显示警告,似乎还是要连到 Qtum 网络 - 但实际上并非如此(这个小麻烦作为问题#315的一部分得到修复)。 你可以解除/隐藏警告。9 @7 ^* M3 r# Q% W

" z% b- j: X+ m4 ~1 d/ G* {5 H回想一下,钱包文件(默认为 wallet.dat)安装目录(默认)跟操作系统有关:
6 t8 [* {* ~6 t) _6 m! S1 A3 B
- f' n; g1 `- d" r! q4 @; {Linux: ~/.qtum% o1 q+ ?: h* ?3 i  r6 A7 @
macOS/OSX: ~/Library/Application Support/Qtum
6 @2 W1 c' k: ^3 x9 ZWindows: %APPDATA%\Qtum# C# f' z0 A$ O& p  `: c7 n9 @

  y; O2 r! J8 `0 K/ @确保你可以找到 wallet.dat 文件。之后我们处理这个文件。
+ Z5 b6 ?" D3 Q7 A0 M* N4 d
0 g( u4 s/ c1 |; x调试控制台(Debug Console)8 H, M- l+ H$ Y. X5 m. t$ z6 p

8 c: T4 c( S8 w3 n* R' @qtum-qt GUI 钱包包含一个内置的“调试”控制台,可以用控制台与钱包进行交互(比 GUI 功能多)。使用Debug Console 或多或少等同于使用 bin/qtum-cli 工具(即进行 RPC 调用)。) u" r( T2 ^0 {5 i6 I  W- c) m8 N0 z

1 K$ j6 F) v" f2 v% R要访问调试控制台,选择“帮助”菜单栏下的“调试窗口”:& Q. @3 P5 D) Q) X3 b% w

2 w1 S, T; F" V) Y& t
8 C7 U9 L+ l$ v) [; D" |; w" R3 b8 V! y) {. R
接下来,选择“控制台(Console)”7 J* X  s4 K8 t# }

0 N; I9 [2 u1 |6 B! ~/ J# Q$ ^) v& O5 E2 n6 }, e- }
+ y# d* b8 }9 [" t4 _2 B# t3 w" H
在提示符处(在底部),可以输入 getwalletinfo 等命令:
- ~6 M3 x9 q) S2 X. q  y0 p1 o' V$ t$ ]
$ J: S( m5 u" v8 g
3 {, z: p% O1 G. \2 l
按Enter / Return后,会有结果:
6 e* v0 f- j  X3 Z. L
" G5 O, W/ R. O& t- ~7 B
. A* f4 ]6 f% C
+ B; d$ g# V* J. s5 X可以输入 help 获取所有可用命令的列表。
) b+ [/ D3 b$ A) r4 ]
7 a6 r/ }# \. W0 THD 钱包5 V8 N- }8 M- a0 B; c8 e

4 P" U/ u' Q" P/ Y+ T% L' m& K除非(奇怪地)指定其他方式(使用特殊的命令行选项),否则 Qtum 钱包类型就是HD 钱包。简单来说,这意味着钱包创建的地址是预先确定的。这很有用,因为每次分配新的 Qtum 地址时都不需要备份钱包。默认情况下,钱包预先创建 100 个地址,并根据需要添加更多地址。( A& K1 L9 I* g

! w5 |; o! b( B9 J正如注意事项部分所述,如果加密钱包,它也会更改主私钥 - 这意味着未来(预先确定的)地址(除加密前钱包中的地址)将会改变。
$ B1 d8 b* n4 V$ G# n" `' V  h8 T- Q
钱包地址转储(dump)到文件中
# F5 n2 p+ B  U2 G5 u1 C7 D( C! H3 G' F, p6 Q" F/ s
查看预创建的 HD 钱包地址的一种(可选)不安全方式是将钱包中的密钥和地址转储(dump)到文件中。钱包转储文件将包含所有(私)钥及其关联的 Qtum 地址 - 因此,这不推荐在打算保持安全的钱包上执行。
- b/ f0 G7 B) P- Y3 h3 f: W' N- s
可能你想自定义 -datadir= 命令行参数(而不是 -noconnect)来实现上面这个操作。这会创建一个新钱包(即 wallet.dat 文件)和其他文件、目录等到你自定义的目录下。实现这个操作后,请删除这个临时文件夹。
- r0 p) q3 O2 p( i2 |5 V5 C5 `3 _* h' m( O
用调试控制台(前面介绍过)输入:
; O' \( l& F# A  B7 r7 e2 u0 g" f" _# I
> dumpwallet /tmp/wallet_dump.txt
. N. P, V( ?6 X2 F0 z& l; J& \4 u6 c& g- S
注意:将 /tmp/wallet_dump.txt(上面)替换为你喜欢的目录/文件名。( F9 [- @8 ]( Z9 a* _, }* _1 K
' l; Q# d8 @4 D  o' T
随便打开 /tmp/wallet_dump.txt。可以看到:, n) v: f! ~' j

5 Z  L& ^+ [. ^# Wallet dump created by Qtum v0.14.2.0-797c365-dirty
5 u6 L4 f) A. c  `) U# * Created on 2017-09-04T22:01:27Z
: G' S% l$ ?- r4 @1 m# * Best block at time of backup was 16752 (9d57d56217fff0ba9fe948189529b6b05eab9634b511b96fad7665f2a6685a83),
# ~+ N# r" o9 ~" `0 v6 j# mined on 2017-09-04T22:00:32Z( Z& K) K2 w( k% b( a0 \/ P

% p% f7 l7 I% t7 Z( o# extended private masterkey: xprv9s21ZrQH143K32GwedMSgRTR4dFQeHX27y8QpyzdoUv58e9n4MfJiEwyAvJc974i48GGJMqrhA2tPQyYyr7FrUnh7vwUN3wUo2bUFCuj4w2+ q+ t5 i3 C: y5 q- d3 Q0 O
6 f1 y; [" t# \# Z5 `* [2 L" V
L1Pu11NpYqNcozCYFpojbAff3sCMRoubgSJHN6S8Vc3BD8qaeug5 2017-09-04T21:55:04Z reserve=1 # addr=QLf8eTZwSMEsud9P1gBWUb4HM6u9asTH1o hdkeypath=m/0'/0'/9'7 L: J0 @: t' s+ ~1 g, N8 N
KwwnFgfhdNEm6ZeNZpf5Q77oBymcT6hgDY9DNaHF3xbM5PdLUQwP 2017-09-04T21:55:04Z label= # addr=QM4SUqLkzoMM5TStmNeWQU18wbqzbNtUDo hdkeypath=m/0'/0'/0'+ e0 t' H  a: w
L5DbkJaPBDMiPApP43fzaHZEdZ1GcQcgwbWJMyygBcf2MsKmSS3Q 2017-09-04T21:55:04Z reserve=1 # addr=QMRdFtfAJ52hC5pL6p1xi6EUJ94C6aYSD2 hdkeypath=m/0'/0'/3'
/ }: S7 h9 I, I7 C" P- K/ y& d3 P...
5 L7 m/ P( c' \: R5 |
8 T5 \- D- K- b' r9 W4 S. F1 fL48dP3kLACS71g8czia14iJA5beepyYLBWpXgasgfHWbc8pAZZ6y 2017-09-04T21:55:04Z hdmaster=1 # addr=QaXBqRoPcFGfa3cuqYJ6nvAstZioKt2yBx hdkeypath=m
$ h, v! y: ^9 o$ y: w! x. v) D1 n3 @2 K8 h5 O- T8 [
..., ?; Y# ^7 ~/ b* x0 h( E( l
! j% ?/ p( o) K
KyeTUmMrMezBLkTeMtjuExUxQ4Sb6KVaznCdNwaCmkwG3qSUrqsf 2017-09-04T21:55:10Z reserve=1 # addr=QZFZfsfim7os3349ydRC7F1FBqCQvmjLic hdkeypath=m/0'/0'/97'6 u4 _& V1 e( y! m& W
KxXbhnbzK7Y9SrAoL196NXunUzCBT7arobxadA5UMFLEW9bQS6DQ 2017-09-04T21:55:10Z reserve=1 # addr=Qdh9sZQDd3tqT2emHsvh5Exhgf527iLG2v hdkeypath=m/0'/0'/95': x: b9 ^6 k% m& U
L1g2UcRTm3JyV7DRjqpKGkRbGBhdhgqVZ9GFdRnvRcQBgWt26o4q 2017-09-04T21:55:10Z reserve=1 # addr=QeV4zHE6Vb7sFYhs26R1XNMokQSr3EKpyk hdkeypath=m/0'/0'/96'
6 G3 w9 ]& v: M& ]: i* k9 aL3Sh2JsPZw8dhVFWLCh1rupSPGwtjazUhsxFhfskRRCk4AzvEz8G 2017-09-04T21:55:10Z reserve=1 # addr=QiBpoHSfGwJbtJqRsNFTua7hGaMv8zGbGe hdkeypath=m/0'/0'/100'
  W: ^8 D5 A* h/ T/ [# ]) |2 F* v! [% M: U
( X4 s$ t7 l) M$ g- v( q" T# End of dump
: \' K6 A* j2 d$ A" @1 O  c$ Y
8 Y  h. @3 ^( B" [+ `大概有创建了 101 个地址(即 m/0’/0’/0’ 到 m/0’/0’/100’)再加上hdmaster。
" v1 B; `% j1 D) r3 @" F6 r3 L. i4 P! i
备份钱包
8 _% n1 E1 ~6 ]# M" P, r) ?: B" {. p% s6 f/ h+ U: f
希望你找到你的 wallet.dat 文件了(参见前面的部分,找到它的位置)。有两个备份钱包的选择:* }* @3 V/ p# W  ~& Z- F

* W) |3 E/ ?& o  g( ?将wallet.dat文件复制到安全位置。7 |" g3 B+ n5 K# I) J8 B
, k8 G5 A$ P& n1 O. E6 }
在调试控制台中运行 backupwallet 命令,将钱包文件写入安全位置。
: Z1 ~- H9 V2 T0 v8 @6 |/ s- T: Q7 r6 X  i0 v. U( _
选第一项的话,请确保 Qtum 钱包/节点程序(例如 qtum-qt)未运行。4 ^8 _! n) G& e4 J0 Y
9 O0 W! R, E, g2 \9 p4 N
选第二项的话,只需在 Debug Console 提示符下输入 backupwallet,获取有关如何使用该命令的帮助(即,它需要 1个 参数来指定目录或带有文件名的路径)。
+ E$ I/ D8 y! [/ K$ O% g5 {. g7 K; m; O4 k' L' l: A: j
确保将钱包备份文件放在安全的位置(例如安全的U盘里等)
7 u0 g8 W6 Y, ~7 z- B8 M) K, }
( R. H7 c% {8 E加密钱包
! ^6 W* S, X% N/ ~2 ]8 G
' V8 h2 k  [; }, G强烈建议在加密钱包之前先备份好钱包。7 H$ p7 A7 U, l' n9 s
$ \4 }% y4 J- F6 g, {
要加密钱包,请选择“设置”菜单栏下的“加密钱包…”选项:
% ?6 n( X% x4 E- z* \5 {6 Y* T# A4 a
接着,确保输入一个安全密码用来解锁钱包。: G; q" y/ `- }7 E0 I( S9 d( I
4 K0 Y* g$ E4 @
$ D1 P# T% _( s
; v; G1 H2 r8 {+ I; G
阅读并接受警告(是的,请记住密码):
7 Q$ z# n: T! @: M& ?7 e% P: |8 y4 L) l- H& D

8 |; y  \+ y- V5 @* m, m; U
1 ^6 h/ t) i) C; h' b$ l! j5 G4 M! q加密完成后,收到另一条消息:
9 K: n8 R/ e7 a. K  Y& |# @& S0 a+ ~! w3 l) G* H; I4 S

3 l0 V/ K7 f; G$ C( a! b7 ]: C6 s" e4 f9 w8 O, [5 i
单击“确定”,然后关闭钱包/节点程序(如qtum-qt)。
0 x6 }7 K! F. b: z$ }/ ]: K  n/ c1 N$ ^# E/ M* P  f
关闭钱包/节点程序后,建议用前面提到的第一项备份钱包(即复制加密的 wallet.dat 文件),然后重启 qtum-qt。/ z! v8 u0 ^6 Y2 I$ N/ Z
* L& c- g% R" D9 c% n8 E' H" _
解锁钱包
2 u  C( M1 V6 O: v* A$ u9 d0 D
) n& O% {% [2 ]! ~9 e重启加密的 Qtum 钱包后,你会在右下角看到“锁定”图标:
& v8 y% B3 F# ?
- O6 U9 h1 ]% n0 Y$ w* j- u" l& Q9 q
' r  I3 U' N7 T* f; y
这意味着(加密)钱包目前已被锁定。你不能用锁定的钱包 staking QTUM 代币。
/ f. c8 E, Z# f) d$ \! d
- y# e* M  j  A1 n- k7 O注意:启动后的一段时间内,钱包可能看起来没有响应。这是正常的。
0 w6 Y3 n9 V0 _* e" L0 ~6 c  M' C
$ K* I1 w% T) C& R- t要解锁钱包,请选择“设置”菜单栏下的“解锁钱包…”选项:6 e7 G* o- {" d1 c
5 B& E. P$ w. l. C7 W: B: f8 m
# Z+ P7 b5 h" n$ A4 W/ X$ o4 D$ V

7 A' ^" S8 ]9 _' C1 C. M0 F然后,可以看到欢迎页面:
% c& L! p- [2 D. t* E% A
9 ~% K5 c7 l/ Z! a# y: N) x6 N; v4 l3 |4 q8 W8 s4 Q+ _$ P

2 N, O6 V" C7 {" l7 a* ?" O6 w输入加密钱包时设置的密码。还可以选择是否只为 staking 而解锁钱包。如果选择这个选项,则你(或任何访问正在运行的钱包/节点的人)将无法从钱包中转移代币,或执行任何需要访问钱包的操作 - 例如将钱包转储(dump)到文件(在调试控制台中使用 dumpwallet 命令)。 不过,backupwallet 命令仍然有效。
! v5 u# I0 ~- k/ L( E) \" _8 v$ J$ H% w
如果仅为 staking 解锁,你会注意到右下角的图标如下所示:
1 p% x. `' O. T2 {  L/ D! p( E6 p  u& a6 D
! d0 Q- G) S+ w. w/ o  h

* S2 [' _8 y, u, X3 ]* l如果不是仅为 staking 解锁,你会看到一个略有不同的图标(和悬停消息):$ Y( L/ T& ~* t' Q6 L- v
+ q) W6 {) f4 F) E  P
& r0 l' q* ^; W/ U5 X& `. v! Q
& r% u3 W: m7 r  @2 G- E8 B
如果你刚刚在第一次加密钱包后就解锁钱包,我建议你再进行一次备份。: i" a8 Q  c& l+ z+ K1 f

. c1 u3 @+ _/ I. O锁定钱包
8 J( G( n2 c0 M/ \8 z% t) O6 H
& s9 h/ r0 m, T, z要再次锁定钱包(例如,如果想让钱包/节点保持运行而不staking 代币),只需选择“设置”菜单栏下的“锁定钱包…”选项:
5 T6 V* G8 s0 r  w: y$ e7 O, ]  |0 l+ M) I8 V. u
. ~( }; A  t' q8 N- |) \3 z$ \
恢复钱包
  E9 V- S/ P- N. d
  r: X# G* w* Y& p) a3 P如果你完全丢失了正在运行的钱包(以及区块链区块数据),可以通过将(先前)备份的钱包文件复制到(跟操作系统有关)数据目录中,然后重启 Qtum 钱包,轻松恢复钱包/node程序(例如qtum-qt)。
" Y# L. o$ j. Z6 J$ N7 v& Q" Y, `
' @, o# m) c' h% Z, n& F' ~6 E& V如果数据目录不见了(比如你换了台新电脑),最简单的是:6 c2 b8 @/ y% W8 J# q

2 k2 u% G7 X6 `8 C) l& j6 p% L: T使用 -noconnect 命令行参数启动 Qtum 钱包/节点程序,以便重新创建数据目录。5 Y2 _# R9 B' u: I% {1 k5 H/ F7 D
) K0 N' Y  V" h+ S
钱包/节点程序运行后(大约10秒左右),再次关闭它。  G* Z( C6 {) Z; |5 x2 O
+ v0 ^7 Z6 b" ^7 D8 `' Z" L
将(跟操作系统有关的)数据目录中创建的 wallet.dat 文件替换为最新的钱包(即 wallet.dat 文件)备份文件。
0 P6 |& S: J* c; b* t* j! y9 F3 ]; G" @: L
不使用 -noconnect 命令行参数重启 Qtum 钱包/节点程序。' ^, @' J9 z0 k0 d% n% e( [6 }+ X

# F9 c2 W" ^  U+ ~上面重要的一步是确保钱包文件(即 wallet.dat 文件)在正确的(跟操作系统有关)目录。# [) B5 P7 D2 a3 _! b

1 Q3 \/ k$ ^* J; k 注意:这不是Qtum(Quantum)团队的官方文章。我只是一个粉丝。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

mark7914 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2