Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?2 O. q& r9 W% U* z  J
本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
" y" b5 [, v. M8 O& \; E6 p! n先决条件4 C& ~- L9 s4 q6 v, V9 A5 J
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
7 c$ U1 w6 e) T- _9 }初始化钱包
& S4 Q" X) D% ?9 E/ l: m- f在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。
. `) y/ P6 X; j) i) Q1 D! k& q要执行此操作,请运行:
* b( ^9 g3 o6 xgrin wallet init
9 s' i* k: @7 y然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。) ]& E% Y! z5 P1 S4 g# `% m# g
File /home/yeastplume/.grin/grin-wallet.toml configured and created% A( L2 o! A; K7 E
Please enter a password for your new wallet+ _6 f2 {# T2 s( \7 @# ]
Password:
0 D9 c, o) H8 X. D: VConfirm Password:
* K6 k& |  Y" x' w" O0 @完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:. H0 B; W" N) `" f
20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed# f7 C0 {) |2 `* ^3 d9 O, d
Your recovery phrase is:
6 o4 F* B  ^* J4 t1 nfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report
9 u  s7 ^1 _* n* r- zPlease back-up these words in a non-digital format.& W: J* Z# ~$ G* T, n
Command 'init' completed successfully
0 H9 t; W8 Y% z, M9 F) l# O" A你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。3 D0 \3 V& T% u! x6 p3 ]6 k
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。
# i, q0 k3 R2 _9 O! Y连接到一个节点
; u0 ~2 C  C) Z" o6 t! ~9 w你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。
& K7 s) g* \+ Y& y目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
, F( a  b9 g: h6 E2 k默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:  U/ C# T. ]4 Y+ q; ]( T6 f
grin wallet -r http://some_public_node.org:3413 info
9 M# j0 C6 J6 D' ]; {% D  U# n# O2 H或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
7 T0 R2 h( u2 Y  Q) p查看钱包资金
% L0 ~% k8 t2 ^1 v+ i想要查看钱包中的信息,请使用info命令:
/ C8 P& K5 E9 r! S2 b1 L# grin wallet info
* [4 F2 c: ^* T3 KPassword:
  U- w5 t  ~+ ^! ^- m" }____ Wallet Summary Info - Account 'default' as of height 13833 ____8 H8 g: L% z7 D7 A
Total | 60.4820000001 x7 J! f0 A  w7 k* b
Immature Coinbase (
' o5 t4 x8 Q" o" Q& c) o7 z: ]% b! FTotal是你的钱包总金额,包括等待确认的资金;
! B, m  Y8 ]9 m3 ?Immature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
* K$ D/ H2 N* x  r: rAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。' p' V! v: U; C) |$ u( B
Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。
& J; v4 f: V4 H. n3 O发送Grin币
2 g& J9 G+ d& W8 K; K有很多不同的方法可以将grin币发送到另一个钱包:
, ~3 \( L4 {! H, H% d, f通过文件进行发送4 c. K: d# e  [; ~) i+ A* y! t
目前建议初学者通过文件发送 Grin币。教程如下:( f% c3 G& m: H2 `& ]/ `
创建一个交易文件:
9 V0 ?! \  x9 G& B3 `grin wallet send -m file -d my_grin_transaction.tx 10.25
( q6 K5 j# Y( ]( u5 T# s; x这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。2 R' V; _$ q7 }- y1 C. A! _
将这个交易文件发送给收件人/ W% }' |( k2 ]6 p" @! l, F
通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。
  _: l1 `2 {! c, W完成交易/ V0 }) E, a( _" Q7 k( q
收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
6 H8 I7 A9 _% n5 E" y0 G/ F$ r3 Z6 x( l! h* s- ?% j' q2 J
grin wallet finalize -i my_grin_transaction.tx.response1 G! q# @# v* c, h
这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。
+ o6 n, v$ F  A0 ~" M% ?发送到正在运行的钱包侦听器. m' m" J  Y4 c  c
如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:
0 U1 {1 R1 X9 Rgrin wallet send -d http://10.20.20.1:3415 10.25
0 u3 Z4 U4 C4 ~( @8 ]5 f( W如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。. }5 _# {. c* V) z' k. g* q
接收Grin币
* Z& W* n! e* O& ~. y8 P# p通过文件进行接收' p9 t6 ?$ O6 p
发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
) p0 E( S7 Z  n" f$ _- i7 S5 V) r+ ]grin wallet receive -i my_grin_transaction.tx/ y8 ~3 V  E. i: R4 D- N
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。" E3 N, C2 [" l: Z: l
通过钱包侦听器, k. }1 v$ H+ {% R; N
运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。) C$ X# u' W2 ^5 N
默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
0 L* ?" K; o7 d; T/ BChange  ?% ~/ r2 n5 L& ~7 l. P
4 O# ~- a7 @- M
api_listen_interface = "127.0.0.1"1 u) b* f, J7 ^% ~% J
to: z( Z3 I' C/ @; U
api_listen_interface = "0.0.0.0"$ l7 o( G* A3 W/ n9 C2 i  A8 ]0 R
或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:
0 {% {5 g/ U3 M8 l. m2 F! i, zgrin wallet listen3 X+ g/ {* l+ s% Y3 ?6 b
或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:- p3 f% H% X5 A2 Z6 t, f8 P' v
grin wallet -e listen$ h3 ]: E  M8 Y8 k0 `* C* \! O: r
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。
: z( h1 j4 F1 ^) _- z4 u交易日志& C# y/ L  N, y! W
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。" [" c$ l* d. x& K8 R+ R9 P
查看交易日志的方法如下:
" O( y  h) ?1 }$ v
- h: N* ?- u8 X% R, I9 L/ Rgrin wallet txs
+ S1 C0 \0 g1 QTransaction Log - Account 'default' - Block Height: 13830! B' Q$ p) y7 x  u
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------$ `0 d. R& e9 L) w9 D" N
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx- z$ x! w; o: C. h1 g4 y
Inputs Outputs Credited Debited Difference Data4 O3 q7 T! u* F  ^+ E# u, |
====================================================================================================================================================================================================================
* F' o$ h: ?+ A# A2 s% ]+ k0 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, ~! v8 R5 H* H0 ^7 x- k3 ?
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------& F9 g5 h8 v# r# N
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/ A, `: g- A3 E) a
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------& T' ~" `- `( T& s8 w. C
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.grintx3 t/ j$ {! d, z- b
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [5 a3 y3 \3 t$ x. G
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 Y7 x) [) P- K2 d8 {6 w--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------7 C& I/ q+ P: b$ B$ o" F/ g( O
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:
0 a/ {# [- ]  p/ h' C) egrin wallet txs -i 3
- r0 X* U- }4 {0 o- [: E" p2 `) CTransaction Log - Account 'default' - Block Height: 13830  [8 ~5 K& ?- j$ K. \( d
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------% j$ p( k- E+ l- f. [& s8 s4 W
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx8 }/ k! c! ?4 N: y
Inputs Outputs Credited Debited Difference Data# |  j1 \( x2 @; s* x0 h! r8 L
==============================================================================================================================================================================================================0 D  w1 Y/ o% _/ O( D/ y- a4 u+ s
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
/ S! A% |# r; o6 O5 V  @1 `5 E--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
) a0 v0 X8 S  Y- }+ Z* UWallet Outputs - Account 'default' - Block Height: 13830
% _4 @; Q- j) r- j, t) i2 n' M----------------------------------------------------------------------------------------------------------------------------------------------------
( A/ U, o" r- C! P+ aOutput Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx4 m" {/ S) T, V3 G$ d
====================================================================================================================================================
6 \" D9 |% k, K- R& B3 e+ q( s  v3 |08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3/ j+ A& W- P' r& ?, m  P
----------------------------------------------------------------------------------------------------------------------------------------------------! N8 f. a. d8 Y4 q# Z
取消交易
+ k3 I9 t* t1 f6 t* c4 _! s9 _- X9 }当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。
5 a' a& Z( Y( N- F! g8 M5 I6 F! [如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:
; z- N( U' N% i% Ggrin wallet cancel -i 3# q$ E3 V4 B, L4 O! @
这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
1 u  k' a0 z9 ~8 I7 N2 h! Y钱包检查/ \$ M# X/ ~) e1 ~! R+ c$ P
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
. x. ]& E# \! w3 y9 u1 {重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。
3 i; k) m* W! L) Y( P; x, A7 U想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:5 S* ~$ F6 w* y* R
grin wallet check3 ~  P+ d- U- v3 W& c( _* I! T
这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。
$ j: m$ F5 p; i' T- V# j/ c4 J通过恢复短语(助记词)恢复钱包/ Y  G6 y/ A2 a0 E
备份现有的钱包:6 w. T) }/ B  u4 b. C
mv ~/.grin/wallet_data ~/.grin/wallet_data_bak
( f1 c$ x, s5 p然后:
- j9 i- P! W: T1 ?( Y! \3 w: ^grin wallet init -r  s* A! {$ ]" `6 l7 L! A
[... follow onscreen instructions...]6 G+ R0 D; i! ?& w5 X
grin wallet restore
. \  t( L6 {! W3 z有关详细信息,请参阅《用户指南》中的“restore”操作。
- `  `, c& h6 H1 g$ I6 p9 d其他命令6 {% U8 G/ h' D" h: U/ l
其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。" y$ q, d% L& N1 \$ ]
你应该特别注意的一些命令是:8 |8 c; ], V+ ~" e
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;% _. M* Z; M, c7 W* b
restore - 从种子文件中恢复空钱包
1 n6 Y: Q1 d5 J+ g% o+ Q+ Z8 K& R以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10