Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?  X' o; M$ J5 t4 n
本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
+ W1 X1 c" e( B, ]2 c先决条件
. v$ X1 h% r* e& B& }此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。( @- F$ y0 X4 O  k
初始化钱包; f6 b- F# \& C0 r' F! \" V
在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。" P( O* }  O: |- y2 Q2 B
要执行此操作,请运行:
# ?( _. L& h5 o5 U. wgrin wallet init
7 H9 ?3 G/ X) j9 D然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。
) I! v. Z/ e1 |4 u& u5 PFile /home/yeastplume/.grin/grin-wallet.toml configured and created
2 V4 S- ]) o$ b$ UPlease enter a password for your new wallet
4 a4 i2 ^5 h1 \; `4 r$ F& E$ hPassword:
6 M- A& L% C) w0 IConfirm Password:* a) K! B. g! |8 J5 \4 A
完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
1 ~7 Q: W( ~$ T% j+ J, o* n20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed
2 q8 O' w0 U- G1 t  R6 wYour recovery phrase is:
8 ]! T  S# `' ?! T2 i4 Z5 Sfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report( }, Z7 `/ a4 U8 y
Please back-up these words in a non-digital format." \& ]0 U9 s  S1 k( ]
Command 'init' completed successfully
) Q9 w+ c, `3 ^/ z. E& Y( u你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。
, A5 P$ i% y. Q5 ^# ?/ q* v" D你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。9 P1 B( g9 W/ a9 M, P
连接到一个节点# o6 L7 x8 @( L" \
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。7 s  W: v- R! u1 x$ i- M( o7 C( K# o
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
6 h+ W3 a, L+ ]2 Q默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:
/ U) _! x, G5 S6 Fgrin wallet -r http://some_public_node.org:3413 info" I9 J% I  P' K+ N' r
或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。% p% \! a( {0 l1 v
查看钱包资金
, c* m& x: D. z& z2 O想要查看钱包中的信息,请使用info命令:
$ |* C6 E) {0 C1 ?# grin wallet info
% {( ~% b& \: T8 \8 {: bPassword:" \3 n2 r8 e' |; Y. q
____ Wallet Summary Info - Account 'default' as of height 13833 ____
( Y$ e* K" z) P% L2 \( ?Total | 60.482000000
8 E1 X% V3 N' w, q  o0 x* ?8 lImmature Coinbase (. R) t. D' p( f5 g% `0 i
Total是你的钱包总金额,包括等待确认的资金;
$ O3 d5 w/ X* W  }9 CImmature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
/ I2 ?* E+ E5 r5 Z' t: cAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。" J6 s& F+ ?5 B
Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。+ r5 k2 K* E1 }  L$ x* t4 |1 _
发送Grin币  z& ]+ V- w" }, I: ~4 H# m0 C( ]
有很多不同的方法可以将grin币发送到另一个钱包:/ \$ X, s8 ^3 f. Q/ ]
通过文件进行发送' F' A2 f- t" @: W1 t$ M
目前建议初学者通过文件发送 Grin币。教程如下:2 p! @; G+ C2 i) d
创建一个交易文件:
6 f! u. l7 I6 M/ Y" C) c/ e& B/ egrin wallet send -m file -d my_grin_transaction.tx 10.256 N; s# \$ m* |
这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
% Y6 B9 S, h0 B( L$ E# h将这个交易文件发送给收件人+ x) N( [1 d8 u: o: x$ R+ p4 h# {
通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。8 d% Y. `# r+ S+ L- k, L
完成交易
+ o6 z: b9 c8 r- n$ {4 L  g1 X收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
7 I: N( b  T! [( K( u  N% K; F" L! l2 z2 F
grin wallet finalize -i my_grin_transaction.tx.response
9 d5 `% r/ v  A. f0 x" @0 |: T这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。- r- x# b$ v( a: Z% |/ A
发送到正在运行的钱包侦听器# p; y$ L/ U/ M& \! d2 L! @- Z
如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:( _( n) l/ m5 y
grin wallet send -d http://10.20.20.1:3415 10.25
; j  Y0 M" r( @  j$ a( r' }' R如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。6 q6 g9 y+ `% ~! k8 W# r& c8 T
接收Grin币6 o( P$ u$ t# L; s$ E: U2 d
通过文件进行接收
/ @7 {+ S& y0 i1 c, i. S发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
" C* D/ x- g" B6 r2 k  _grin wallet receive -i my_grin_transaction.tx! q: G" U; F- i3 e  f$ M) y
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。
7 Q) M# r5 s! i6 W# k# W; R  O通过钱包侦听器
' m6 \6 X5 k8 q运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
* I9 E& V! }0 J/ M默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
9 A- P# A! }" [5 c7 ]# Y  Y% CChange
1 V- b1 ~, g# V: Q% F8 D2 C+ Z  |
. C( ^8 p+ d- j! ^& G  tapi_listen_interface = "127.0.0.1"
! g+ L) s2 c4 }& h" Gto7 f( t4 j: v# V/ c
api_listen_interface = "0.0.0.0"
* J6 ^( F' g, z8 t' u- h或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:4 n4 w9 O& G' K0 \; q1 C  S4 G
grin wallet listen
  l# a2 N3 \- z: I. x; h% z' E或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:
' w0 \! C- }- N/ |% J2 d7 fgrin wallet -e listen0 j4 J  G  K, L. G2 L  A+ y
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。1 r7 `" J  W2 z, X
交易日志: J7 j' b) `0 S  u
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。% \# A) ~  l/ [& |8 n, W9 @: l
查看交易日志的方法如下:
. A# v3 y  t9 V; I) g* R, L( m* s% s7 ?4 D1 R8 }
grin wallet txs
  u, ~7 ~1 D: r" H( m8 [3 o5 jTransaction Log - Account 'default' - Block Height: 13830
! }6 p# i8 I6 y  b- r  s* w# P$ g--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" ?  F0 t2 f& t, v5 f* |Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
( }0 ]* _% d+ n6 Z/ W) R5 bInputs Outputs Credited Debited Difference Data
& e& M# M% _' j, l6 R====================================================================================================================================================================================================================. V  P  H, [+ Y$ k7 n
0 Received Tx 20f978d4-d2a5-4df2-a1a4-806330db5718 2019-01-02 12:50:33 true 2019-01-02 15:56:23 0 1 20000.0 0.0 None 20000.0 None1 m; H3 Y# i' X
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: J& M' ~# S1 z' X! J0 d' t
1 Sent Tx c2dd4216-7820-4545-bd49-eea8119c39d0 2019-01-02 15:59:20 false None 1 1 19998.992 20000.0 0.008 -1.008 c2dd4216-7820-4545-bd49-eea8119c39d0.grintx( v8 r: `5 m. _- k+ U7 S
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------! v& @" @; N6 f' t% ^' V( w5 q4 T
2 Sent Tx c8a7b02e-78e1-4813-b8a9-7367b630a070 2019-01-02 15:59:27 false None 1 1 19997.984 19998.992 0.008 -1.008 c8a7b02e-78e1-4813-b8a9-7367b630a070.grintx
1 M( p! }7 z: j" w8 Z" \) {3 d--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------& l- J% v3 B- r  l+ p5 ~
3 Sent Tx 856c3c85-0cb9-4951-9f33-124f032ac21e 2019-01-02 15:59:31 false None 1 1 19996.976 19997.984 0.008 -1.008 856c3c85-0cb9-4951-9f33-124f032ac21e.grintx/ y: S9 [" ~% o
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------7 g2 D& {& f8 r2 M
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:+ g6 f1 z& X" b/ Z! {# n
grin wallet txs -i 3) e  G! c7 ?8 k
Transaction Log - Account 'default' - Block Height: 13830
3 I7 h  ^6 L! H1 }+ R; Z--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------5 m8 [! h- d9 S/ ~+ Q  y
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
9 j* l8 f3 p8 c- v- Z+ AInputs Outputs Credited Debited Difference Data. I- X4 ~" O, t. e4 }
==============================================================================================================================================================================================================+ ]5 o. V: C" F( e+ h4 H
3 Sent Tx 856c3c85-0cb9-4951-9f33-124f032ac21e 2019-01-02 15:59:31 false None 1 1 19996.976 19997.984 0.008 -1.008 856c3c85-0cb9-4951-9f33-124f032ac21e.grintx' ^2 m& B5 g. F0 @
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
& c6 H3 P7 j1 J" F- K+ a* [: S: yWallet Outputs - Account 'default' - Block Height: 13830
3 h/ S. a( E) k) P/ t7 Q5 l0 {8 `----------------------------------------------------------------------------------------------------------------------------------------------------5 i( C* B3 G. G' g$ s
Output Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
! E! A. c6 ~2 W) N6 J8 e+ o====================================================================================================================================================* @, u$ N6 e; U' L6 ]
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
! m' N1 k  I* I* e+ H- f" G----------------------------------------------------------------------------------------------------------------------------------------------------
4 J$ z1 `; |+ u+ }  y! W$ [取消交易- E4 i5 F9 [$ R9 [
当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。
% g- H/ Y$ P7 `8 t" R如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:
  l- c( E* I4 N& Z; k. u, Rgrin wallet cancel -i 3
. U4 b$ R3 H0 V- U/ x; B这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
. n4 o. ~) E: N6 K钱包检查0 i: r+ z  e$ p
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。. @6 _0 h- h( @
重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。
9 `8 v  X6 _5 x5 d! q想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:
) w" C) _: C; u$ u- o$ Z$ U1 dgrin wallet check
1 Y) j3 c# a# Z$ A6 t这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。3 ~, B) y" g& \/ X. V
通过恢复短语(助记词)恢复钱包
6 \3 y$ G% I/ s' {备份现有的钱包:/ ?6 C* w) q& N- D* \( m7 \" t
mv ~/.grin/wallet_data ~/.grin/wallet_data_bak% H5 h9 l0 b/ m
然后:
* B. m" b  p3 v4 z4 H, Mgrin wallet init -r  }" H5 t$ O0 {1 y5 D/ L& \
[... follow onscreen instructions...]
4 z/ T, m# L1 E7 P7 C4 qgrin wallet restore8 `% U. e7 Z0 t  q1 k7 z
有关详细信息,请参阅《用户指南》中的“restore”操作。
% c  H* H& Q- m( k. A其他命令
+ \4 p+ r" k* {, @: G" [, T. @6 o其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。
# K) H- W$ v, T你应该特别注意的一些命令是:
* m% U7 [8 k. B2 orecover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;
- i. h; j% {; n3 T  Krestore - 从种子文件中恢复空钱包
8 o, I8 I  h1 N# G以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10