RustRust语言

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

2019-11-05  本文已影响0人  不安分的程序员天朗

libra是有Facebook发起的,旨在建立一个全球货币体系,让跨境结算像使用手机发信息一样简单。

项目官网: https://libra.org

项目开源源码在github上:github libra

项目使用Rust语言编写的,一个设计新颖主打安全特性的语言,自带cargo项目管理工具,类似Java的Maven。可以执行cargo build构建项目。cargo 安装可参考 Linux 或 Windows

下载构建libra项目:

git clone git@github.com: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元了。

未完待续……

上一篇下一篇

猜你喜欢

热点阅读