Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
加密你的钱包会使钱包难以在没有密码的情况下打开(和使用)。 同样,拥有多个钱包备份对防止 Qtum 代币丢失也很重要。- o4 S9 L7 v1 |- C0 M
3 g* T5 D' U  i
在继续之前,我想说明以下内容:# R# {7 x& i: n6 U) o, t
强烈建议先备份钱包,之后再加密(以防万一)4 D+ q& F- ^. \/ d- U' w
加密钱包会改变HD钱包的主私钥(详见下文)确保在加密后不使用旧钱包。! j( G; I1 w2 s: h, O" \
如果要复制或移动钱包文件(例如 wallet.dat),请务必先关闭钱包/节点程序(例如qtum-qt)。3 C9 z/ _6 D8 v; a! o; O# g% M5 M, H
在加密钱包时,建议使用 -noconnect 选项启动钱包/节点程序(例如qtum-qt)(详见下文)。
+ v" l+ n1 f. B) e9 v% m8 x: @如果已经加密了钱包,必须要解锁(至少“只是为了 staking”)才能 stake QTUM 代币。  V) Q- A% T7 r3 e( `( [( O
创造一个完美的(100%保证)安全系统几乎是不可能/不切实际的。因此,执行与安全相关的操作(例如输入密码等)总会存在一些风险。! j. N. M" C5 U$ w. D
和以前一样,本文作如下假设:2 y  n$ l$ V  j8 p) D

+ F9 [6 o3 K! W; `你正在使用 macOS / OSX 或 Linux(例如 x86_64 / amd64 Ubuntu 16.04)。- l9 G- l0 `5 C4 ^. D2 m1 p

' i' {7 \: z( a2 C4 T' [你熟悉使用 Unix shell(例如 bash),Unix 命令和工具(如 tar).windows 用户需要找一下等价的命令(在本文评论里问–或加入 Qtum 社区的 Slack或Reddit)
) [5 H; x( s/ n" E# M: b$ W- M$ n: P- M$ d6 _6 k: [* _
本文用的是 qtum-qt GUI 钱包,但你也可以用qtumd钱包(使用qtum-cli命令行工具)。
4 `9 a% D# b, Z! r. s9 Z
& f$ j$ [7 x" a3 U安装和启动Qtum钱包
! h: F) P8 @/ u/ y; {. I' w6 ?. c. H: Q% |- d7 F0 h, f: }
按我之前发布的教程安装并启动 Qtum GUI 钱包。务必下载最新的 Qtum 钱包(例如本文撰写时是 Skynet Release v1.2)。' b% M% A) D, n
1 Z# P9 Z3 U( X
注意:没必要下载 Qtum 区块链,因此建议指定以下命令行参数:
4 b$ J: ?) c* U1 y( q0 ?7 u
; n' J. t$ ^) L' p7 ^! V2 Z9 M( h! |$ bin/qtum-qt -noconnect7 u5 G3 o! S, |1 @9 }  k

0 ~3 L8 [0 n( N使用 -noconnect 将阻止 qtum-qt(或qtumd)钱包/节点下载区块链。本文中,我们只在钱包上操作。3 _: L, N  _& K# L! j/ E
' p! c: q9 h8 M) n! g
即使使用 -noconnect 命令行,钱包也会显示警告,似乎还是要连到 Qtum 网络 - 但实际上并非如此(这个小麻烦作为问题#315的一部分得到修复)。 你可以解除/隐藏警告。
* O0 S9 Y8 j5 Z; j# f) n- i
- l  }! w+ y3 J- q回想一下,钱包文件(默认为 wallet.dat)安装目录(默认)跟操作系统有关:
2 E1 o" x. t( x8 K
  q! s. g7 o2 y7 h7 \Linux: ~/.qtum
; H  G# U- {/ V0 [macOS/OSX: ~/Library/Application Support/Qtum
- q4 Q+ L+ A3 ~# u" ~Windows: %APPDATA%\Qtum
  U2 a/ ?2 i1 ]( H& I/ P
& A- [% Q2 @# ?- n$ l确保你可以找到 wallet.dat 文件。之后我们处理这个文件。
  C& n) v, Y5 S4 P
+ c3 b/ b7 g, i7 Q3 C3 d( F7 ~调试控制台(Debug Console)# ?/ L/ ]! u2 h. `# M: B- z1 q% n- w

# l5 i4 x) g- b; Yqtum-qt GUI 钱包包含一个内置的“调试”控制台,可以用控制台与钱包进行交互(比 GUI 功能多)。使用Debug Console 或多或少等同于使用 bin/qtum-cli 工具(即进行 RPC 调用)。7 Q# R, t; V1 |- k. l% F

/ [' B( s% N1 v, v( L; n' ?3 b要访问调试控制台,选择“帮助”菜单栏下的“调试窗口”:1 Z5 C, K1 }9 k2 F- ~+ T
' {) j5 k& G" d5 \

# p$ R7 V  R8 _; X" T% y8 i; N/ t( ^& w3 t& ^" y
接下来,选择“控制台(Console)”
' z% P! d9 X0 s# E
% Z& H6 S+ f& o1 g1 @8 F* \
' S- Q; _3 \# O# ?2 O1 t
' F# @6 n; ~" Q' H0 \" T2 F在提示符处(在底部),可以输入 getwalletinfo 等命令:
9 K5 J$ M. d! }6 E
( h* v7 b0 \4 l0 k/ F0 h3 n3 I) v2 |! X& _) h) P8 R+ J
+ v% o# {3 k9 S0 D3 w
按Enter / Return后,会有结果:
8 t2 t% ~- O6 j% ~8 y  |! T7 W/ n! g3 R! P

, u* X. N3 F1 w7 L- b$ N
2 Y  B8 Q( C7 c; j) e可以输入 help 获取所有可用命令的列表。
5 L! O* X# Y! Z9 H; R8 M/ [- Z1 h& c! d* M8 [3 y
HD 钱包
3 y" J% @" P5 Y9 t/ A1 f! R( Q) ]2 f/ k
除非(奇怪地)指定其他方式(使用特殊的命令行选项),否则 Qtum 钱包类型就是HD 钱包。简单来说,这意味着钱包创建的地址是预先确定的。这很有用,因为每次分配新的 Qtum 地址时都不需要备份钱包。默认情况下,钱包预先创建 100 个地址,并根据需要添加更多地址。
  o9 T5 c- T/ ~4 H' @8 n4 n- o- A& }8 @/ F% l
