Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?
, I' Q/ w6 |" G+ K4 Y5 j. k- V本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
/ Q8 P0 z; S: ?" ~先决条件& a; u: Y7 y$ \) q7 t0 u) U% u
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。% B5 z& R% |1 T( q  u; q) G
初始化钱包
  X5 n) |# K. C/ e; L在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。2 K! u, D) b+ k5 F$ m, a
要执行此操作,请运行:/ P9 D9 `2 @5 E! o1 T
grin wallet init
( |% D, \( c3 B  J  I5 ]& u然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。: M0 O+ Q) J0 }" R' u, [5 e! s
File /home/yeastplume/.grin/grin-wallet.toml configured and created6 b0 q& U. @9 Z2 L
Please enter a password for your new wallet9 ~, k6 z# x+ a2 L1 l# f$ Q; k
Password:( p( S" G5 k! N% w
Confirm Password:
& f: t$ b: H* A3 n# ~# _完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:) W: v2 [. q; u0 K
20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed
+ G4 X2 T: e! H+ b( Q/ _- o* UYour recovery phrase is:
* ~$ ^/ g; h- c# R9 mfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report
# H1 N9 t* v# n6 f4 zPlease back-up these words in a non-digital format.6 `! W, B9 x1 H/ ?6 i
Command 'init' completed successfully" ]9 y" f6 B" E3 b& s4 Z
你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。" a4 o4 r  s+ c# I' D4 c
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。
" o8 @9 ]5 W) O5 q# J连接到一个节点% `8 q1 m6 C; I- P6 F
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。1 P  s9 }1 s4 ?; a! i; C- y' J2 S4 _
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
. l+ W1 a; A1 H+ t- I9 ~默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:
  r# _' H  N, F) W& f* kgrin wallet -r http://some_public_node.org:3413 info
4 J( B) v% x$ q* l) o或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
- t, l7 {* h6 p# Z查看钱包资金( u' C/ G- T  I7 g/ U, ?
想要查看钱包中的信息,请使用info命令:
- m. Q5 ]$ W, A' d8 w4 Q. A# grin wallet info
) p% R$ Z# d" _0 oPassword:' V, I+ J- u' i) N, F2 e
____ Wallet Summary Info - Account 'default' as of height 13833 ____6 y9 k: `7 u1 L4 x& v
Total | 60.482000000) W# j7 {( p- l" R
Immature Coinbase (+ W% Q1 A% J; |# C
Total是你的钱包总金额,包括等待确认的资金;
: V0 S+ j" o4 ]* QImmature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);% u3 C& Z9 v( J
Awaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。1 ?# [( z. N/ F
Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。
9 j$ {& g# G' \0 O9 {发送Grin币
( V  D4 ^' c5 A1 o  O有很多不同的方法可以将grin币发送到另一个钱包:
# S- i& L! ~- j# A9 P3 Z, s% f8 k通过文件进行发送# t6 `5 d3 V7 @* X
目前建议初学者通过文件发送 Grin币。教程如下:8 \8 o! k: u9 H  N
创建一个交易文件:
  B0 v! M* O$ B# U4 `+ A# e$ y3 Ygrin wallet send -m file -d my_grin_transaction.tx 10.25
