专栏首页申龙斌的程序人生Libra区块链之初体验

Libra区块链之初体验

Facebook的数字货币Libra的技术白皮书已经发布了将近1个月了,其测试网络(testnet)已经同步发布,一群开发爱好者已经完成了16万笔测试交易。

有人搭好了libra区块浏览器网站:

https://librabrowser.io/

甚至有团队开发出了libra的钱包软件:

https://wallet.libravista.com

作为一名程序员,一定要抢鲜体验一下这个将来可能改变世界的新技术,先按照官网上的说明构建出第一笔交易,参考的文档是:

https://developers.libra.org/docs/my-first-transaction

由于当前的Libra只支持Linux和MacOS,我以前的旧Macbook笔记本又派上了用场。

1. 先把libra从github克隆一份。

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

2. 安装程序依赖项

cd libra
./scripts/dev_setup.sh

这里要构建 Libra Core,Libra Core是Facebook实现的Libra协议的一个开源版本,它用到了Rust编程语言,还需要CMake、protobuf和go之类的依赖库。

程序全自动安装,但在安装某个依赖库时一直失败,看了一下整个过程的警告信息,提示操作系统版本太低。

Warning: You are using macOS 10.10.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.

用了1个小时把操作系统的版本更新到10.13,Libra环境才得以顺利安装。

3. 启动并连接到测试网络

下面命令构建出Libra CLI并启动。

./scripts/cli/start_cli_testnet.sh

如果一切顺利,会出现 libra% 提示符,熟悉以太坊开发的程序员,知道这里就是一些命令的交互界面。

4. 创建Alice和Bob账户

运行两次account create,生成两个账户,账户索引分别为0和1,地址是32字节的二进制,账户索引只能在CLI界面中使用,在区块链中必须使用32字节的账户地址。

libra% account create
>> Creating/retrieving next account from wallet
Created/retrieved account #0 address 5d5a1c2d8b9a3b341f414465abefdb170a4f8596cb326ed56df709e0af18ff4f

libra% account create
>> Creating/retrieving next account from wallet
Created/retrieved account #1 address 20053b6cdc84b7993b9398135e9cf4fcd5488917ef97e7ff48050b0392cd9e83

可以用account list命令确认账户已经建好。

libra% account list
User account index: 0, address: 5d5a1c2d8b9a3b341f414465abefdb170a4f8596cb326ed56df709e0af18ff4f, sequence number: 0, status: Local
User account index: 1, address: 20053b6cdc84b7993b9398135e9cf4fcd5488917ef97e7ff48050b0392cd9e83, sequence number: 0, status: Local

5. 从水管里取些Libra币

Alice和Bob现在都身无分文,无法进行任何转账的测试,各种区块链的测试网络都提供了免费的水管(Faucet)服务,你向它发出请求,它转给你一些测试币,当然这些币也一文不值,也肯定无法用于将来的正式网络中。

给Alice(账号索引0)取110个Libra。

给Bob(账号索引1)取52个Libra。

libra% account mint 0 110
>> Minting coins
Mint request submitted

libra% account mint 1 52
>> Minting coins
Mint request submitted

查询一下余额,发现秒到,看来这个测试网络运转得还不错。

libra% query balance 0
Balance is: 110.000000

libra% query balance 1
Balance is: 52.000000

题外话:如果2020年Libra正式上线,这个币从哪买?按照Libra的白皮书,铸币权由Libra协会掌握,肯定有大量的交易所提供各种兑换服务,将Libra与BTC/ETH等打通,这也就是BTC上涨的一个原因。

6. 转帐

忙活了半天,终于要转账了。先注意一个顺序号(sequence number)的概念,每个账户对外转账后,这个顺序号都要增1。

在交易之前,两个账户的顺序号都为0。

libra% query sequence 0
>> Getting current sequence number
Sequence number is: 0

libra% query sequence 1
>> Getting current sequence number
Sequence number is: 0

转账的命令就是一条:

transfer 0 1 10

表示Alice(账户索引0)给Bob(账户索引1)转10个Libra。

libra% transfer 0 1 10
>> Transferring
Transaction submitted to validator
To query for transaction status, run: query txn_acc_seq 0 0 <fetch_events=true|false>

现在再看一下顺序号有何变化,Alice发起了转账交易,所以她的顺序号增加1,而Bob的保持不变。

libra% query sequence 0
>> Getting current sequence number
Sequence number is: 1

libra% query sequence 1
>> Getting current sequence number
Sequence number is: 0

再查一下余额。

libra% query balance 0
Balance is: 100.000000

libra% query balance 1
Balance is: 62.000000

Alice给Bob转10块钱,看上去挺麻烦,但与微信支付/支付宝的区别在于,这笔交易不是由一家中介机构进行确认,而是由Libra协会中的100个成员机构(验证者)来确认,全部公开可查。

7. 完成

你也可以到 https://librabrowser.io 网站上输入你的转账地址,确认刚才的转账交易。下面的界面中显示了Alice的两笔交易:一开始从水管拿到的110个Libra,然后转出去10个,最后的余额为100。

未来已来,只是尚未流行。

--- END ---

本文分享自微信公众号 - 申龙斌的程序人生(slbGTD)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 图解比原链Tensority算法:如何让POW做到人工智能友好

    区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法。

    比原链Bytom
  • 浅析Facebook LibraBFT与比原链Bystack BBFT共识

    它是区块链的根基。无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性。

    比原链Bytom
  • Libra:Facebook的"野心"?

    2008年11月1日,有一个传说叫中本聪的日裔美国人,发表了一篇名为《比特币:一种点对点式的电子现金系统》的论文。2009年,比特币出世,从此开启了电子货币这个...

    纯洁的微笑
  • 技术人眼中的Facebook Libra

    拥有27亿全球用户的Facebook,联合100个行业巨头,携带数十亿互联网的流量,正如火如荼地建设一个全球范围的金融基础设施——Libra(天秤座)。作为技术...

    lambeta
  • 马化腾谈 Facebook Libra 币:不看技术看监管

    马化腾谈 Facebook Libra 币 出来之后,各界大佬都异常关注,马化腾就曾在朋友圈说过,Libra 币的技术不是问题,最重要的是看监管。

    纯洁的微笑
  • 比特币价格破万:新的狂欢与区块链无关

    比特币的价格突破万元大关或许再度将那些数字货币拥趸者的热情点燃,一时间有很多有关数字货币的文章和论断开始出现。那个曾经被主流社会抛弃的物种再度以一种爆富的姿态出...

    孟永辉
  • 雄心勃勃的Libra,难逃尴尬的Facebook

    继2018年Facebook宣布投身区块链之后,Facebook Libra最终与人们见面。虽然之前人们已经有所预料,但是,Libra发布之后依然引发了市场的诸...

    孟永辉
  • 时隔15个月,比特币价格重返1万美元

    在经历了将近一年的低谷后,比特币价格在6月22日迎来了新的突破,重回1万美元,这也是比特币自2018年3月8日以来的最高水平,就在6个多月前,比特币的价格还在3...

    镁客网
  • Python实战 | 如何一次检查大量网页是否更新?

    因为小编工作需要,不时要检查一大堆网站是否有更新或变动,如一些技术博主是否有最新公布的文章,公司的研究部是否发布了最新研究,这些网站不少是没有提供电邮提示,又或...

    昱良
  • Cloud Token十九问,彻底了解清楚

    答:Cloud Token是以去中心化为载体,发展在BBS公链上研发出来的DAPP链上钱包,可以为我们存币的同时,它的JARVIS Ai 机器人能为我们做量化策...

    用户5631670

扫码关注云+社区

领取腾讯云代金券