前言
Facebook 最近发表他们专属的FB 虚拟货币 -- Libra,目的是希望提供一个相对稳定的虚拟货币,让全世界可以自由跨境转移资金,所以,它的伙伴包括:
. 支付机构:Mastercard、Visa、PayPal 等
. 大型电商:eBay、Uber 等
. 电信业:Vodafone 等
. 区块链业者:Coinbase、Xapo 等
. 创投:Andreessen Horowitz、Ribbit Capital 等
. NGO、学术单位...
为确保自由开放(??),故协会设在瑞士日内瓦,希望在 2020 上半年可以达到 100 个会员。
图片来源:Facebook announces Libra cryptocurrency: All you need to know
本文不在说明Libra的详细玩法,笔者只对程式、技术有兴趣,只想与大家分享如何安装与使用,并在后续文章介绍Libra SDK 的程式语言 -- Move。
架构
基本上它分成两层:
Libra 帐簿(ledger)是一个单一版本的分散式资料库(single-versioned distributed database),版本号码记录已经完成的交易状态,它就可以赋予 Validator Node 执行以下任务:
依据最新的帐簿状态,执行交易并更新帐簿。提供用户查询帐簿及交易历史。Client 负责发动交易及查询交易状态,并不会储存任何资料。
安装
Libra 目前仍在推广阶段,还没开张,FB在GitHub上提供Source Code,让大家安装Client,可以在测试环境玩玩,目前只支援Linux及Mac,但一般人哪来的 Linux及Mac,所以,身为贱民的笔者,只好土法炼钢,使用 Windows 10内建的Linux(WSL),安装 Client,程序如下:
WSL 安装:网路上已太多人写了,笔者不在此赘言,请参考【WSL】Windows Subsystem for Linux 安装及基本配置!启动 WSL:在命令行输入 bash 或 wsl。下载 Libra Client Source Code,如发生TLS error,请关掉防毒软体:git clone https://github.com/libra/libra.git
切换到source code目录:cd libra./scripts/dev_setup.sh
建置用户端,并连接Validator Node(Testnet):cd libra./scripts/cli/start_cli_testnet.sh
看到以下画面及Libra提示,安装就大功告成了,已执行Client成功了,可以开始输入指令了。
测试
建立两个帐号:执行下列指令两次。account create
查询帐号:account list
替第一个帐号(Wallet #0)加值150:account mint 0 150
查询第一个帐号余额:query balance 0
进行交易,从第一个帐号(Wallet #0)转帐10个虚拟币给第二个帐号(Wallet #1):transfer 0 1 10
查询转帐是否完成,第二个0是交易序号:query txn_acc_seq 0 0 true
资讯如下:
重要讯息内容说明如下:
. Sender address:寄送方(sender)
. Sender public key:寄送方公钥(public key)
. Program 含 Move 交易函数脚本、收受方的资讯及交易金额(optional)、Move 模组(optional)
. Gas price:寄送方为交易执行所愿意付出的成本,Gas 是交易计算及储存的付出成本,单位为(microlibra/gas units)
. Maximum gas amount:寄送方愿意付出的最大金额
. Sequence number:交易序号,依寄送方分别编码
. Expiration time:在此时间内未完成交易,即视为无效交易
. Signature:寄送方的数位签章
结论
整个安装及测试过程还算顺利,除了要防毒软体的障碍,下次再来分享一下开发的程式语言 -- Move。