Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?8 R3 R5 ^% q7 N( z
本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
- C' ]3 q2 O5 `2 M先决条件2 ?( s6 p7 R( I3 |* `& a- f
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
1 M6 o. c7 e& k/ B) S/ f& L初始化钱包& o$ t- V$ Z) @) p" k7 O$ C3 g
在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。( F3 l; |: D  f  f) }
要执行此操作,请运行:
8 l0 w" ^" e& _% ?grin wallet init8 y" D1 H6 c% I& h
然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。
- d% O% U  d; J  ]; xFile /home/yeastplume/.grin/grin-wallet.toml configured and created
+ s' P2 W  R( a7 N$ @Please enter a password for your new wallet) y  _, ?4 Z: @
Password:5 t" ^9 c4 U. L: d( n7 o  y) O" @
Confirm Password:
* Z; P( g7 J& ]" o+ \完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
- }1 Y& T( Q: L: T  b* R20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed
& D& Y' Y) C. r9 ?3 vYour recovery phrase is:5 Y8 [& _' J, W- w5 T6 ^
foster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report5 S4 C1 k" W' z
Please back-up these words in a non-digital format.
4 |5 y$ T/ d2 R4 }( L) ^1 QCommand 'init' completed successfully
' ]" d& ~0 Z0 k8 S9 w! x, U+ `你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。
$ x' G% v  B7 A& B/ V6 D, h) t你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。# D) v. e4 V$ e* g4 r& P
连接到一个节点
% h' j, F8 k2 B. X. b你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。
. ]& M) R, Q$ d1 H目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。% t/ H: ~) t* I
默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:* Q: K0 @! ~1 }8 n6 Y6 q
grin wallet -r http://some_public_node.org:3413 info
/ G/ z+ C/ H& p; Y* F( k% @- p或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
0 q- J6 g0 z9 a8 Y; X. h$ e查看钱包资金
& ~5 U* Q  T9 J( b想要查看钱包中的信息,请使用info命令:( r% m0 o% X2 ]# |2 o
# grin wallet info$ S5 I% d+ E! V9 ~9 f( V
Password:
  l' `! e, g; b# L) D/ x& m____ Wallet Summary Info - Account 'default' as of height 13833 ____
- q9 i2 d/ L4 Y  t0 ~3 \8 m4 ]Total | 60.482000000- h' P7 w' Z: T& i; f. ?% r- w4 A1 O
Immature Coinbase (: ~' X0 A% f& y" m/ f) p8 Q, j+ j
Total是你的钱包总金额,包括等待确认的资金;" \: W! e) o6 n: x! E% B' C! t
Immature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
  X, F' }9 g* T8 d! g' pAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。
, n- t" F6 k- u8 n" m. M  x$ {Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。" G) ~+ ^: K5 q8 g, x: C! v& x( ?* _
发送Grin币
/ e( U6 W8 r# ?" q; I有很多不同的方法可以将grin币发送到另一个钱包:
& i% J3 t5 K$ C! H# i1 R通过文件进行发送
; C- W( @7 f9 Q. B9 k. C目前建议初学者通过文件发送 Grin币。教程如下:2 i. k! Z# a! K) n  @, ?
创建一个交易文件:
. k* Q. t% w  w, r. ]$ Hgrin wallet send -m file -d my_grin_transaction.tx 10.25
, X7 S/ m# F* Q) D: F0 K$ A这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
" J- h: p0 b0 v% o6 f4 q将这个交易文件发送给收件人
# \, A, ^0 D! m5 V) P( H通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。
4 |% @8 r0 W1 i  k' z- o完成交易
+ I7 B+ J4 ~  G收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
3 N4 v. B8 I) a: p$ O$ E5 z3 `! s. p/ O: Q- d5 H. E
grin wallet finalize -i my_grin_transaction.tx.response
; x$ j7 x% n' j- q; ~这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。
+ n  X7 x! I- d. q1 o" n- D2 }发送到正在运行的钱包侦听器( C# D8 \( w6 F1 K, m
如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:
+ K- w4 o8 s' m  P- U, zgrin wallet send -d http://10.20.20.1:3415 10.256 U8 N6 r# D8 A# a, I2 S! _
如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。
$ i* H6 ]- W: G5 m7 z* ]- |接收Grin币& [; R0 U, [. ?
通过文件进行接收
# R0 L6 f' x+ `* X& _: s' Z- B发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
  I$ I& O" z# w6 N: F5 ygrin wallet receive -i my_grin_transaction.tx5 V# y/ u& k& v2 l
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。- i3 Z: w) {/ \- [# |- i
通过钱包侦听器
, b9 e) S3 o8 O' d) ?运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
3 |3 I( ~) y' @) ]" ^! t( K默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
+ _4 W3 G/ P3 aChange
- J4 G/ v' L/ b* T# {1 N: P1 ]3 b& z/ B$ h
api_listen_interface = "127.0.0.1"2 Q0 P9 W, f! V3 y7 ^! W
to" Z+ ]8 h4 z! F0 Q. F4 @
api_listen_interface = "0.0.0.0"
, P- t) B1 M; X: z$ v; E1 @或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:# k5 z" a1 _& Q: _. F
grin wallet listen! }; i1 j5 n0 C! q+ a! ~7 o
或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:
( l: e% P) {+ S  n% V: o0 I' Rgrin wallet -e listen! W8 C# s/ d6 s# l
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。8 E6 o$ K( x& o( r: L: `- I1 R
交易日志6 q' V2 U  _. e/ o( I7 _
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。; q6 M$ Q2 n! Y& S( N
查看交易日志的方法如下:
7 R! a; Y' P& z2 v% h
2 w8 }1 [2 q+ Sgrin wallet txs
! o, T' e/ A; J& bTransaction Log - Account 'default' - Block Height: 13830' M% Z" T  \5 r" k! b, I
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ w0 m9 X8 g& y( t
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx" @" F1 u1 Z, n, U6 _$ d
Inputs Outputs Credited Debited Difference Data
) r. e0 w8 V1 R: q- n. e- X5 V====================================================================================================================================================================================================================
  f( X  t9 h8 ]) D7 ?; Y; ]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 None
! H' X# `9 s! u: I. h  t7 b+ }8 }--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* }: R. C: U3 m/ S3 K1 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
/ Y; G. Y' `3 H+ `2 ~--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------( N" M- [* W+ l3 D$ S6 O
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.grintx4 D  Z3 O. H; I: \! R6 P" n
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
! v0 V$ x1 i% h3 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
4 h( I! R" l4 }8 j- E--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 q2 l8 u7 F; k4 [# G
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:
9 ~1 F# b, }1 I! e0 q% Vgrin wallet txs -i 32 ^  z! j  Z$ s" Z
Transaction Log - Account 'default' - Block Height: 13830
$ u. k- _' K: G$ u0 s--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1 m) @. `$ c2 M  A7 W' |/ j5 T
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx! ]* @! J3 Y5 J) ?9 z; A2 u! v, X
Inputs Outputs Credited Debited Difference Data
* L) G# _5 {+ b8 b, H==============================================================================================================================================================================================================- @, N" Q5 w( d% {0 t; 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.grintx0 \5 S) x2 U; T  f, F
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ h6 r4 a9 D9 f+ ~- j. D! k1 r2 O) a
Wallet Outputs - Account 'default' - Block Height: 13830
7 ~. D! R. Y9 u6 ~7 ^8 E3 ^$ M$ i! `----------------------------------------------------------------------------------------------------------------------------------------------------
/ h  b) P4 H! O0 gOutput Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx6 N+ `- c3 _0 `; k% Q( B7 b, ~1 F
====================================================================================================================================================. G; X* L$ K5 t4 H& ?  I* P& e
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
/ E' d1 X2 ?  {5 j, c( s2 T8 D3 L----------------------------------------------------------------------------------------------------------------------------------------------------
6 F( q2 B" m4 Q4 u& T/ V取消交易5 m/ F# I2 v8 c# m0 \& h
当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。
+ y6 C" [) h0 e6 z5 z& Y1 _如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:5 v- q5 w$ h7 p: F3 R
grin wallet cancel -i 3
5 C7 U% C4 k+ ]4 P. e) K* {) p' E这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。9 t0 V7 w( X2 m9 ~
钱包检查* I) `5 d+ c+ X! L/ |8 ]9 {+ t
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
8 e& ^( k) @% ?$ s4 N( S重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。1 x% ~; S4 A  x+ k- n6 @
想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:
! |; z" [4 O% d7 d, mgrin wallet check
- I; `" [1 N* v2 k' B5 f9 ~( F这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。
7 o# ]: V2 c6 u通过恢复短语(助记词)恢复钱包; x" B+ q9 r7 x5 m, D3 m( o
备份现有的钱包:: t# I# o! C1 k# H* d2 y. ?: q
mv ~/.grin/wallet_data ~/.grin/wallet_data_bak
4 R# C' h, S, d  _# h5 ]! q9 h" O然后:) c9 `2 i1 W3 ^$ H
grin wallet init -r
/ o2 a3 V6 q. R/ Y[... follow onscreen instructions...]
0 V+ P; R$ E' _. b7 ~1 _grin wallet restore9 `9 k% Y0 N& N2 U, Q% j+ X
有关详细信息,请参阅《用户指南》中的“restore”操作。
3 \1 R( z0 T9 d1 D6 F- s其他命令" {( v$ n" x3 h% @/ U
其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。( x7 Z% H1 a6 x' [9 P5 R$ p
你应该特别注意的一些命令是:; ~- G/ A7 j- e: {& c4 ?4 Q0 `/ C9 S
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;
. n& R" I1 p4 h! M6 V$ [5 lrestore - 从种子文件中恢复空钱包" u; k, Z1 ]6 a
以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10