Grin是一个基于MimbleWimble协议的新一代匿名数字货币,在隐私性和拓展性上有较强的优势。由于使用了MimbleWimble,转账过程是交互性的,发送者和接受者需要来回交互一次以保证实现转账交易。
Option1: 官方发布的命令行钱包客户端
首先需要运行一个Grin节点,然后安装Grin命令行钱包客户端,钱包客户端通过这个节点与主链进行交互,建立转账。这种模式的有点是充分发挥了Grin在私密性的优势,但操作起来却十分麻烦,且不说需要运行一个Grin节点,由于是交互式转账,转账双方并没有公钥地址,而且转账时需要互通IP地址,端口和交易文件等信息。
Option2: 这篇文章重点要讲的是如何使用Vault713发布的Wallet713命令行钱包
虽然还是需要命令行和一些基础的计算机知识,但是比官方命令行钱包客户端方便了许多。这款钱包与Grinbox消息中继整合在一起,因此Grin用户在这里可以签发钱包对应的公钥,并且可以以对方的钱包公钥为目标直接转账,这样就简单操作起来就相对简单了一些。
I. 安装
首先确保系统里有Openssl
Mac OS:$ brew install openssl
Linux: $ sudo apt-get install openssl
找到最新的版本根据对应的操作系统下载安装包解压缩安装
Linux:https://github.com/vault713/wallet713/releases/download/v1.0.0/wallet713-v1.0.0-linux-amd64.tgz
MacOS:https://github.com/vault713/wallet713/releases/download/v1.0.0/wallet713-v1.0.0-osx.tgz
(貌似目前还没有Windows版本,不过可以通过Linux虚拟机使用)
II. 使用步骤
下载完以后,开始解压缩,之后会出现一个 wallet713 的文件
启动钱包:$ ./wallet713
就可以启动钱包命令行客户端,运行$ ./wallet713 -floonet
客户端连接floonet测试网(测试网命令一样)。
创建钱包:
wallet713> $ init -p passphrase
(默认init就没有密码,但是建议设一个)解锁钱包:
wallet713> $ unlock -p yourpassphrase
查看钱包:
wallet713> $ info
接受转账:
wallet713> $ listen
这时会显示你在grinbox里的公钥地址发送Grin:
wallet713> $ send 10 --to targetAddress
通过PassPhrase恢复钱包:
wallet713> $ restore -m word1 word2 ...
更多命令:
wallet713> $ help wallet713> $ <command> --help
如果要接收任何的转账必须要保持你的钱包是开启状态,但是不用担心别人在你下线的时候给你转账,因为只要你下一次上线并使用 ****listen**** 监听以后就会同步你的余额。
这里还有其他的转账方法,这里就简单介绍一下,更多详细命令可以参考原文档:https://github.com/vault713/wallet713/blob/master/docs/usage.md
使用Keybase.io对应你的公钥,然后直接转账给你的keybase用户名
使用基于转账文件交互式转账
使用合约转账
值得一说的是使用收据模式(invoice)进行反方向收款,这种模式很适合电商交互支付,整个流程是反过来的,由商户创建收据(invoice)发送给用户,然后由用户进行转账完成付款。由于Grin的匿名性导致并不是所有人都能在区块链浏览器上看到每一笔转账,所以这种收据模式在b2c业务里会有非常大的用处。
拆分找零
为了进一步保证转账的隐私性,你可以选择拆分找零,这样要定位到这笔转账的位置就更加困难。
总结
总体来说,Wallet713比官方的钱包版本操作交互要简单的多,但是真正要更多的非技术背景用户来使用Grin,肯定还需要更易操作的Grin钱包客户端。当然这里大家也不要忘了Grin的核心价值,就是对转账路径,转账信息和溯源的尽可能的匿名性,所以在客户端设计,也是易用和匿名的博弈过程。目前尚未Grinbox开源版代码开发完毕,正式版发布之后用户是可能通过搭建自己的“交易建造服务器”(Transaction Build Sever)来提高自身转账的匿名性的。