1. 首页
  2. 新闻
  3. 资讯

已经有人用Libra完成一笔转账了(附转账极简教程)

昨天听说 Facebook 的数字币 Libra 官网已经正式上线,找了好久才找到网址:https://libra.org

昨天听说 Facebook 的数字币 Libra 官网已经正式上线,找了好久才找到网址:

https://libra.org

可始终打不开,只好去读各路介绍文章,有的看好,有的唱衰,不一而足。读完后总体感觉 Libra 未来极有可能成为一种很重要的支付手段,值得研究一下。

还好今天很轻鬆就打开了官网,于是参照文档安装编译完 Libra 的命令行客户端,在测试网络上成功发起了第一笔 Libra 转账。

开玩笑似的截图在朋友圈嘚瑟,果然点赞不少。大辉甚至建议我写一篇使用教程,让我颇为汗颜,因为这个操作其实只是跑了一下 Libra 的官方客户端,没任何技术含量,实在不值一晒。

但转念又想,建立在区块链上的数字货币毕竟还很早期,大部分人(包括我在内)都只是听说,但也许从来没上手用过,一点直观的使用体验都没有。所以虽然这些操作并不难,但应该也能帮一些不便上官网的朋友亲手体验 Libra,对区块链和数字币积累一点实际的触感。那么就简单写一个操作说明吧。

先声明几点:以下操作完全是在 Libra 的测试网络上运行,所有充值和转账金额都只是虚拟数据,仅出于演示目的,既不会损失你任何实际的金钱,也不会让你得到任何实际的金钱。更不是甚么能让你会所嫩模或下海干活的“炒币”。

下面是具体操作过程:

1. 准备

运行 Linux 或者 Mac 系统的电脑

稳定的互联网连接

已经安装好 Git

如果使用 Mac,已经安装好 Homebrew

如果使用 Linux,已经安装好 yum 或者 apt-get

接下来,我们会下载必要的 Libra 组件,然后创建两个账户,并在这两个账户之间进行转账。

2. 克隆并编译 Libra Core

在终端里找一个合适的目录下执行:

git clone https://github.com/libra/libra.git

然后进入 libra 目录:

cdlibra

运行安装脚本:

./scripts/dev_setup.sh

这一步视乎你的网络连接速度,可能需要挺长时间,我这里是300M的光纤,大约用了40分鐘左右。

3. 编译客户端并连接到测试网络

执行命令:

./scripts/cli/start_cli_testnet.sh

这条命令会编译客户端,并把客户端连接到 Libra 测试网络中的验证节点上。

连接成功后,会看到这些输出信息:

已经有人用Libra完成一笔转账了(附转账极简教程)

如果看到上面的信息,说明你的客户端运行正常,并且已经成功连接到 Libra 的测试网络上了,接着开始创建测试账户。

4. 创建测试账户

在 libra%提示符后面输入命令:

account create

意思是创建账户,你会看到类似这样的信息:

>> Creating/retrieving next account from walletCreated/retrieved account #0 address a81b8fcd484fd9bff6f67f51751cd6949de233c08019bb79038a09c626d29857

address后面的一长串字符就是你创建的账户地址,别人给你转账时需要填写这个地址,就像发 Email 给你需要填你的邮箱地址一样。前面的 #0是这个账户地址的本地编号,只是为了方便在本地操作账户,在区块链上没有意义。

请注意,我们现在创建的这个账户暂时还只在本地,并没有出现在区块链上,只有以下两种情况发生之后,才会真正在区块链上创建这个账户:

这个账户被铸币(mint),在测试网络上我们可以随意给账户里打钱,而 Libra 网络真正运行起来之后,这个环节应该类似充值,就是用法币兑换 Libra 币充到自己账户内。

有其他用户转账(transfer)到这个账户。

我们要测试在账户之间进行转账,所以还需要再创建另外一个账户:

再次输入创建账户的命令:

account create

这次返回的信息里 address后面的字符串和上次不一样,这就是我们创建的第二个测试账户的地址。

输入命令:

account list

意思是列出目前本地的所有账户,你应该看到类似信息:

User account index: 0, address: 3ed8e5fafae4147b2a105a0be2f81972883441cfaaadf93fc0868e7a0253c4a8, sequence number: 0User account index: 1, address: 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec7, sequence number: 0

表明目前本地有两个账户,本地编号分别是 0和1,地址后面的 sequence指的是这个账户主动发起转账的次数,目前两个账户都还没有发起过转账,所以都是 0。

你可以把这两个地址记录下来,稍后会用到。

5. 检查账户余额

我们现在还不能转账,为甚么呢,因为两个账户里目前都没有余额,你可以输入查询余额的命令来检查一下:

query balance 0

这里输入的 0是我们创建的第一个账户(以下简称A账户)的本地编号,把 0替换成A账户的完整账户地址也可以,但显然没有输入 0方便。你应该会看到结果是:

Balance is: 0

表明目前A账户的余额是 0。

也可以检查一下我们创建的第二个账户(以下简称B账户)的余额,当然应该也是 0。

query balance 1

应该看到:

Balance is: 06. 给账户充值

我们现在给A账户里充一些钱,由于在测试阶段,不需要真的付钱,但以后 Libra 正式运行时,这一步应该就要掏出真金白银来充值了。

只需要执行这行命令就可以给账户里充钱:

mint 0 100

命令中的 0是A账户的本地编号, 100是充值的金额,想过瘾的话,可以写大一点。

同样,可以把 0换成这个账户的实际地址,假设你创建的A账户地址是:

3ed8e5fafae4147b2a105a0be2f81972883441cfaaadf93fc0868e7a0253c4a8

那么,这里写成:

mint 3ed8e5fafae4147b2a105a0be2f81972883441cfaaadf93fc0868e7a0253c4a8 100

效果是完全一样的。

好,现在查询一下A账户的余额:

query balance 0

应该看到余额就是你刚才充值的钱数,假设是 100。

Balanceis:1007. 发起转账

现在可以从A账户向B账户转账了,假设我们要转 15 个 Libra 币:

transfer 0 1 15

其中 0是转出账户,也就是A账户的本地编号, 1是转入账号,也就是B账户的本地编号, 15是转账的金额。

你会看到这样的提示:

>> TransferringTransaction submitted to validatorTo query for transaction status, run: query txn_acc_seq 0 0 <fetch_events=true|false>

意思是转账交易已经提交给验证节点了,但这里多说一点细节,就是此时理论上只能认为转账信息已经提交到节点,但不保证已经被执行,按我的理解,就像你寄出的快递已经被快递小哥收走,但具体送到哪儿了,还得随时用快递单号查询。(把 transfer换成transferb可以实时看到转账是否已经提交到区块链,这两个命令分别相当于异步转账和同步转账)

在 Libra 里,你可以用下面的命令查询转账状态:

query txn_acc_seq 0 0 true

其中第一个 0是要查询账户的本地编号或者完整账户地址,注意第二个 0不是接收转账的账户地址,而是发起转账账户的 sequence,也就是这个账户主动发起转账的序号。

返回信息类似这样,记录了这笔转账的详细信息:

已经有人用Libra完成一笔转账了(附转账极简教程)

现在我们来查一下A账户的余额:

query balance 0

显示余额为:

Balance is: 85

再查一下B账户的余额:

query balance 1

显示余额为:

Balance is: 15

说明我们从A账户向B账户转的 15个 Libra 币,已经成功到账了。

原创文章,作者:主编,如若转载,请注明出处:http://gs265.com/archives/19208

联系我们

微信:415715120

邮件:415715120@qq.com