Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
加密你的钱包会使钱包难以在没有密码的情况下打开(和使用)。 同样,拥有多个钱包备份对防止 Qtum 代币丢失也很重要。
( x: M$ `# q% N' X2 a) p
6 g% U7 a  M, E& g/ o在继续之前,我想说明以下内容:
- N2 e' U1 e- V* |! {7 K6 B# p强烈建议先备份钱包,之后再加密(以防万一)
4 s; S0 f( g; H% O加密钱包会改变HD钱包的主私钥(详见下文)确保在加密后不使用旧钱包。
4 F! S3 U4 T3 {/ ~& q如果要复制或移动钱包文件(例如 wallet.dat),请务必先关闭钱包/节点程序(例如qtum-qt)。
8 J9 Z/ m) z; u" _) C在加密钱包时,建议使用 -noconnect 选项启动钱包/节点程序(例如qtum-qt)(详见下文)。0 a7 Y( e0 P0 H0 T( [- C" ], [; @- }. n
如果已经加密了钱包,必须要解锁(至少“只是为了 staking”)才能 stake QTUM 代币。
5 z: K3 L9 v2 s' i创造一个完美的(100%保证)安全系统几乎是不可能/不切实际的。因此,执行与安全相关的操作(例如输入密码等)总会存在一些风险。
9 A! y) v" t: f2 B9 d. w" W和以前一样,本文作如下假设:
" r! \3 b3 }$ S$ Y. ^1 T7 y. q% c
你正在使用 macOS / OSX 或 Linux(例如 x86_64 / amd64 Ubuntu 16.04)。/ M1 o) q, i2 F; v* M( Q) }
5 ^( `: _; e5 W! v. H
你熟悉使用 Unix shell(例如 bash),Unix 命令和工具(如 tar).windows 用户需要找一下等价的命令(在本文评论里问–或加入 Qtum 社区的 Slack或Reddit)0 Y$ v0 n! |, X
1 n8 ^9 m4 O/ p  a8 q
本文用的是 qtum-qt GUI 钱包,但你也可以用qtumd钱包(使用qtum-cli命令行工具)。
0 |- Q6 z  T+ w7 W1 C
* h; ?3 t4 r6 [6 |( O( Z安装和启动Qtum钱包, v; C  y2 \! X* C+ O

0 v0 n0 h9 q# r) ^按我之前发布的教程安装并启动 Qtum GUI 钱包。务必下载最新的 Qtum 钱包(例如本文撰写时是 Skynet Release v1.2)。# R7 n) u3 R7 e2 ~; ^* a, a

. R8 }. u+ E% _' \注意:没必要下载 Qtum 区块链,因此建议指定以下命令行参数:$ [/ {, M! O; A# o

# r9 N# H$ l! Z4 Z$ bin/qtum-qt -noconnect$ Z, Z, C5 h& s- u* L" \! Q

( S9 }; {: O3 O- C! S使用 -noconnect 将阻止 qtum-qt(或qtumd)钱包/节点下载区块链。本文中,我们只在钱包上操作。
/ G5 e$ P# _2 A5 f( \* ]  _
' F" K! t& E+ u! N1 J) b即使使用 -noconnect 命令行,钱包也会显示警告,似乎还是要连到 Qtum 网络 - 但实际上并非如此(这个小麻烦作为问题#315的一部分得到修复)。 你可以解除/隐藏警告。4 j- w# g8 ?' f  V
+ h6 V. E+ q3 e" V; {3 ~) f
回想一下,钱包文件(默认为 wallet.dat)安装目录(默认)跟操作系统有关:: U8 @5 J- I3 K1 [8 o# V) _8 U
0 Z0 i" _9 S0 h, U7 c1 K4 v
Linux: ~/.qtum
2 W+ ?; K& q3 _1 ZmacOS/OSX: ~/Library/Application Support/Qtum
3 f0 d  r1 W+ M, A+ V9 GWindows: %APPDATA%\Qtum
" E5 b2 S# o$ b' N' v
- X8 E( T) y1 B4 v确保你可以找到 wallet.dat 文件。之后我们处理这个文件。
  I: d9 W& B% z+ y5 z9 r( ?
, g7 J/ l7 O* M/ O; }0 I调试控制台(Debug Console)4 Y6 q: r) Q! A3 J4 V
  E1 s; x0 f" }3 T" [
qtum-qt GUI 钱包包含一个内置的“调试”控制台,可以用控制台与钱包进行交互(比 GUI 功能多)。使用Debug Console 或多或少等同于使用 bin/qtum-cli 工具(即进行 RPC 调用)。0 U1 n7 {, r( Y9 `5 N' N
  {! H' V! h! r& M- \9 s$ v7 N9 [
要访问调试控制台,选择“帮助”菜单栏下的“调试窗口”:
! T" E) O( L* N1 n
) |& Z8 R' ^# c1 }# K  O! I
* c4 E0 h7 F* C. s# F* L, A! |- s; C; h7 v3 i
接下来,选择“控制台(Console)”
1 y' W& r" l, B3 I) `- y9 b& Y  X4 X( R7 d! z3 }7 C
. s  T% ], G) L2 }" U# e
/ o6 u1 M* |0 X1 O0 d0 A2 z' l
在提示符处(在底部),可以输入 getwalletinfo 等命令:
7 f4 y" b/ ]. A) p( b, r
; H4 M6 B8 n' j# e% W8 d0 y1 M/ {2 J3 x
, c& I& k2 l) m1 d8 x( c4 {
按Enter / Return后,会有结果:7 C) R0 g' b" e
- w- ?! l% A. a0 i% Q
& v3 r( L. [9 @9 d( f9 f
% X( f, C, u6 b! G
可以输入 help 获取所有可用命令的列表。
1 g8 |5 h6 z, T
% g9 `7 `. f- G& C# h3 F4 `+ KHD 钱包5 T! b4 I6 ^$ l0 ~& E
% L3 f" d1 N# A% l- D$ ~
除非(奇怪地)指定其他方式(使用特殊的命令行选项),否则 Qtum 钱包类型就是HD 钱包。简单来说,这意味着钱包创建的地址是预先确定的。这很有用,因为每次分配新的 Qtum 地址时都不需要备份钱包。默认情况下,钱包预先创建 100 个地址,并根据需要添加更多地址。
7 q# ]* i. p. Y4 L7 F
  T& c7 k; \- M5 L3 y正如注意事项部分所述,如果加密钱包,它也会更改主私钥 - 这意味着未来(预先确定的)地址(除加密前钱包中的地址)将会改变。( A7 f5 a5 l/ j1 J+ F
2 Z' A& {. g0 a5 |
钱包地址转储(dump)到文件中( J7 f8 ~4 v) S6 }* Y% C; @6 ?2 q
/ B3 Z2 H' U: ?' b% E9 r  ^0 j
查看预创建的 HD 钱包地址的一种(可选)不安全方式是将钱包中的密钥和地址转储(dump)到文件中。钱包转储文件将包含所有(私)钥及其关联的 Qtum 地址 - 因此,这不推荐在打算保持安全的钱包上执行。
8 R$ Y8 p5 {# o# E! g1 X: p" n4 ~+ w  h
可能你想自定义 -datadir= 命令行参数(而不是 -noconnect)来实现上面这个操作。这会创建一个新钱包(即 wallet.dat 文件)和其他文件、目录等到你自定义的目录下。实现这个操作后,请删除这个临时文件夹。! Q* C+ S  d) K" j" b) C
* e* j3 x+ k' o. ~1 j; d/ y) u3 A: ?2 v6 S
用调试控制台(前面介绍过)输入:
* P: v8 ^$ K4 d9 T" `3 o: e8 x( c. A8 S6 X. ~% N. {
> dumpwallet /tmp/wallet_dump.txt0 T+ [/ {: z( V* H
5 `) _; J, H+ |2 ^' x% ?
注意:将 /tmp/wallet_dump.txt(上面)替换为你喜欢的目录/文件名。* q8 b" y0 j3 L" b$ v# G. h7 C

- B( u1 i' K; L6 m4 @3 a随便打开 /tmp/wallet_dump.txt。可以看到:5 \7 l, U, l! L
2 s5 D4 Y: R4 U" B' d
# Wallet dump created by Qtum v0.14.2.0-797c365-dirty; @+ }6 V, k- W/ S! e, ?9 j( W
# * Created on 2017-09-04T22:01:27Z$ ^" O; R& c+ o7 `9 F
# * Best block at time of backup was 16752 (9d57d56217fff0ba9fe948189529b6b05eab9634b511b96fad7665f2a6685a83),
3 d; ^1 E6 L# R; Q! }' N4 c3 x! N' z# mined on 2017-09-04T22:00:32Z
; _  S( W( |; ^# h- E( R6 O' ~/ r. P
# extended private masterkey: xprv9s21ZrQH143K32GwedMSgRTR4dFQeHX27y8QpyzdoUv58e9n4MfJiEwyAvJc974i48GGJMqrhA2tPQyYyr7FrUnh7vwUN3wUo2bUFCuj4w2- s1 |: o+ k- r! W0 |

! W. c2 j! t$ K: kL1Pu11NpYqNcozCYFpojbAff3sCMRoubgSJHN6S8Vc3BD8qaeug5 2017-09-04T21:55:04Z reserve=1 # addr=QLf8eTZwSMEsud9P1gBWUb4HM6u9asTH1o hdkeypath=m/0'/0'/9'' ^/ q& S) P0 c7 x3 x
KwwnFgfhdNEm6ZeNZpf5Q77oBymcT6hgDY9DNaHF3xbM5PdLUQwP 2017-09-04T21:55:04Z label= # addr=QM4SUqLkzoMM5TStmNeWQU18wbqzbNtUDo hdkeypath=m/0'/0'/0'
% ?( |% F! P1 z- z' w& w# cL5DbkJaPBDMiPApP43fzaHZEdZ1GcQcgwbWJMyygBcf2MsKmSS3Q 2017-09-04T21:55:04Z reserve=1 # addr=QMRdFtfAJ52hC5pL6p1xi6EUJ94C6aYSD2 hdkeypath=m/0'/0'/3'/ I# i& P1 [+ Y, M( c1 [! P# z
...) {2 o$ n+ ?& l5 V

- S& Y& E: b! Q9 k3 tL48dP3kLACS71g8czia14iJA5beepyYLBWpXgasgfHWbc8pAZZ6y 2017-09-04T21:55:04Z hdmaster=1 # addr=QaXBqRoPcFGfa3cuqYJ6nvAstZioKt2yBx hdkeypath=m5 A6 [. l/ C- J8 G0 P+ e0 U
5 ?9 `! r8 B+ T, e
...+ I% w0 m# p9 D: G

1 D4 @2 Y$ [  l6 S. h& xKyeTUmMrMezBLkTeMtjuExUxQ4Sb6KVaznCdNwaCmkwG3qSUrqsf 2017-09-04T21:55:10Z reserve=1 # addr=QZFZfsfim7os3349ydRC7F1FBqCQvmjLic hdkeypath=m/0'/0'/97'
$ ]4 {9 L/ @, Z( v, x: IKxXbhnbzK7Y9SrAoL196NXunUzCBT7arobxadA5UMFLEW9bQS6DQ 2017-09-04T21:55:10Z reserve=1 # addr=Qdh9sZQDd3tqT2emHsvh5Exhgf527iLG2v hdkeypath=m/0'/0'/95'
, K- r8 V) a+ Y4 KL1g2UcRTm3JyV7DRjqpKGkRbGBhdhgqVZ9GFdRnvRcQBgWt26o4q 2017-09-04T21:55:10Z reserve=1 # addr=QeV4zHE6Vb7sFYhs26R1XNMokQSr3EKpyk hdkeypath=m/0'/0'/96'  Y% l/ D" L: `  U! Q! j
L3Sh2JsPZw8dhVFWLCh1rupSPGwtjazUhsxFhfskRRCk4AzvEz8G 2017-09-04T21:55:10Z reserve=1 # addr=QiBpoHSfGwJbtJqRsNFTua7hGaMv8zGbGe hdkeypath=m/0'/0'/100'9 f* U) b9 q% `" N
2 n4 P3 b! y5 k1 c! A' F5 F5 Y
# End of dump
. k! k% p% B. V: ], S  g7 y: N
) n0 b/ T# D# i: C( A1 {$ i3 r7 ]" K大概有创建了 101 个地址(即 m/0’/0’/0’ 到 m/0’/0’/100’)再加上hdmaster。+ k! u) N8 I/ F

* a  A' a7 k. G0 L备份钱包
- T& `4 \) @9 m* ]2 v. E; q9 Y
. T6 y  v8 p, [! B希望你找到你的 wallet.dat 文件了(参见前面的部分,找到它的位置)。有两个备份钱包的选择:
3 Z/ ^# b. F: ]. `( k
+ R8 B5 F8 @6 t' m  F5 ]将wallet.dat文件复制到安全位置。1 b& u1 f1 f! N5 s/ H; i$ I' `. S+ I
% i! p- r+ u" s6 C) L% f
在调试控制台中运行 backupwallet 命令,将钱包文件写入安全位置。! V0 a" p4 }% L! x( w

- `2 y5 V& Q* ~5 h选第一项的话,请确保 Qtum 钱包/节点程序(例如 qtum-qt)未运行。
/ c: S" y5 @# w
# a3 p! G: O; f选第二项的话,只需在 Debug Console 提示符下输入 backupwallet,获取有关如何使用该命令的帮助(即,它需要 1个 参数来指定目录或带有文件名的路径)。
. {" ~1 m$ N2 d$ ]$ {, {
+ T, q5 ^' J: B7 f5 @( L, O" [确保将钱包备份文件放在安全的位置(例如安全的U盘里等)
% A( m8 X4 q) m9 b- ]$ [# b7 J- n; `9 x, i2 U; n$ c# h
加密钱包% N! K& d. t) M' V; }
" \$ p. q# o4 v3 l" Y- o
强烈建议在加密钱包之前先备份好钱包。* s" J0 t! d. ~; E: d
5 T. k  g" x' t4 o8 w; t7 r4 h8 t" `
要加密钱包,请选择“设置”菜单栏下的“加密钱包…”选项:$ L$ S8 G( V, V  X

+ J' R" X9 h) l* m0 ~接着,确保输入一个安全密码用来解锁钱包。) w+ s; x( c, t9 ^' \$ P/ g6 ^

5 b9 H6 E! g1 r% d7 ^; W
1 F: ^" A* i2 J! N* z4 F% c0 l3 n  h1 J$ @
阅读并接受警告(是的,请记住密码):
# D* D& @% Q+ [: F. j+ \, A) y! e% P  e+ O. g! a: {) {5 k
4 b) V4 M0 A  p/ q

0 D3 B  t: ?. m/ q加密完成后,收到另一条消息:
2 V( f- r/ g" M0 n% N; B3 A
8 a  T+ x  i( _; H9 o; B5 c6 M
0 H: m7 m5 e  c( u" x9 L
" {* d! N) G" q' ~8 L7 {; g& \单击“确定”,然后关闭钱包/节点程序(如qtum-qt)。
) [/ m2 s# ]. D% |5 Y7 S% R0 n7 d( n( U9 E; J7 E, s! X
关闭钱包/节点程序后,建议用前面提到的第一项备份钱包(即复制加密的 wallet.dat 文件),然后重启 qtum-qt。- X' p) W4 b. \5 n: s. x9 F

: j/ d7 z, K( C+ s6 W9 c解锁钱包
0 _& A' P5 J- c
7 f& q. y4 R- T) j) I' V+ g" g2 b重启加密的 Qtum 钱包后,你会在右下角看到“锁定”图标:
9 p" K* Y; M$ J; r( L
* T. l# z$ K, r/ w8 q1 o, G2 K+ ]& P( j( ]( Z% X
) T6 f0 b5 l3 n9 w
这意味着(加密)钱包目前已被锁定。你不能用锁定的钱包 staking QTUM 代币。
2 G0 Z7 I! l. f7 D* o$ x9 M* ]  ?0 `9 v2 m! i) x* j1 o: c
注意:启动后的一段时间内,钱包可能看起来没有响应。这是正常的。9 d; d+ B' s% ]$ F7 @& L% w

6 c7 m# Z- f- _; I, ]+ _* z要解锁钱包,请选择“设置”菜单栏下的“解锁钱包…”选项:
, ]6 ~8 Z4 v( @
! j* @9 p2 g" P; J  T$ d8 ^- s# T) \" T! l" x1 O* ^) o) L7 C

* t: @$ u$ z$ G4 M1 x; g5 u然后,可以看到欢迎页面:4 b: i: z5 B# c( Y  k
* n, f  v2 w1 Z+ u* T
8 G1 D# G$ C2 ~  j: J

/ z' x2 r' A" ^- B输入加密钱包时设置的密码。还可以选择是否只为 staking 而解锁钱包。如果选择这个选项,则你(或任何访问正在运行的钱包/节点的人)将无法从钱包中转移代币,或执行任何需要访问钱包的操作 - 例如将钱包转储(dump)到文件(在调试控制台中使用 dumpwallet 命令)。 不过,backupwallet 命令仍然有效。
; y1 N1 `. \) ^1 ]. c, w% B" M' _% {" R9 |  l: o
如果仅为 staking 解锁,你会注意到右下角的图标如下所示:
' O6 Q6 H0 ~5 t7 }( j
/ v  \, N% u8 _  s9 I; l5 H4 F$ H- S
( X7 g/ A( L7 y: L& l
如果不是仅为 staking 解锁,你会看到一个略有不同的图标(和悬停消息):
- U6 n7 f& Q  a, L! ]9 y  ~0 l1 q# a( s  F7 q
- t2 y+ I  c! W- |7 m$ S- x$ d

# S$ ^- Z# i4 s3 ~$ e! b( E* n: g% @如果你刚刚在第一次加密钱包后就解锁钱包,我建议你再进行一次备份。
8 V, d: e5 k2 w1 Q  `
+ Q4 Q- ]8 B3 D! f锁定钱包3 H, Q4 V: P' u1 f- l1 U

' L2 g  W  Q3 G# F要再次锁定钱包(例如,如果想让钱包/节点保持运行而不staking 代币),只需选择“设置”菜单栏下的“锁定钱包…”选项:# l5 G$ @6 X5 b: W* n% z8 T
9 G# G  v5 w2 W, }6 ~" s
0 g0 d  `( g* k1 o% u, w) `! w5 T
恢复钱包
5 G0 h% Z9 ]# g+ H/ u& |# m7 Q/ [3 M8 ]; E
如果你完全丢失了正在运行的钱包(以及区块链区块数据),可以通过将(先前)备份的钱包文件复制到(跟操作系统有关)数据目录中,然后重启 Qtum 钱包,轻松恢复钱包/node程序(例如qtum-qt)。
2 E  R" N1 K) g9 D4 O1 ~) d9 X% b! z& \! F% ?
如果数据目录不见了(比如你换了台新电脑),最简单的是:
4 S1 j! n9 o; ]) @( b2 e" i9 M
0 `  V3 o+ h. }! E& M使用 -noconnect 命令行参数启动 Qtum 钱包/节点程序,以便重新创建数据目录。
- Q' W, o1 }/ Y6 a0 }: {$ ^* ~8 w( M/ n& t) b
钱包/节点程序运行后(大约10秒左右),再次关闭它。# w/ ~6 v3 M7 `5 c/ z
' }0 ~* [0 ]0 u; z' r3 D
将(跟操作系统有关的)数据目录中创建的 wallet.dat 文件替换为最新的钱包(即 wallet.dat 文件)备份文件。
1 ~% S3 p2 t7 E
0 H9 H- [: |  A) S; M  `6 A  F9 T不使用 -noconnect 命令行参数重启 Qtum 钱包/节点程序。7 z# z4 u0 ~$ Q
7 {, b/ g; g" t4 r& K
上面重要的一步是确保钱包文件(即 wallet.dat 文件)在正确的(跟操作系统有关)目录。+ K3 w% n; D1 I7 r+ [# \
2 H- O* Q' V. i3 V5 B
注意:这不是Qtum(Quantum)团队的官方文章。我只是一个粉丝。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

mark7914 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2