Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
匿名币Grin(古灵,名字源于哈利波特的古灵阁)在币圈刮起一阵自来水宣传风暴之后,我们仍需要面对一个现实:由于Grin抛弃了地址的概念,这使得它的交易操作比BTC等传统密码货币要更复杂。那这种密码货币是如何在没有地址的情况下完成交易的呢?
6 {6 o7 W% D# v0 G$ [本文就是Grin钱包的具体使用教程,包括初始化钱包、发送交易、接收交易、完成交易、查看余额、查看交易日志、取消交易、钱包检查、通过助记词恢复钱包等操作。8 d! I0 l5 X" [. {( w4 W" K' W* ]
先决条件- B) M# T% x( n) m0 \2 @2 B" c0 b' j
此教程,假设你已下载并安装了Grin软件,并且正在运行同步节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。' x; t1 Y/ i  C/ ?- r% |! A2 e
初始化钱包
$ Q7 x8 }, S# R& L" I在使用Grin钱包之前,必须对其进行初始化。此过程将初始化钱包的数据库,并为你创建私密主种子文件。
% {+ }& R$ X" K要执行此操作,请运行:0 H; X* e% I$ T) E1 |" Z
grin wallet init/ R: Q, w! W! l2 V
然后系统会提示你输入密码。此密码将用于加密主种子文件,每次使用钱包时你都需要提供此密码。% M. N0 x# M) V; d' Q4 j2 S& f
File /home/yeastplume/.grin/grin-wallet.toml configured and created% z( u0 G3 c+ ?7 I2 ^
Please enter a password for your new wallet
7 P. W( v, g: V) w5 tPassword:! ?5 a$ d8 B$ N: A% `: K; g+ ?) n
Confirm Password:
0 Y$ ?% d  v" k完成此操作后,系统将生成你的钱包种子文件,并为你提供一串24个单词的恢复短语(助记词),如果丢失种子文件或忘记密码,你可使用该短语恢复钱包。用笔和纸把这些助记词写下来,并将其放置在安全的地方,因为任何掌握这一短语的人都可以控制你所有的资金:
; S# P( X( b, Z% `20190105 17:36:35.814 WARN grin_wallet::types - Generating wallet seed file at: /home/yeastplume/.grin/wallet_data/wallet.seed$ R- f) x( O# W6 L8 d- G; u
Your recovery phrase is:% _, x4 O- p- \# m* A' w1 }
foster approve pen ancient engage bomb fantasy life short stuff mesh bus design truck oyster ankle shallow torch double melody town century nice report5 \2 B) N# M- K- N8 w: J6 }1 R
Please back-up these words in a non-digital format.
  A2 x* C1 a) v/ S; OCommand 'init' completed successfully
