Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?
: `' H$ `+ x' e+ v# {) Q本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。! A8 \+ D0 E+ L8 ]
先决条件! b' m# O* y9 D  x3 c5 u
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。+ L  q7 R- r( a: O4 {7 }
初始化钱包2 O5 W/ C  O7 I
在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。" H6 n: w1 H2 q$ z
要执行此操作,请运行:
4 Q  @0 w2 b5 F1 f3 y; s6 Dgrin wallet init
. j+ Z: `9 a+ x4 p! |9 i- Z. D然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。. X) N" H) u# K4 a- ?
File /home/yeastplume/.grin/grin-wallet.toml configured and created. N$ a- ~: }7 m. j8 _8 y
Please enter a password for your new wallet1 N. g2 E1 d$ n5 d
Password:0 ?" {& U/ Z7 z! T2 v) A
Confirm Password:7 T8 v. R9 z4 j% D9 }1 S  Z9 F6 B
完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
  i- O9 g9 T% P: G1 t# {20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed$ I# H2 Z! x3 D( ?
Your recovery phrase is:- m' a* d# @$ w- r* E! b, _7 {* g
foster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report
3 a7 a6 A2 |6 c* Y* gPlease back-up these words in a non-digital format.
' R- I5 f- d, L; dCommand 'init' completed successfully
% x0 T2 U; g6 X" `: c你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。' v5 d/ E" a, V7 N9 H
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。
) h/ q$ e' j* P2 u连接到一个节点$ `, W6 P; \  G- h. f1 V
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。$ ]6 a' x1 u! z
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
( e" e7 c+ d" ~: [  ~9 {默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:
9 C% c% N+ C7 i5 A4 c$ Ogrin wallet -r http://some_public_node.org:3413 info
0 H- }5 g& ^4 D或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
+ a. K. `( Q1 Y7 o1 d4 P' ], a查看钱包资金/ h7 r; F# U* s
想要查看钱包中的信息,请使用info命令:
6 f: Z( v: v1 W. V  X. u+ N$ R# grin wallet info
3 j' [# E% c# N! {& F, F0 @, ~Password:$ O& n* B4 M$ c4 E" M/ F
____ Wallet Summary Info - Account 'default' as of height 13833 ____
9 f+ y& A, }* PTotal | 60.482000000
- z9 K! S7 I# j  o! ]; fImmature Coinbase (+ u5 _) B9 ?& C* r; U
Total是你的钱包总金额,包括等待确认的资金;8 C5 X- C" r8 ^6 U: z
Immature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);  K: I8 X1 G; _" b! d5 S: R
Awaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。
- |: g" c8 t2 ^- [3 D1 \Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。  n, }$ I, l; ~
发送Grin币  z% e# p0 d, y, s
有很多不同的方法可以将grin币发送到另一个钱包:% M  q: \" Q1 @" l0 X' }3 }
通过文件进行发送7 {( t  _/ I1 x+ q8 j* |2 P: [
目前建议初学者通过文件发送 Grin币。教程如下:6 s/ ~5 Q  ]5 h, A& C! ~
创建一个交易文件:2 A/ L1 O. {. D8 D- h
grin wallet send -m file -d my_grin_transaction.tx 10.25
+ M* k. b3 H9 ^- U8 S% l这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。4 w3 F0 H; h7 f1 h# P1 I
将这个交易文件发送给收件人
. A; j+ i1 o% [( u; F4 F通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。
) r5 ~7 t+ N4 q# _9 J+ i* e完成交易* w: [, U; B$ `4 s: p, ^
收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:; ~4 n$ I; S) k- r

+ k( _/ d( N  P/ N" bgrin wallet finalize -i my_grin_transaction.tx.response
; @8 d# p; s# N5 S这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。
, @  q0 V5 Q) z* A& t1 ^' r发送到正在运行的钱包侦听器2 Y4 y! i7 _$ F) z7 b0 S
如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:( g) @( Z1 C  f9 c1 N
grin wallet send -d http://10.20.20.1:3415 10.25
  H% _; p$ x' R* T1 P如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。
0 B2 {2 M9 H3 a6 P+ a接收Grin币
8 j- X7 I0 l* D2 F4 F/ d通过文件进行接收
  }; s. f; u3 D发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
: [7 o  S5 ~  C2 ]  N; Lgrin wallet receive -i my_grin_transaction.tx# k% F7 _% {/ z0 y0 l4 I
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。7 g4 q1 m$ V, X" m4 f
通过钱包侦听器
# a( G9 M2 m. e1 S运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
4 Q) n7 X! L1 c/ [( E# V( y默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:: J) E. j8 w+ K# z
Change
* J3 D3 _, S/ ~% D7 b- Q; D" R5 H9 r
api_listen_interface = "127.0.0.1"8 L0 l& r( ^, e4 M) d
to
7 ~1 I& t' ~' V2 Hapi_listen_interface = "0.0.0.0": V% L. ?  A1 @; n
或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:5 M: I$ K# }1 Z  j$ b! z; N2 p
grin wallet listen, V- Q! R& m2 o, s+ g5 b+ \
或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:( a7 o" q# k$ k
grin wallet -e listen9 J# L" a/ k+ D+ `* Z
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。& y1 n* |' W4 C: m7 ~
交易日志, W3 v- s0 X: N" H  K
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。
2 \; e. [; u- D# ^& {查看交易日志的方法如下:
& ~% g: ]- i" V/ N( Y* m3 U# w. c/ m* K# K) T) _
grin wallet txs
9 K5 {8 `" q9 ]; \" @Transaction Log - Account 'default' - Block Height: 138305 s; @3 q. r2 j3 ]" s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------; x6 q& X0 C6 R% S* _
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
/ I; }% u! ~% Z; d, |Inputs Outputs Credited Debited Difference Data  r, |5 N* F" U# E0 h) W
====================================================================================================================================================================================================================
' F1 b0 I, M4 s7 u1 a0 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 None* s6 f, e* q: J9 y. l; r2 [& b
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4 [8 M$ y! A- e9 S. |; `& x1 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
  g. P& p0 H/ t--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------8 C+ Z$ I( @5 d, R8 w- d/ H' k) p
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
. y- T6 s' [* ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------% a) X  H$ U5 p+ _# o
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
0 z* }0 B, R: a1 ]7 D% M--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 V6 w6 v2 k- g  ]
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:( K: Q# F6 m" @* R7 K
grin wallet txs -i 31 Z+ n' n# r6 {; |- `
Transaction Log - Account 'default' - Block Height: 13830
  U! o6 J% v, ?7 r- v% b--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4 i7 X/ Q7 }& l6 _
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx5 s# W2 q/ a7 r5 w5 k' ]4 \
Inputs Outputs Credited Debited Difference Data
2 ^# i3 J2 b( B==============================================================================================================================================================================================================
( D6 w$ r7 m% c3 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
; r8 B( j* N& Y* l5 q  }--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. Z. m" j9 P+ B4 l! T) S& [& @
Wallet Outputs - Account 'default' - Block Height: 13830
5 z1 c; h! K, J, T5 L----------------------------------------------------------------------------------------------------------------------------------------------------
' _9 _( L4 R$ a/ {% ]( O1 @Output Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
8 h& Q( r' A- \1 H& |3 J! H  H3 N====================================================================================================================================================( E) \' D  y5 n, A9 L. ^( h7 x+ G" `
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
; L) T$ q1 f; c2 ?7 w----------------------------------------------------------------------------------------------------------------------------------------------------
6 g' e: R6 P! t4 F/ _+ T取消交易6 }4 K: E/ }* N+ z7 J4 X
当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。9 |5 P0 i) c7 {# P5 q7 ]
如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:% X, C; N; }3 n0 g
grin wallet cancel -i 3; T( q( o; q- n  W- X( W
这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
% ~( e6 m' F8 q+ C$ w钱包检查0 u) J# U& J% q2 h- {, W
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。, q7 y) p: }( U0 Y1 s- }1 N2 ]) ^
重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。
# O& g* P( z! ]! E  y5 I9 b想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:9 T/ V" Q- }  T$ ?7 z
grin wallet check0 l" V  g9 x+ z
这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。# Q) I4 D% x0 g) f
通过恢复短语(助记词)恢复钱包8 T5 `7 \# }- T6 L+ T: \/ E
备份现有的钱包:
) c8 o" ^' ]& i5 vmv ~/.grin/wallet_data ~/.grin/wallet_data_bak
# E* h, M/ E; U! f- }+ F然后:
& K& u* q1 m0 s0 u4 H9 H- dgrin wallet init -r
4 V8 q' p9 P3 E[... follow onscreen instructions...]
' ]7 A' U" F, d$ cgrin wallet restore
- _" s4 C; Y% |  }$ ^有关详细信息,请参阅《用户指南》中的“restore”操作。% |# k# T5 Q# ^( \5 q
其他命令
( l9 y& u- x  s$ {其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。$ i- G' `9 l2 A2 v
你应该特别注意的一些命令是:# q: t/ `3 [5 V4 D' Y$ w; O
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;
' _* l) x% }- p4 A* nrestore - 从种子文件中恢复空钱包# H4 C  K# b) j) O) Y8 R0 C
以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10