Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?
4 U$ k4 ?2 l3 N* M$ w0 i, k本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。. n( V3 H7 B( M$ }9 F  Y
先决条件/ R9 U3 g% O+ h, ?; K. f% _
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。  v7 g( \# J2 Z
初始化钱包
' D, ^: w, Z' {/ v+ i; |在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。. m. ?1 ~# }# p! c8 l
要执行此操作,请运行:9 r. Q% {7 ^/ J7 \/ T3 m
grin wallet init) E1 _: R- w7 V( r
然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。
$ M5 E- x! C$ k# {. G$ z0 _% RFile /home/yeastplume/.grin/grin-wallet.toml configured and created
. a" J! J- X, i  V5 O# ^3 W0 }% TPlease enter a password for your new wallet" B4 t- j6 u) U6 ?
Password:
3 i0 o' f/ E0 q$ g2 o0 ^/ WConfirm Password:
, e7 u5 Q2 m, T1 T; ]( e  \  u完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
8 E( L: [0 S8 R% ~2 U1 |20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed2 B& k' L- T1 Y$ m, c; e7 S1 r
Your recovery phrase is:
0 {5 Y5 u, L, d  Pfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report5 v1 i# n# n* P6 U5 x# [' _
Please back-up these words in a non-digital format.3 O7 Y  Y3 n: u5 _* F/ U+ n- g
Command 'init' completed successfully! m# Y# \1 l& U& O9 `& _: f/ O: X8 k
你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。5 Z* Z5 e, i# P
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。
6 c6 X+ C2 Q6 K; d  L* l连接到一个节点/ ~( a: Q  S0 `) \* r8 z! A
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。6 M3 a- Z+ J) i" `2 h0 x& `
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。! n$ A# ^' J+ I# o# ~3 E' Z! a
默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:
" S# q) A. N# S% |; qgrin wallet -r http://some_public_node.org:3413 info
  N, X" q# G. b. u或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
$ c6 A- ]3 t  u  n, M% r+ K7 U+ P查看钱包资金9 i# x# z$ d% i2 S% E
想要查看钱包中的信息,请使用info命令:
- Y9 }8 ?# f) j. \# grin wallet info4 j3 D, q3 Y1 t2 D1 E# e
Password:
; U# J9 n) k$ g2 F____ Wallet Summary Info - Account 'default' as of height 13833 ____
7 ?# Z8 b3 G  a" S3 Q1 PTotal | 60.482000000+ p$ A9 D4 g& P, J8 V4 ]' f" E
Immature Coinbase (7 D7 w: v; h' i) t
Total是你的钱包总金额,包括等待确认的资金;
" ~' e- D$ \* s$ ^7 KImmature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
/ ^7 ~& ?) T8 N0 f- u" jAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。3 s+ _2 P1 s) z! F2 `, }
Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。$ B( U4 ?: G+ X) Q2 m! Q" A: m
发送Grin币
3 j1 t, o! k9 A7 L6 L1 D有很多不同的方法可以将grin币发送到另一个钱包:1 S1 H. P  E$ K) b. f8 ~. Z
通过文件进行发送3 w* [9 L# r9 V- H
目前建议初学者通过文件发送 Grin币。教程如下:
, v+ {$ k4 @; ^7 |5 E9 q4 M8 }- }创建一个交易文件:
5 N" f# V' w  Z- {grin wallet send -m file -d my_grin_transaction.tx 10.25, E% l7 D0 f. i$ u' M2 N8 w
这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
* L$ F: Y' D+ O将这个交易文件发送给收件人
7 n1 j' i- s/ U/ s5 V通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。) x& V& T: [3 Q3 M& f7 \
完成交易* B3 V/ E( {1 ^9 q2 z
收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
' Z/ m8 |0 |1 R, _) `
3 @9 {, s# p2 H# `8 ]! T4 s1 [; ~4 Dgrin wallet finalize -i my_grin_transaction.tx.response0 o  E3 ^8 V- [( E) X- ?2 A
这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。
$ `9 \+ ?0 f# o3 L8 f发送到正在运行的钱包侦听器
( }: Z" I% f, d$ s4 @) C如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:
, L  J& b6 S9 p9 Dgrin wallet send -d http://10.20.20.1:3415 10.25' s) \& \# |7 S6 N
如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。
. g# _- t$ J0 J+ j+ y: M; o# C接收Grin币* ?' \: D+ d2 t7 K
通过文件进行接收2 R( x! q* |! ?( g3 O! [
发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:& H4 k: ~6 A- P9 o; Z
grin wallet receive -i my_grin_transaction.tx
8 G7 y. `6 e; _# b这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。
: a5 h. y# ^- `$ A通过钱包侦听器, [2 m( o; \& O7 S  J6 b% w: ~: @  Q; P
运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。2 N; j) q9 ^& }: O6 U' y. ~$ H+ M
默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
7 Z1 s. C+ h$ ?' WChange
- q* k7 l" D: E$ Z" a) ^& _7 F, ~7 V& N% Z0 |
api_listen_interface = "127.0.0.1"
% r5 b7 ^1 M" }% H% Rto7 {2 [9 w& c% ^6 ^+ h
api_listen_interface = "0.0.0.0"4 y1 o4 x% z( B0 S  Y; Y0 e
或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:
! P4 c/ B5 T( t' r3 |6 k5 Xgrin wallet listen: q% S1 ~# c& V+ M: ?* |8 e
或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:
, a# [, ~4 ]/ Q1 g  M' s- z/ ]1 ggrin wallet -e listen
$ C& N9 ~& O) R* q你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。
0 K/ {/ n5 H! O  x% `9 m交易日志) Q; I' Z$ f3 o( a9 |2 c
Grin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。5 |  _2 m; L0 m$ f" x
查看交易日志的方法如下:
8 I; V9 E% j( U* r% v  v5 o  c2 O2 g* N3 F. P' {- G/ ^" Z2 u; u
grin wallet txs
/ R  D8 b* E* j; ^- STransaction Log - Account 'default' - Block Height: 13830: |& @4 S: _/ x; j; E
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------8 G* L# l" s# }" }
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx) S& {6 E& l1 e) |
Inputs Outputs Credited Debited Difference Data
* A. c+ z: n) n7 n====================================================================================================================================================================================================================/ ^# s* b% y! b
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
7 z5 X4 k" P  l5 |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" m" k8 @; N7 _2 G1 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.grintx7 e9 I* V4 c5 G5 C0 W  O
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------0 Z. m  S4 j% U/ n. e: J* b
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& o( D7 a, G9 ]) `' R
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `+ |# Q9 C/ S5 u9 A" f& R3 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
& I4 b) i( v# g1 A( x1 _* P0 M. D' R--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------& r2 {- ~9 N4 ]% @. a. a- \
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:
6 n+ J9 \& g) f9 w0 a! S+ Mgrin wallet txs -i 3
! A2 o" ?5 G% D7 ?! d5 a) STransaction Log - Account 'default' - Block Height: 13830! y8 @" y9 c& K; \
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ d' @* K3 ?, L) f% u' R, ~
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx  S- A5 w6 K$ K! `1 [7 R! k5 T
Inputs Outputs Credited Debited Difference Data: O+ L# ], y6 l7 U: Z
==============================================================================================================================================================================================================2 q' \9 G% K- U, x0 Y' ]1 L! }
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
6 x9 |, u! f4 a. f9 H--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# A, R) m6 ^2 f9 K3 p
Wallet Outputs - Account 'default' - Block Height: 13830
$ c1 Z+ z% o$ o6 f3 T----------------------------------------------------------------------------------------------------------------------------------------------------
7 F" W8 a  O# z- l& vOutput Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
0 _$ o$ n/ x( Q====================================================================================================================================================
: _2 {6 A1 L2 R4 ?# p' `6 |( ]9 x08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3, b6 h5 M5 ~/ a$ o
----------------------------------------------------------------------------------------------------------------------------------------------------# i) g4 R+ \7 P3 g% [4 l5 y  E; D1 p
取消交易
2 G) Q' M' m+ a( T当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。
1 y, N, r* ^4 \) n7 S) Y如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:) {5 K& c/ k. f; w
grin wallet cancel -i 3
( O% r6 {3 P; Q# B这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。1 u& }$ ]+ g* |4 S
钱包检查
2 O* b" t# M3 S/ i0 F# I+ F7 z% ?由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
3 }) m3 }/ V3 c3 r! ~- t重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。1 U% E; n/ y, {" s5 v' ?0 E
想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:
% }# G' w* e% w5 V4 Q0 ?& kgrin wallet check5 w; e5 m, G* K7 }1 C& R1 n7 a
这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。
/ n  E! S* X; w8 c通过恢复短语(助记词)恢复钱包
8 N: k( J1 X- K, X8 e, W3 i备份现有的钱包:$ J. C% e, x. E+ c, t  C# w
mv ~/.grin/wallet_data ~/.grin/wallet_data_bak" \) ~. Y2 |  v* l3 Z
然后:, A6 {7 m) v. r1 M  s
grin wallet init -r% m1 ^# t  \. C
[... follow onscreen instructions...]
1 o. |8 @# i8 l- n9 B7 _+ l! d8 ugrin wallet restore$ o- c9 b% q3 k" x' _9 r+ r
有关详细信息,请参阅《用户指南》中的“restore”操作。
- W( l  `0 X6 m# V1 Q- W其他命令# M  }6 f' i8 q5 L" g
其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。8 E. C7 f( S7 B; T
你应该特别注意的一些命令是:# {2 ?4 C# s. G" {% m( f
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;
/ O; U! S5 D, h% L5 _) n. Jrestore - 从种子文件中恢复空钱包7 r9 u+ i6 r/ p: @7 j
以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10