/ C  n8 H+ |7 K0 l) E  `0 B你的钱包种子文件位于.grin/wallet_data/wallet.seed。请确保将此文件备份到安全的地方,并确保它仍然是私密的。% ]% X; D- h3 {; J" A
你的钱包配置文件位于.grin/grin-wallet.toml。通过编辑此文件,可更改默认节点地址、默认侦听器端口和更多选项。有关这些选项的更多信息,请参见下文。2 _9 a' F8 s4 b' w5 C0 ?. D  g
连接到一个节点$ R# ^- Z) W+ D- M/ j7 T+ P6 @
你的钱包必须总是有一个运转的Grin节点来通信。节点应是完全同步的。! Z( Y; b0 W6 B! d* u( S, D) P: d
目前开发社区建议大家运行自己的节点。有关如何执行此操作的说明,请参见如何运行GRIN节点页面。: u, M# x; i3 J8 l0 k" [9 t4 z# `
默认情况下,钱包会尝试与本地计算机上运行的节点通信。而要和另一个节点通信,你可以在命令行上指定–api_server_address(或者简写为-r),例如:: ?/ z+ x5 }* D) r8 ~7 T, a, y
grin wallet -r http://some_public_node.org:3413 info3 ?: Z# Y: q3 o, q
或者你可以编辑grin-wallet.toml 中的 check_node_api_http_addr值。( G" I+ p  N+ x: L
查看钱包资金
" n" u* R; {* |想要查看钱包中的信息,请使用info命令:- Q* }3 L/ \% c1 w* [
# grin wallet info
; q1 v8 ]( B( D* O: f# GPassword:' O  v9 C; I* w1 M6 e$ q1 Z
____ Wallet Summary Info - Account 'default' as of height 13833 ____
: T1 J' R& W+ T+ ETotal | 60.482000000
4 E. d7 z' P+ `8 lImmature Coinbase ($ x# c1 g8 [" r, h
Total是你的钱包总金额,包括等待确认的资金;5 S3 m& a, s2 \/ b! |, }! I
Immature Coinbase 表示在可使用前,尚未成熟的任何CoinBase交易(即获胜区块);
! C& w0 M1 n3 wAwaiting Confirmation(等待确认)是指钱包在给定数量的确认之前,其不会花费余额。默认为10个区块。
1 w7 N% C' C4 T0 C9 p+ tLocked by previous transaction是由前一笔发送交易锁定的输出,它们不能包含在后续交易中。当交易确认时,这些信息通常会消失。
- J% A; l+ N, U6 Y+ Y& a' w发送Grin币
! Q5 Q) N( r; V; _* B( }有很多不同的方法可以将grin币发送到另一个钱包:* A' F6 p5 j& @0 Z* _; d( _1 w7 g  V
通过文件进行发送
: F8 I. Q6 l8 Z2 t, o- ?目前建议初学者通过文件发送 Grin币。教程如下:
2 R6 V; H0 T$ ?3 P& w* x创建一个交易文件:( f# K% ?  z6 ^  j5 I
grin wallet send -m file -d my_grin_transaction.tx 10.25: b6 o# J* z  Y& _0 ]4 W
这将在当前目录中创建一个名为my_grin_transaction.tx的交易文件。
4 ?  S  F! A- @将这个交易文件发送给收件人9 V; p8 ]- d& u" e  D
通过任何方式(电子邮件、ftp)将此文件发送给目标收件人。收件人必须在其钱包中履行其交易操作,并将相应文件发回给你。请参见下面的接收交易教程。
0 |+ i$ o0 R/ h+ M; m完成交易
9 B3 w+ D; L/ d, K收件人将向你发送一个交易相应文件。在与收件人确认他们处理了你的发送文件之后,你可以完成这笔交易,并将其发送到区块链上:
, J9 T" ?7 {; T& _( y) _4 m5 O" W; u% |; o
grin wallet finalize -i my_grin_transaction.tx.response. s! r8 G1 d2 N! S% X
这个操作会将交易广播给grin侦听节点,在几个区块时间后,你的钱包和收件人的钱包余额就会得到确认。
/ ?$ d- f* N. z( x! W+ ~发送到正在运行的钱包侦听器
, Z$ V. l3 a! @! S( U如果收件人正在运行一个HTTP侦听器,你可以将钱包中的金额发送到他们的钱包中,并通过一个步骤将交易过账到链上:* h$ f0 H/ }! S9 T0 r
grin wallet send -d http://10.20.20.1:3415 10.25
, x5 H; w# [+ E  H) ^% k. _' \' Q如果成功,在几个区块时间后,交易双方的钱包余额就会得到确认。+ i- @+ c7 U+ l1 N- q2 g
接收Grin币) _  F- ]" ~( ~. n; Q: k/ {: f
通过文件进行接收
; f+ g0 v# e: w* s- i' {发送方将向你发送一个交易文件(如上所述),你必须通过接收命令将其导入钱包:
( H2 k8 d3 \9 R, h" egrin wallet receive -i my_grin_transaction.tx$ Q( N" I" m  \( X$ }
这个操作会创建一个名为my_grin_transaction.tx.response的响应文件,然后你必须将该文件发送回发件人,以完成这笔交易,然后将交易过账到链上。
/ }' a8 q1 h. ]9 o  F通过钱包侦听器* R" g- q$ V% W8 _5 h& ?4 }
运行一个钱包侦听器被认为是一种高级操作,只有那些拥有支持其基础设施且能处理NAT/防火墙、DOS等问题的人,才能执行这种操作,所有这些都远远超出了本指南的范围。
6 Q2 o3 _) ]9 J默认情况下,钱包将只监听本地计算机上的请求。要接受来自其他机器的钱包连接,您可编辑~./grin-wallet.toml,具体如下所示:
8 }0 O* f9 G( ~& ^+ a' EChange
# g" M; a' o- Y- ]/ @8 y7 S6 w2 V- k  m7 {: c  T# E
api_listen_interface = "127.0.0.1"* L# g+ C9 h$ R9 y
to# v  i/ |- {/ q1 F
api_listen_interface = "0.0.0.0"( }' \1 {3 @& Y0 Y2 g, [" Q2 E
或者你希望绑定到任何特定的IP地址。然后,你可以使用以下代码运行一个外部钱包侦听器:1 ^" {, z( f+ q1 u5 s/ I  R
grin wallet listen
+ W' B4 |4 p& ]或者,你可以传入-e (外部)钱包参数来监听0.0.0.0:! P4 }. z( c2 c  q; o6 C
grin wallet -e listen
8 J9 o. c. p- Q  e0 B& g5 B& |你还可以更改grin-wallet.toml中的监听端口或通过命令行(有关详细信息,请参阅grin wallet help listen)。一旦你的侦听器在运行,任何想给你发送Grin币的发送方都可以按照上面描述的方法进行。# ~$ {& V- @0 y
交易日志
; U. s' C% @2 \2 D- o! u& hGrin钱包会保存所有交易操作的日志。它跟踪所有已完成和未完成的交易,以及与每笔交易相关联的输出。此日志对于查看Grin的来源,以及取消可能尚未完成的部分交易都非常有用。# @: W( h2 \0 u7 h
查看交易日志的方法如下:' W2 c) _! q. ^

6 X: `7 K- P8 a" igrin wallet txs$ {: t( S. b# r7 h' }' B) ]$ ]
Transaction Log - Account 'default' - Block Height: 13830" h8 X+ N$ @% ~
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
( b. j& o: Z3 ^& sId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx6 ?7 e( I! P7 J  n& T0 {& Z
Inputs Outputs Credited Debited Difference Data- _/ q( ]. M2 r
====================================================================================================================================================================================================================
# y  Q  w' y9 c4 r) i1 p0 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& l- }! o' u* n3 ?, u. X7 r8 \# q
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------7 W' w' A! q) S" r/ U9 V
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: H$ w1 b9 U4 O- j
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------7 H! ~& A5 ^; K9 v
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  X6 `, B& e+ L5 l* W" l5 R% U! |) b
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 E; z+ ?9 g6 Q3 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.grintx7 V, R4 u1 F9 X* q3 O
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5 M- ]" Z  |4 i3 x0 M) n% D而要查看交易的完整详细信息,以及与之关联的输出,请使用-i 参数:
- a+ ?1 f7 {+ M2 |1 Lgrin wallet txs -i 32 Z! V5 Z; c4 v$ T" V+ y1 d
Transaction Log - Account 'default' - Block Height: 138303 u2 I9 w* ~2 w% ]2 \0 k, K5 s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2 Y' T1 F' }# \9 x& d8 [- N4 @; E  nId Type Shared Transaction Id Creation Time Confirmed? Confirmation Time Num. Num. Amount Amount Fee Net Tx
( {; r/ m4 M2 X. g% C  gInputs Outputs Credited Debited Difference Data
7 b7 [' N" u$ R7 e. x; r==============================================================================================================================================================================================================
) S1 [6 h6 s; R6 N. X6 U3 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, [; e7 n  J* \! R
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ }8 G7 F- {( v5 \. k1 H
Wallet Outputs - Account 'default' - Block Height: 13830" X1 Z* P1 h6 E0 g, Q
----------------------------------------------------------------------------------------------------------------------------------------------------' \1 }% o7 F: ~3 |- l% K
Output Commitment Block Height Locked Until Status Coinbase? # Confirms Value Tx
' Q* u2 o) @0 ?; j6 ^====================================================================================================================================================- w9 }. K6 z  u! M, ~
08ad4948a215e22e37f7909c7e36460afa5e38d6696361b0a27b983b38e78540c5 6742 0 Spent false 7089 19997.984000000 3
- I% \" a  y6 I6 L; l----------------------------------------------------------------------------------------------------------------------------------------------------# }1 Y9 V$ c" b  f6 Z! g
取消交易) p) t0 b6 Y, y1 T4 `: \
当使用Grin时,创建出无效交易是非常可能的,特别是在使用基于文件或完全异步的交易方法时。7 d/ C# k& x6 m3 M5 v' g( U
如果你的日志中有一笔未确认的交易,但你认为该交易不会完成,则可使用以下方式取消这笔交易:
; @6 C% X  z2 wgrin wallet cancel -i 3$ r: U0 ?4 m% v) u9 E! K# I
这会将交易的状态设置为“已取消”,删除任何未确认的更改输出,并解锁以前被交易锁定的任何输出,使得它们可再次被使用。请注意,如果你或其他人在取消交易后完成交易,你的输出仍可能会被浪费,并且无法供你的钱包使用。或者,如果你在新交易中使用相同的输出,并且有人试图完成已取消的输出,则发布的交易将会失败。
2 o; d& z; T5 [# q2 F钱包检查$ M+ ^. ?8 R- x
由于cancel命令中列出的所有可能性以及分叉的可能性,你的钱包很可能最终处于不一致的状态。因此,Grin提供了一个手动检查命令,以扫描链的utxo集合中属于你的钱包的任何输出,并确保它们与本地钱包数据库处于一致状态。
9 i  O- O5 W9 [0 C* I: V重要的是要记住,钱包的状态总是可通过钱包的种子文件或恢复短语从链中重建。如果你的钱包余额或输出出现异常或意外情况,请确保它们安全地位于utxo集合中(只要它们尚未用完),并且始终可通过check或restore操作进行恢复。
+ L0 p) H. {" b2 ~3 y! G  z% d! U想要检查你的钱包并确保其内容与链上的版本相匹配,请确保你没有未完成的交易,并确保节点是最新的,然后:+ \. a  M9 c6 g- @! f3 f
grin wallet check
' t" R$ P6 Z9 z6 }8 ]6 P2 f0 ]这将扫描区块链,并取消所有等待中的交易,解锁所有锁定的输出,恢复所有丢失的输出,并确保钱包的内容与区块链的版本一致。你可以随时运行此命令来检查和更新钱包的内容。) z  Q, {9 z: }0 w3 z) ^* \, B
通过恢复短语(助记词)恢复钱包. y- p! {8 E$ I6 P
备份现有的钱包:
& f8 [9 b- g6 A0 A( L2 |7 }mv ~/.grin/wallet_data ~/.grin/wallet_data_bak" a: E$ N7 m4 r0 c# O
然后:
* M/ C# S7 v1 Cgrin wallet init -r
  d2 R9 s, J$ q! D% x1 q5 g[... follow onscreen instructions...]
. o/ H( H% Z* p: b0 y4 I2 Ggrin wallet restore9 b3 F  v8 N* c0 d
有关详细信息,请参阅《用户指南》中的“restore”操作。
5 D7 K: ~  [, S( H2 y# F其他命令/ d- W' J  u; ^- Q8 x
其他重要命令以及本文中提到的所有命令的详细信息,你可以在详细的钱包用户指南中找到。建议你仔细阅读该指南,以了解钱包的可能用途。
9 U5 Q5 o  V; ~$ V) Z. g6 U你应该特别注意的一些命令是:5 `" Z, D& t  }/ u2 R/ ~& b
recover - 从种子短语中恢复钱包种子,或查看现有的恢复短语;) t1 Y. \1 I# r
restore - 从种子文件中恢复空钱包
2 W: ~; u" d5 E以上内容,就是关于Grin钱包的使用方法了,可以说是非常麻烦了,希望之后能有所改进。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

945坏男人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10