Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?, F8 h* L& \# S4 z/ U
本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
% t9 p* s- j+ w( i" k) m3 p先决条件
3 p  C* j7 G5 O0 S此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。+ T% T( R; E- m7 s' M/ R# A# @
初始化钱包8 X% l; {4 b$ \0 m+ t* d
在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。7 \$ C, B; G9 w
要执行此操作,请运行:5 ], K& k  `9 s6 e- x0 d% W
grin wallet init
/ W. p/ f# s4 [# W. f& |然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。" D1 w* y7 j9 d' K" `
File /home/yeastplume/.grin/grin-wallet.toml configured and created, G  v  k* B5 b! c2 p
Please enter a password for your new wallet& W; k# F9 _7 }1 G( j
Password:  H) @5 h& x) b$ F2 e5 ^- g
Confirm Password:- K1 @( A* Y& e% j, w
完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
6 i% _: i. R) _9 ~20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed) {% K8 M- b% Z. B- a
Your recovery phrase is:
: j6 t$ _4 ]6 e# L  |+ Zfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report
2 o. t4 x9 e, R6 jPlease back-up these words in a non-digital format.
. f7 ]- [0 B  N$ E( ^1 Z; `Command 'init' completed successfully
" M- o' c, r  m- b/ x你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。
* |" r) k: H5 t你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。: K5 O& v' |2 m
连接到一个节点
( p& r2 ]4 C$ ~  f* F你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。0 C5 {4 h' [" A6 e# |6 M
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
8 g# o7 T3 J' k; w. L/ F% o  z! ~默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:" r/ B1 u, `- U$ Q, {8 G
grin wallet -r http://some_public_node.org:3413 info- l$ M! {/ ^: T) _, p2 {# d
或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
. E3 P' V' S5 B2 P2 E查看钱包资金
9 v# N/ D  h/ @" G6 z5 @想要查看钱包中的信息,请使用info命令:# }( Z6 E) K% U) @$ k% m* s5 d
# grin wallet info6 Z  o. z  d6 X' y+ D- I9 w& s
Password:
. ^0 S$ B$ c7 _8 ?' ]% A: `____ Wallet Summary Info - Account 'default' as of height 13833 ____! s/ l' j$ j7 b8 d( T( W8 T
Total | 60.4820000002 x6 l4 l) f# j. y6 i: v
Immature Coinbase (
! y" P  P; f7 Q8 E8 C# g) c5 x. gTotal是你的钱包总金额,包括等待确认的资金;
) S  P/ ~; @$ _8 vImmature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
$ [$ P1 V* v( s2 N! c  KAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。
* N, U0 R2 T: K# ]Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。
* b5 B& Y) t5 _6 w" n发送Grin币
. {2 {- [: `1 A7 U有很多不同的方法可以将grin币发送到另一个钱包:# f& X6 T, x0 x$ f$ i, w3 d
通过文件进行发送
. t+ @8 b  U6 F% n; d目前建议初学者通过文件发送 Grin币。教程如下:
- g( o% A5 ?" k+ M& z1 t' I创建一个交易文件:+ R5 A0 G7 q  q' ~0 @
grin wallet send -m file -d my_grin_transaction.tx 10.251 H7 C0 _3 X6 `0 g9 b
这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
* i4 r" G. W1 I, j% h. E将这个交易文件发送给收件人0 {' Q' e5 ]5 |# z: G* g
通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。' Y' z# U5 }2 ~) v8 Q8 i
完成交易/ K3 N5 ]  r, f4 a; d, V
收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:" E2 |3 R* z+ |7 @6 c! z: h

, e% I. H" {0 A% o7 [) m6 ^$ `grin wallet finalize -i my_grin_transaction.tx.response3 E( }+ o# {, R- g+ Z6 M
这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。- P1 q" S  P! o, G4 C# s
发送到正在运行的钱包侦听器4 ?, f8 c- w9 _( D4 T
如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:5 b+ O% r; E5 W# `
grin wallet send -d http://10.20.20.1:3415 10.256 [7 n5 g( i: d7 v9 o/ R7 Z
如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。' T; E7 i# A0 ?* ^" ]4 M! S
接收Grin币
. d4 T4 I% r- \" l, P; H通过文件进行接收
' C( v& p3 t& q# v# i5 `7 u  q, L& k* |发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:3 X- _4 m+ g/ K" g5 ~) W7 m% A' P  @3 m
grin wallet receive -i my_grin_transaction.tx
+ Y: f5 u3 s/ h这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。
% v7 s  Z+ Z& W' @通过钱包侦听器
; Q  `) j1 v( o运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
- U$ C/ A' ^4 `默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:5 X& x) ?# f( ~7 Y/ }
Change3 v, f7 k( L) w$ }0 J+ _9 @+ }
" H: ~- Z% L  Q! Y4 S
api_listen_interface = "127.0.0.1". F$ Z" B' F' z! s
to
2 F6 S3 e/ s2 T! c; b$ S0 _api_listen_interface = "0.0.0.0"
0 U8 c( h" B" Q6 e- o, ~8 ]或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:
# H) C! E& P* ]7 {$ Mgrin wallet listen
" {" `9 [: B( e- \; o' K8 w! n3 W& I或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:0 s3 |" d6 V( b& x4 L0 Z! t* {8 ]
grin wallet -e listen2 [; |6 V% _( B: z% p0 S
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。* [! N% P' a0 {$ g, _
交易日志( ?* V9 f; P2 ^! x* I& t! G1 p
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。* N% J: C( z2 d' ^  d9 N# p
查看交易日志的方法如下:0 T: A" m" p0 i2 `0 j% S& ^5 s
5 A1 }$ ?7 K& z( N+ ?( O
grin wallet txs3 @2 A/ C* W; e! f2 ]# y" o
Transaction Log - Account 'default' - Block Height: 13830
4 n# B$ V1 j- t5 ~7 m1 H9 N5 ?--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- ]5 U4 i* w8 C3 q, @" R6 G7 LId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
) i( F, c" G0 L; W& e- X2 vInputs Outputs Credited Debited Difference Data, H, N- P& u: z4 }
====================================================================================================================================================================================================================
6 N) g" U7 s( W% s9 O0 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
) J  u: c2 {+ S9 B--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
; ~, C1 S& i- G5 B+ A1 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& E7 u' x, V8 W6 u# a
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------; G' z/ {+ ]+ X& R( h$ V, x" O% H+ ~/ 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
% b* l4 ^2 a& ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------7 d/ V* j: T/ ~# t# W5 Y
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
3 E1 D5 I/ o/ r& D2 ?+ Z% \--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- o. I; Q7 t! r) @8 M
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:6 C/ @( M0 ~1 C5 `( D
grin wallet txs -i 3/ e% k2 m" O0 w, z' F5 P$ A6 f
Transaction Log - Account 'default' - Block Height: 13830: a- C5 v! s; O1 H; j
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" g. o$ x6 A) r' p6 m2 wId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx0 W/ C$ @+ f! \" l; K, |' T) y2 p7 @
Inputs Outputs Credited Debited Difference Data! k; B' m4 |( F
==============================================================================================================================================================================================================
3 d; w' M8 v% i1 {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.grintx6 X4 c, u4 ~1 |' _# J, m$ D6 }' F
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. j0 r, U& J8 z2 e# |6 `9 X
Wallet Outputs - Account 'default' - Block Height: 138300 |6 I& {( c( ~+ r
----------------------------------------------------------------------------------------------------------------------------------------------------
- G. P7 M1 b* NOutput Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
( K' u+ A. I+ f: o' }' J3 C====================================================================================================================================================  r# ~. Z- q+ ~$ I+ B
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
( O  ]; x: |/ Y# d+ n; W----------------------------------------------------------------------------------------------------------------------------------------------------. r* q) U2 M- [4 ]) ?9 K
取消交易
! Z9 T1 L* H. {) G) o* t当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。
' @0 o# X6 q4 @) G. P如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:$ s1 v- g6 Z1 o* J% j
grin wallet cancel -i 3
5 Q* ?6 E' f) K! ?- N这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
& t9 s/ Q, k0 i5 {7 I钱包检查2 e$ |7 x: D4 _; ]
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。9 R' W2 ^) [/ G1 U- n3 ]/ ^4 G
重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。
5 m% h1 \6 N! Y想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:6 w& _, v6 f4 z; A  E
grin wallet check
( j3 B4 o% C( S3 ~这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。  c0 Q) h6 p8 a6 g% M1 }/ j
通过恢复短语(助记词)恢复钱包8 w/ ?8 k9 M2 b/ @+ z" D
备份现有的钱包:
5 v& G; `( b$ |9 u& emv ~/.grin/wallet_data ~/.grin/wallet_data_bak
8 z6 k5 c* a5 f然后:
. H2 y& C3 W6 `& s" N& L- Zgrin wallet init -r
; ?6 t$ t* d. E) C7 z. }, m[... follow onscreen instructions...]
( z% P& @2 y# D8 C( |( B' f! ~. H4 cgrin wallet restore" s6 s# T9 T$ z3 ~
有关详细信息,请参阅《用户指南》中的“restore”操作。
+ |0 h& r. G, s其他命令
. y) E7 U+ B1 m  |9 B+ `! x: i1 n5 U其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。4 G/ D/ K* b" [; f% Y  {
你应该特别注意的一些命令是:+ o7 ]4 o8 j  `4 s& h
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;
. P+ |" _$ F# _restore - 从种子文件中恢复空钱包1 ^9 i. h! B- D2 T7 v; x; d
以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10