9 L( z' }" `8 S" Q6 t这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
, ~! l: C; O! h4 |! G; I# k1 h+ v将这个交易文件发送给收件人
% c! a8 k- S: n7 O$ O通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。
8 ^7 l' |: L  {2 Q; R. z' D+ G完成交易; H& a/ l0 t" T& D0 B, ?: s7 F
收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
, \9 j: B* J2 ]# _
0 [" p+ Y# P7 Y  F6 M3 |grin wallet finalize -i my_grin_transaction.tx.response5 F* U1 E6 t. Y7 ^- ?7 L
这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。, Q" u. T+ m4 d3 D
发送到正在运行的钱包侦听器
8 v/ }4 \0 ~7 q如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:& R8 R4 a' K+ g9 x/ W6 O1 r
grin wallet send -d http://10.20.20.1:3415 10.25* P8 g# k6 P7 o4 ^  q% i0 j4 M
如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。$ \* u" }! A1 ?4 e
接收Grin币
: C% y: X, w8 z$ g( E* n8 F5 `- C0 k通过文件进行接收
8 y" x9 R* D  f发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
- _5 s- J, A- rgrin wallet receive -i my_grin_transaction.tx4 f) J* |+ Z1 M, h- F+ f
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。8 F% Q0 ?7 G$ n
通过钱包侦听器' L! X6 O( I4 v
运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。- d, Z1 b. e& |7 k& |; l# g
默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:" \- w  l, j6 z) g% ]
Change
+ A  _- Y  ~9 Y$ Q7 W2 }9 v  I/ N' Q" [  ]
api_listen_interface = "127.0.0.1"
1 H& K+ Z; w8 l' n# Sto
  m( t* g6 K3 J9 T' \- iapi_listen_interface = "0.0.0.0"9 n; b# o2 O  ^3 P8 G: B
或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:
* Y% A2 e. T" X/ p" b+ y" egrin wallet listen- U7 }+ s  n+ z; O7 h$ k" Z
或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:/ ?) ^7 h5 j; x- v* e+ N' l
grin wallet -e listen8 A5 z' U- ~! N( q
你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。/ Q# A+ L! |3 G
交易日志
5 Q! M6 f" C0 M9 Z* uGrin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。
. j8 z, d/ k- a) B- r9 O. I/ v+ e查看交易日志的方法如下:1 R+ p: I4 L9 s, S5 s" B

% g, D7 d" G. bgrin wallet txs
+ g- f4 U  F" zTransaction Log - Account 'default' - Block Height: 138309 \5 m: B$ b( v
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ h& `9 f; x1 B
Id Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
* h; y1 R1 N1 F3 QInputs Outputs Credited Debited Difference Data* _$ X8 F: i! |& U% g# Q. r" y" `
====================================================================================================================================================================================================================
8 z& M+ n& u, T2 Q0 I& l0 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
' E! I# ?' B" k. p7 b--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$ F) Z9 A3 K0 x4 q/ [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.grintx2 j5 B5 A: k- `$ F
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 m. M+ V/ b6 J8 G
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
: O0 ]) S2 e- A3 Y/ p--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" _6 }: c8 G5 |: N( `* f5 U
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
9 c7 Q' y$ A; T. W4 F--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4 V' D& K: M* K8 c0 p
而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:  M# {  O5 m* L9 x
grin wallet txs -i 3
3 H3 V7 t' k( U5 y) H; }Transaction Log - Account 'default' - Block Height: 13830) }" o9 O* P' \8 Z
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/ l" W7 x! M$ A1 L5 v0 y- G8 yId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx0 t5 V7 f$ S, d
Inputs Outputs Credited Debited Difference Data
6 M7 J# W: w2 v==============================================================================================================================================================================================================5 z( |% y, v" _
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
( i2 c4 @( D5 W9 p5 n6 i1 r--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# E4 f' M. ~0 C6 g3 ?! x1 _/ Y. l8 HWallet Outputs - Account 'default' - Block Height: 138306 u/ i4 J4 v+ l. N' B' T
----------------------------------------------------------------------------------------------------------------------------------------------------5 |/ b( c1 a: r. s2 E1 J5 _8 b
Output Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
) E" e/ ]! b. @7 Q7 ?" |' L====================================================================================================================================================
5 q9 L+ }( r* A- a" }' J08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
7 R& u/ t7 s: b----------------------------------------------------------------------------------------------------------------------------------------------------& }: r1 K; A3 c# q
取消交易
' G& E3 W8 ]& E8 F当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。! m( `/ ]% k& p( M/ ^
如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:
" _5 H# @8 n4 ?. O- r* Wgrin wallet cancel -i 3* j: G7 d$ t0 l: n' e- N9 d
这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
* x* n+ B5 y1 |: m钱包检查2 @" g9 p) h4 T
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
  S2 u! `# L3 u0 f, Y% ]0 }4 t重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。: x) ?. d- f2 |( P3 x/ V  w
想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:: x4 B2 c( @3 `9 W( ?
grin wallet check
# H7 H4 S" L6 e" p. q! r- v+ A6 a/ K这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。
+ ?; W7 o( v, n& n; ]6 u& I通过恢复短语(助记词)恢复钱包: m2 `4 @) j4 T
备份现有的钱包:
! R/ r4 i: n/ W+ ?mv ~/.grin/wallet_data ~/.grin/wallet_data_bak' b: Z* ]0 ]0 x; U1 I8 _7 X
然后:
  M7 Q/ h& m, V# V2 R* @) A& sgrin wallet init -r
( x& u& _" p. O, N, e. |[... follow onscreen instructions...]. H* ^" R  ~4 ?# G4 M
grin wallet restore5 e1 {% [2 m+ d3 i
有关详细信息,请参阅《用户指南》中的“restore”操作。, J1 ^* Y0 b( w5 ]8 ~
其他命令& F4 A+ Y, Z9 |8 _
其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。
+ ~% w: m. K+ N, l$ n' K1 y你应该特别注意的一些命令是:' G- Q1 p  X# i; t5 K5 P9 e! d
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;/ W) m3 M& q% p  M2 I9 X' z
restore - 从种子文件中恢复空钱包
: u! O3 n! N4 {" k' p7 N以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10