使用Rust编写的区块链项目Libra

libra是有Facebook发起的,旨在建立一个全球货币体系,让跨境结算像使用手机发信息一样简单。
项目官网: https://libra.org
项目开源源码在github上:github libra
项目使用Rust语言编写的,一个设计新颖主打安全特性的语言,自带cargo项目管理工具,类似Java的Maven。可以执行cargo build构建项目。cargo 安装可参考 Linux 或 Windows
下载构建libra项目:

git clone [email protected]:libra/libra.git
cd libra
cargo build

使用Rust编写的区块链项目Libra_第1张图片
粗略统计使用到的项目和crate有150个左右。第一次下载编译需要点时间。我这里用了126分钟也就是2个多小时使用Rust编写的区块链项目Libra_第2张图片
构建完成后可在target/debug文件夹下看到生成的client、compiler、libra-node、secret-service、storage-service等可执行文件
在这里插入图片描述
应该可以执行

target/debug/client --host ac.testnet.libra.org --port 8000 -s ./scripts/cli/consensus_peers.config.toml

连接上libra提供的测试服务,进行测试。

这里还是使用官方推荐的形式试用下,完成创建账户、向账户存钱、查询账户余额、转账等动作:
切换代码到testnet分支,也就是专门用于尝试的分支。

 git checkout testnet

使用Rust编写的区块链项目Libra_第3张图片
设置编译环境

./scripts/dev_setup.sh

使用Rust编写的区块链项目Libra_第4张图片
由于我们刚才执行过cargo build已经下载安装了一些依赖包,所以这次执行会快一些。
编译构建client并链接上测试服务,进入libra客户端界面

./scripts/cli/start_cli_testnet.sh

client
在客户短端中输入account检查是否有返回信息,以检验是否已经成功连接上测试服务
使用Rust编写的区块链项目Libra_第5张图片
开俩个账户用于测试,执行俩次account create。假设序号0的账户也就是第一次创建的是张三的,另一个是李四的。
使用Rust编写的区块链项目Libra_第6张图片
其中0、1代表账户序号,address后面的一长串是账户地址类似账户账号、账户ID
执行account mint 给张三的账户存110元钱,给李四存52元钱:
使用Rust编写的区块链项目Libra_第7张图片
其中0、1代表账户序号,110和52代表金额,操作是用序号指定账户而不是使用账户ID,因为那一长串字符写着麻烦。

使用query balance查看账户余额:
使用Rust编写的区块链项目Libra_第8张图片
可以看到账户余额正常

接下来使用transfer,从张三账户转10元钱给李四。
transfer
再用query balance 查下张三和李四的账户余额
query balance
可以看到,张三已经只有100元了,李四有62元了。
未完待续……

你可能感兴趣的:(开源)