正如注意事项部分所述,如果加密钱包,它也会更改主私钥 - 这意味着未来(预先确定的)地址(除加密前钱包中的地址)将会改变。
: d8 Y5 Y  [. Q5 y" @% ?7 b! F6 d4 j3 v4 z( u) X& D! {
钱包地址转储(dump)到文件中6 ?1 i( [( V* W8 ^7 F

+ C, I) f9 m' B6 ?$ N1 t查看预创建的 HD 钱包地址的一种(可选)不安全方式是将钱包中的密钥和地址转储(dump)到文件中。钱包转储文件将包含所有(私)钥及其关联的 Qtum 地址 - 因此,这不推荐在打算保持安全的钱包上执行。9 q3 ~) G2 f; @! U+ `
" f% ]( H; h1 n6 \1 X  p( [' z
可能你想自定义 -datadir= 命令行参数(而不是 -noconnect)来实现上面这个操作。这会创建一个新钱包(即 wallet.dat 文件)和其他文件、目录等到你自定义的目录下。实现这个操作后,请删除这个临时文件夹。
# R. H" T# m+ G: _1 A! Y
$ y9 L# }7 r( A! Y/ r7 Z: B用调试控制台(前面介绍过)输入:
9 L( E2 j$ K0 c% o. j9 U; ~: a' c9 u5 x( x: w
> dumpwallet /tmp/wallet_dump.txt
5 ~' u" z# n6 E- V2 S7 @8 L9 @, o& ~0 ~
注意:将 /tmp/wallet_dump.txt(上面)替换为你喜欢的目录/文件名。
/ i7 |, W. k! d' {) f
- _2 c  W' b/ j2 P) V" m' `' W随便打开 /tmp/wallet_dump.txt。可以看到:
3 i( }' I' O4 u! j0 D; ]$ h* b# ]9 m: d) Y' e
# Wallet dump created by Qtum v0.14.2.0-797c365-dirty( O" O* ^- K6 T. l$ R
# * Created on 2017-09-04T22:01:27Z  i3 O" H6 p: p. A% F7 N5 u- e1 _/ E
# * Best block at time of backup was 16752 (9d57d56217fff0ba9fe948189529b6b05eab9634b511b96fad7665f2a6685a83),
2 i1 ~/ z- M- M1 p) b1 ^# mined on 2017-09-04T22:00:32Z1 o2 |. C# [" u7 j8 J* N; j/ Y
4 H9 r1 o! \6 r6 y4 W/ w
# extended private masterkey: xprv9s21ZrQH143K32GwedMSgRTR4dFQeHX27y8QpyzdoUv58e9n4MfJiEwyAvJc974i48GGJMqrhA2tPQyYyr7FrUnh7vwUN3wUo2bUFCuj4w2
/ W5 `# S0 m" u6 Y7 `
8 z" t9 H3 ~% wL1Pu11NpYqNcozCYFpojbAff3sCMRoubgSJHN6S8Vc3BD8qaeug5 2017-09-04T21:55:04Z reserve=1 # addr=QLf8eTZwSMEsud9P1gBWUb4HM6u9asTH1o hdkeypath=m/0'/0'/9'2 Y; @" A2 ~' E4 N
KwwnFgfhdNEm6ZeNZpf5Q77oBymcT6hgDY9DNaHF3xbM5PdLUQwP 2017-09-04T21:55:04Z label= # addr=QM4SUqLkzoMM5TStmNeWQU18wbqzbNtUDo hdkeypath=m/0'/0'/0'8 }4 f  s. ]& R7 j! f  Z
L5DbkJaPBDMiPApP43fzaHZEdZ1GcQcgwbWJMyygBcf2MsKmSS3Q 2017-09-04T21:55:04Z reserve=1 # addr=QMRdFtfAJ52hC5pL6p1xi6EUJ94C6aYSD2 hdkeypath=m/0'/0'/3'
& }- o" D+ I! \- N  [& t: N% V8 z...3 W3 N8 r/ i1 J1 h/ R; D* h
( S; n0 ]. w. R& K7 u
L48dP3kLACS71g8czia14iJA5beepyYLBWpXgasgfHWbc8pAZZ6y 2017-09-04T21:55:04Z hdmaster=1 # addr=QaXBqRoPcFGfa3cuqYJ6nvAstZioKt2yBx hdkeypath=m- _. ^1 f2 |& `( E, x
% ~* N- V$ T4 s/ ~
...( h9 p& J  p$ {0 }( Z9 \4 E2 \$ a& c

& x/ ]* C0 i" J0 OKyeTUmMrMezBLkTeMtjuExUxQ4Sb6KVaznCdNwaCmkwG3qSUrqsf 2017-09-04T21:55:10Z reserve=1 # addr=QZFZfsfim7os3349ydRC7F1FBqCQvmjLic hdkeypath=m/0'/0'/97'; N& r/ P1 S" y! d2 b$ y
KxXbhnbzK7Y9SrAoL196NXunUzCBT7arobxadA5UMFLEW9bQS6DQ 2017-09-04T21:55:10Z reserve=1 # addr=Qdh9sZQDd3tqT2emHsvh5Exhgf527iLG2v hdkeypath=m/0'/0'/95'4 c0 o8 Z& ?% L4 V
L1g2UcRTm3JyV7DRjqpKGkRbGBhdhgqVZ9GFdRnvRcQBgWt26o4q 2017-09-04T21:55:10Z reserve=1 # addr=QeV4zHE6Vb7sFYhs26R1XNMokQSr3EKpyk hdkeypath=m/0'/0'/96'6 A+ A% U' h" W5 H/ g" Z
L3Sh2JsPZw8dhVFWLCh1rupSPGwtjazUhsxFhfskRRCk4AzvEz8G 2017-09-04T21:55:10Z reserve=1 # addr=QiBpoHSfGwJbtJqRsNFTua7hGaMv8zGbGe hdkeypath=m/0'/0'/100'
8 K& D6 v8 |6 m8 K0 ~. I) P4 s8 s+ R& q( `( v
# End of dump
5 _2 V( F6 C- r) E' U2 l* ~
5 {$ ^$ N) t0 [7 J& }& T$ W# B/ Q4 |大概有创建了 101 个地址(即 m/0’/0’/0’ 到 m/0’/0’/100’)再加上hdmaster。, N+ q9 w0 z2 G6 e. p% v1 ^" w0 y
, p" a  w3 Q/ O% z, Y
备份钱包! |8 V& x2 Q3 V/ O, \
$ Y$ D) ?6 S. f; H. M: A
希望你找到你的 wallet.dat 文件了(参见前面的部分,找到它的位置)。有两个备份钱包的选择:
) P. K+ ]8 B9 D) p  K# `+ d' @& a' o2 r+ c4 Q3 `
将wallet.dat文件复制到安全位置。; y3 f' ^. _- Q; ?6 u4 L3 K/ R, ^6 z
6 o) P+ O: g, @- W3 D" |. o
在调试控制台中运行 backupwallet 命令,将钱包文件写入安全位置。
5 p: L4 c9 W: s/ t2 |
5 b3 ^6 p$ N' Q8 S& A' k选第一项的话,请确保 Qtum 钱包/节点程序(例如 qtum-qt)未运行。
" W: }+ a0 ]  _0 }; s* G% F
0 O) Q$ `! |9 _5 H1 d) |选第二项的话,只需在 Debug Console 提示符下输入 backupwallet,获取有关如何使用该命令的帮助(即,它需要 1个 参数来指定目录或带有文件名的路径)。7 F  E5 k( w. i" ]- O6 T

5 Y1 Z  D% x0 x. H8 V* S7 e& E确保将钱包备份文件放在安全的位置(例如安全的U盘里等)# W. l# T" R. h
6 K+ T: a" B: C0 ?6 ]
加密钱包& x. M( A2 a0 ^7 x# O) c  B
( ^4 k* O$ F# P/ [+ X( m2 v2 v
强烈建议在加密钱包之前先备份好钱包。; ~: p7 b0 T+ i0 |0 Z7 Y
, `. U$ ?! U; S" k% x" J3 U
要加密钱包,请选择“设置”菜单栏下的“加密钱包…”选项:% {) ]: s: p2 R; Q
, a: _0 `) s# z4 H# @( j
接着,确保输入一个安全密码用来解锁钱包。
+ d9 _: h1 _6 K* s7 h4 C% y6 F& d4 o4 h. U7 O

' E' S# N5 x) y: T
' `4 Q' D! K* ]阅读并接受警告(是的,请记住密码):
; k( y$ a: A! P6 h% _0 j. G  k( }7 @" v# x& O" z7 F1 ~6 u( C
- e1 H. N: x4 X7 H* {

4 n! x! r+ L3 N5 v  \* W* x0 U) S加密完成后,收到另一条消息:8 a% T% i7 U, z, b, ?5 S
; J) n5 q6 ^+ F* ?( V
! p+ N) S: \( t5 R

" \4 [( L, P6 }( _$ D1 J单击“确定”,然后关闭钱包/节点程序(如qtum-qt)。! ?) ~& N9 ?1 F5 V6 _! z3 S9 D

- r6 c, X/ O/ B8 ^2 ?4 V1 ~; K关闭钱包/节点程序后,建议用前面提到的第一项备份钱包(即复制加密的 wallet.dat 文件),然后重启 qtum-qt。% D7 `3 J, |$ Y$ O  `- D

& r" x( _4 Q7 k/ H; u4 z& E1 a解锁钱包
" k5 v$ \& [3 ^7 q% g5 Q0 v7 v8 Y5 R( O8 i5 y
重启加密的 Qtum 钱包后,你会在右下角看到“锁定”图标:8 c2 i! r1 A9 m6 x& j

6 `' n( C$ G, v6 C' g( _! w  X
5 c$ U, F; h( ~' }+ |
" a/ Q& s& v9 o$ |8 B4 f1 W. ~" Y这意味着(加密)钱包目前已被锁定。你不能用锁定的钱包 staking QTUM 代币。
% N5 L' r3 Q8 F9 E7 q+ h7 O( T* m  \  s7 Y: k! K9 v
注意:启动后的一段时间内,钱包可能看起来没有响应。这是正常的。
" C0 Y! @4 d' H3 T+ Y0 c
* G1 N0 [: I5 N要解锁钱包,请选择“设置”菜单栏下的“解锁钱包…”选项:
" j4 N( @2 `9 B' Z
) I! X6 {5 h& p- K5 N' D. X/ w
0 i! L: }1 w5 ?% L
! b" F' J9 f) m" g5 L, F* t然后,可以看到欢迎页面:
5 a0 d  W5 P8 ?  O- P3 T; _8 b( B8 _& h% \% Z! r5 M% ^  x2 F

, ]+ e2 }$ W6 i0 e+ \" A
% o1 l' J' r: q5 L' \" p# X, q输入加密钱包时设置的密码。还可以选择是否只为 staking 而解锁钱包。如果选择这个选项,则你(或任何访问正在运行的钱包/节点的人)将无法从钱包中转移代币,或执行任何需要访问钱包的操作 - 例如将钱包转储(dump)到文件(在调试控制台中使用 dumpwallet 命令)。 不过,backupwallet 命令仍然有效。/ A& g' {% R  |6 k2 |% E

2 Z; ~! A. s5 I% Y5 O2 r如果仅为 staking 解锁,你会注意到右下角的图标如下所示:; t9 I# t5 D7 J+ g3 A. m

/ w& C+ C1 x& ?  t: `/ J
( b0 N: g6 ]. G/ h0 W! {6 M7 H) V( |6 @1 ]2 G1 L& t
如果不是仅为 staking 解锁,你会看到一个略有不同的图标(和悬停消息):
% Y( Q1 A7 o. }  E% L7 C' @* u+ I% I% J! [0 I3 t" ]1 j
. L9 x) x  R- j* P) a. J

$ Q- o! X3 Z$ }1 u* l  ]如果你刚刚在第一次加密钱包后就解锁钱包,我建议你再进行一次备份。
% Z- a7 D. w) y; {& U0 ]2 G( D: R* ^  ~
锁定钱包
3 R5 U$ T! }! |5 x; K9 U; H
" G+ h; s8 w7 A5 R* s5 {要再次锁定钱包(例如,如果想让钱包/节点保持运行而不staking 代币),只需选择“设置”菜单栏下的“锁定钱包…”选项:3 X. t- N" g9 A0 Q4 Z) K
2 u; X3 j5 r) ?, ~- M
! r: O- F6 U% U$ z
恢复钱包
& ]/ s8 t+ _8 y+ e# _: @; Y  P& g7 k' Z/ O4 t! u
如果你完全丢失了正在运行的钱包(以及区块链区块数据),可以通过将(先前)备份的钱包文件复制到(跟操作系统有关)数据目录中,然后重启 Qtum 钱包,轻松恢复钱包/node程序(例如qtum-qt)。
# q! t1 v- e" u# ~5 |" C, F* \: k: _* k: m. S% Q/ r
如果数据目录不见了(比如你换了台新电脑),最简单的是:  T# d$ {6 M% T! v( J: h

% N5 Y; J6 A8 Q" M使用 -noconnect 命令行参数启动 Qtum 钱包/节点程序,以便重新创建数据目录。$ P+ H9 b0 F  r$ B& J
. f+ S5 T. H  ?# Z& y( |
钱包/节点程序运行后(大约10秒左右),再次关闭它。- V2 b2 s% s/ I* P2 K
: s* r) p! `$ v$ u6 C& O
将(跟操作系统有关的)数据目录中创建的 wallet.dat 文件替换为最新的钱包(即 wallet.dat 文件)备份文件。, O! u! {' U0 g

5 v0 Z+ E# g# h0 {4 ?: t不使用 -noconnect 命令行参数重启 Qtum 钱包/节点程序。
" O% }  C) k! S/ L2 S
, ]- g$ g+ s4 j: s* ^* G上面重要的一步是确保钱包文件(即 wallet.dat 文件)在正确的(跟操作系统有关)目录。" M2 Q) M8 z# V7 D( U

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

本版积分规则

成为第一个吐槽的人

mark7914 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2