使用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

cargo build

粗略统计使用到的项目和crate有150个左右。第一次下载编译需要点时间。我这里用了126分钟也就是2个多小时


build complete

构建完成后可在target/debug文件夹下看到生成的client、compiler、libra-node、secret-service、storage-service等可执行文件


 build结果

应该可以执行

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


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

这里还是使用官方推荐的形式试用下,完成创建账户、向账户存钱、查询账户余额、转账等动作:

切换代码到testnet分支,也就是专门用于尝试的分支。

git checkout testnet


切换到testnet分支

设置编译环境

./scripts/dev_setup.sh


设置编译环境

由于我们刚才执行过cargo build已经下载安装了一些依赖包,所以这次执行会快一些。

编译构建client并链接上测试服务,进入libra客户端界面

./scripts/cli/start_cli_testnet.sh


启动客户端链接测试服务器

在客户短端中输入account检查是否有返回信息,以检验是否已经成功连接上测试服务


account

开俩个账户用于测试,执行俩次account create。假设序号0的账户也就是第一次创建的是张三的,另一个是李四的。


account create

其中0、1代表账户序号,address后面的一长串是账户地址类似账户账号、账户ID

执行account mint 给张三的账户存110元钱,给李四存52元钱:


account mint

其中0、1代表账户序号,110和52代表金额,操作是用序号指定账户而不是使用账户ID,因为那一长串字符写着麻烦。

使用query balance查看账户余额:


query balance

可以看到账户余额正常

接下来使用transfer,从张三账户转10元钱给李四。


transfer

再用query balance 查下张三和李四的账户余额


query balance

可以看到,张三已经只有100元了,李四有62元了。

未完待续……

你可能感兴趣的:(使用Rust编写的区块链项目Libra)