Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?( e8 d0 s) e8 A) r' u, W
本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。
9 M/ I( w4 ^4 x7 y先决条件5 O2 {7 j1 ?+ X
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。+ V6 M% `/ r/ \3 c! u; o5 f0 x
初始化钱包0 ?* F. f$ E2 a% c2 O/ g3 X0 r
在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。5 t/ ?9 Q8 ~( b& M* w9 y: {2 {4 |
要执行此操作,请运行:
, @5 F$ w1 R7 v5 o. Agrin wallet init( m  x& q3 r& U3 W: u  s. ~
然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。* o& J. v; U: W8 W1 a' M0 ^
File /home/yeastplume/.grin/grin-wallet.toml configured and created
7 j1 H" ^% t# U; u! j( {Please enter a password for your new wallet
: k$ d0 H- p/ DPassword:
% K, ?# m$ H' }% RConfirm Password:
0 q1 b& N2 {0 P9 K完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:* q$ l( ]0 O1 B
20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed( Q3 k  b% G) O/ J
Your recovery phrase is:
& i- O+ Q( x- H+ a7 v! hfoster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report0 _* @0 N0 i( W& ^0 Q6 d" r
Please back-up these words in a non-digital format.- o7 k! e3 M9 I9 o& r' r* p
Command 'init' completed successfully! Q$ j6 m( ^$ t
你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。- \0 f( ]+ d+ Y
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。7 Y8 r9 v9 R# R* N3 _7 ]% `7 X
连接到一个节点7 f$ T; k% D* O( e  E
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。0 D' w; R+ G& Y. D
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。
" A2 M  t; B8 K: i. R默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:
- l8 M! t4 N3 z% ~; i* O- b5 s, Ogrin wallet -r http://some_public_node.org:3413 info/ ]: E9 X1 A! \+ |5 s
或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。
, R3 D; Z& H! }* N+ [8 I查看钱包资金
2 Y6 Q2 K% \8 H想要查看钱包中的信息,请使用info命令:; V. h9 W2 P8 @
# grin wallet info2 D* H3 E5 i* }: m: J; j( c
Password:8 C- G9 H/ a# `6 l
____ Wallet Summary Info - Account 'default' as of height 13833 ____
6 d% b( k; ~9 BTotal | 60.482000000
; s% A" n2 L$ x1 f+ U# |+ _Immature Coinbase (
) o4 ^$ N( l/ z; b( m( LTotal是你的钱包总金额,包括等待确认的资金;
" s5 A, Q2 _3 {7 O/ Z6 OImmature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);1 u9 P2 _& D) j, L: s
Awaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。+ z0 y! S* t6 o: V
Locked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。, F7 V0 k" s0 S/ y( Q
发送Grin币
# z7 x3 G- C+ C4 u有很多不同的方法可以将grin币发送到另一个钱包:$ |  o3 P" p! e3 H- I: O9 `
通过文件进行发送5 c( W6 d: E7 u8 M3 Q! g4 v  C
目前建议初学者通过文件发送 Grin币。教程如下:
  {5 Q" k' F( z; m! d% o5 Z- X创建一个交易文件:
6 g% }8 o+ t; Kgrin wallet send -m file -d my_grin_transaction.tx 10.25) o$ T" f, l" ^5 O9 T
这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。( a" P6 Z7 B5 P9 j" J4 V: z" d, F8 x
将这个交易文件发送给收件人( T0 y- Q+ z* B+ [
通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。; z( c# C9 c# Q
完成交易
" I2 \0 y; C, v1 y  I% y5 }收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:  B. z9 u8 U/ _- ^9 S% p1 {7 j
  J9 G( c0 }' t9 H+ A+ @4 K
grin wallet finalize -i my_grin_transaction.tx.response
$ C. [3 `6 R- s; b1 o" T6 l这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。, Q- Y4 B: |$ ?& b; O1 G
发送到正在运行的钱包侦听器
- r# {# ]6 {& O& \; Z如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:
. _, ^! K- j" h' ~/ P* hgrin wallet send -d http://10.20.20.1:3415 10.25
9 f4 L% w$ n& E/ W" a如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。/ o6 Q5 o2 ~) t4 C' D
接收Grin币. S# b' C" r# t6 k$ Q- ?
通过文件进行接收* B) J) h( V6 d8 ]! E1 c
发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
" g: ]5 N9 {) v( i3 ^6 h2 E4 b. dgrin wallet receive -i my_grin_transaction.tx/ ?8 X9 [& H  c1 q
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。! Z) E: o  `5 s1 U+ t) ]& L: r7 g
通过钱包侦听器
3 c& s' r, q6 J5 |运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
7 w& G' x1 V9 X/ M+ G+ g( w3 g9 f默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
# L' O9 c# g) W3 j) o* QChange5 d. Y, g) S; D9 H

, v# ~% y0 W% _8 c& \* R7 sapi_listen_interface = "127.0.0.1"
9 C6 [! w  u; V/ T: N+ Tto" x7 m( C6 @' K# A! P
api_listen_interface = "0.0.0.0"
8 m8 [7 ^, i- A  X3 g/ u或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:
. z. M4 a9 x" ]grin wallet listen
3 b. ^9 u- L0 L% h4 S或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:$ X( n9 H7 c* M9 X0 K
grin wallet -e listen
, p1 u( i. y* ~2 ]2 @9 x你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。
/ }' B5 k+ g8 U# I( ?) t% p交易日志
; X( P: }7 X0 g4 {! ~5 w8 m! FGrin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。
9 b" O# E9 O# c查看交易日志的方法如下:0 \7 k' m5 e* ^- w2 m/ y* N7 p3 E$ E
5 T4 I( M8 o) o. _) i, p" K1 P
grin wallet txs- N& x. V  M6 ?  i' t
Transaction Log - Account 'default' - Block Height: 13830
1 m% ]# A5 x6 ?$ G+ P4 f5 K3 x--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
. ^; @+ Z/ U9 v  P. BId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
& |7 g3 [( R3 t0 vInputs Outputs Credited Debited Difference Data/ }/ K4 u+ {' a9 f* N  _$ `
====================================================================================================================================================================================================================! b# G3 Q* |# M0 P  m2 t) V7 [* 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
- ]; f0 D$ ]9 r! {% m! i- J--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9 }4 z$ t. g5 _! b) c5 e1 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. ]1 {5 ^# I9 U% l9 F8 M! Y
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------$ j2 s5 Q9 I! c' @# g7 m0 m
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.grintx5 S1 R9 T% P4 f0 v. r
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------8 q# L2 ]; Y$ z  b) W/ W4 m
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
* i4 }" c- V" K  `6 o$ E- {7 i--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
, N+ R4 e9 K3 n6 _. R! y2 c而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:; J0 G* d6 i: ]8 Y
grin wallet txs -i 3; ^: G- c% [8 b$ Y
Transaction Log - Account 'default' - Block Height: 13830
1 J1 C4 R. S0 K0 B3 c1 ^& W--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7 c& f4 m& R6 [- e$ Z+ j$ VId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
6 b3 s) x: b- }Inputs Outputs Credited Debited Difference Data  i3 y7 v# u! S8 K6 w+ q: v' ^
==============================================================================================================================================================================================================
8 `3 x2 }! I9 }5 r) ^- m& `5 I3 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  o4 n- q' z! ^0 b+ T
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------0 r$ ~, e: P% Y* j6 S1 u; i$ c; s
Wallet Outputs - Account 'default' - Block Height: 13830
* j$ _% G1 U$ o# l* a: w----------------------------------------------------------------------------------------------------------------------------------------------------
( W9 x" \. F: L' _% [5 ]) S, d2 BOutput Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx. R. x0 N: C6 ~: P
====================================================================================================================================================5 n9 h8 k/ D6 y
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3, c! s6 W" h4 v1 S8 N& K
----------------------------------------------------------------------------------------------------------------------------------------------------1 U( W: O  V/ N. y
取消交易
- W) t4 H! U  F# g- r当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。% d  L; H" h) w8 t, s
如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:% U' q5 C: s/ C! x, \) Y
grin wallet cancel -i 3
9 S1 Z+ n4 i; I8 t2 W6 Z/ R! `这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。, o# x; v  e5 U* M7 v6 A
钱包检查
; M) H" \) k$ ^0 i3 D1 @" J由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
) t: V" t% j9 i- [6 z9 \$ a( w重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。/ Z& d4 Q5 ^8 k& J! V
想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:$ Y' k/ B( d3 [& s
grin wallet check
4 D* q3 o! @+ @/ e1 \  L9 e# r这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。
$ k) D, s& E8 O4 k& Z; ?& P通过恢复短语(助记词)恢复钱包# v/ D' R" p) x# h! g* ^
备份现有的钱包:+ A; {$ j; Z% |
mv ~/.grin/wallet_data ~/.grin/wallet_data_bak9 Z! Y# ]! B' `. `
然后:3 ~2 S" F# v- T, p
grin wallet init -r" Y  C# r3 \4 s5 k
[... follow onscreen instructions...]8 z/ Q3 V2 N+ ?7 `0 U! J
grin wallet restore
1 L" d) n# W3 X& j+ b' S( z有关详细信息,请参阅《用户指南》中的“restore”操作。
/ _8 q4 O2 G* o/ ^: H: q; M/ f0 U其他命令
# `, H, A7 b- k3 @4 P* E: S其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。
5 \- y& i& U; S你应该特别注意的一些命令是:& Y! c4 O/ `8 {' p/ A
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;$ J$ P/ X: }* T! p" A
restore - 从种子文件中恢复空钱包/ S4 a% R% l" r# z
以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10