Libra第一步-环境搭建、账户、转账

2024-03-03 15:38

本文主要是介绍Libra第一步-环境搭建、账户、转账,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这几天应该都被Libra刷屏了。FB的Libra在2020年底会推出。这里暂且不详细来讨论Libra的意义和阶段性影响。目前来看Libra是区块链一个阶段性的需求,至于如何发展持续关注。 
笔者尝试搭建Libra环境~

Libra资源相关

这里列举相关Libra的相关资源链接,仅供参考: 
Libra官网: https://libra.org/en-US/ 
白皮书: https://libra.org/en-US/white-paper/ 
Libra技术白皮书: https://developers.libra.org/docs/assets/papers/the-libra-blockchain.pdf 
Libra开发者技术文档: 
Libra-github: https://github.com/libra/libra


Libra-基础环境搭建

基于参考:https://developers.libra.org/docs/my-first-transaction 
来搭建Libra并连接到测试网络。

实验环境

  • Centos7.5、16C、192G、1000G

系统安装配置

基本的系统安装,安装好之后无外乎关闭selinux、防火墙这些基本的配置。 
这里建议安装好之后设置阿里yum,设置完成后:

 
  1. yum update

下载Libra及相关软件安装

下载Libra:

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

在制定文件夹解压:

 
  1. cd libra 即可看到下载Libra的项目内容。

  • 安装Golang

安装Golang 
如果单独去下载安装包麻烦的话,那么直接通过wget来下载解压,配置环境变量。

 
  1. wget https://studygolang.com/dl/golang/go1.12.5.linux-amd64.tar.gz
  2. tar -xvf go1.12.5.linux-amd64.tar.gz

配置环境变量。修改/etc/profile文件,路径根据下载安装路径来。

 
  1. vim /etc/profile
  2. 添加
  3. export GOROOT=/usr/go
  4. export GOPATH=/usr/gopath
  5. export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

  • 安装Rust等相关

安装rust

 
  1. curl https://sh.rustup.rs -sSf | sh
  2. rustup toolchain install nightly-2019-05-22-x86_64-unknown-linux-gnu
  3. rustup override set nightly-2019-05-22

安装完成后查看版本信息:

 
  1. root@libra libra]# rustc --version
  2. rustc 1.36.0-nightly (50a0defd5 2019-05-21)
  3. [root@libra libra]# rustup --version
  4. rustup 1.18.3 (435397f48 2019-05-22)

  • 安装cmake

在官网:https://cmake.org/download/ 
选择对应操作系统版本下载,下载后解压:

 
  1. tar -xvzf cmake-3.15.0-rc2.tar.gz
  2. cd cmake-3.15.0-rc2/
  3. ./bootstrap
  4. gmake
  5. gmake install
  6. 以上步骤有点慢,耐心等待~
  • protocol安装配置

文件下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1

选择对应的版本:

 
  1. tar -xvf protobuf-all-3.8.0.tar.gz
  2. cd protobuf-3.8.0/
  3. ./configure
  4. make
  5. make check
  6. sudo make install
  7. protoc --version
  8. 显示:libprotoc 3.8.0

安装测试Libra环境

 
  1. cd libra
  2. ./scripts/dev_setup.sh

显示如下:

 
  1. Installing CMake......
  2. CMake is already installed
  3. Installing Go......
  4. Go is already installed
  5. Installing Protobuf......
  6. Protobuf is already installed
  7.  
  8. Finished installing all dependencies.
  9.  
  10. You should now be able to build the project by running:
  11. source /root/.cargo/env
  12. cargo build

测试网络脚本运行:

 
  1. ./scripts/cli/start_cli_testnet.sh
  2. 比较慢耐心等待~~~

完成后显示如下: 
屏幕快照 2019-06-20 下午4.12.41.png-349.9kB


创建账户及账户状态查看

根据官网的指导,先查看account内容:

屏幕快照 2019-06-20 下午4.23.30.png-210.4kB

  • 创建账户 Alice、Bob
 
  1. libra% account create
  2. >> Creating/retrieving next account from wallet
  3. Created/retrieved account #0 address c94d5411d85442374cc24c0eb0203f1666c9cd681eb4eeedf366905c950c20ee
  4. libra% account create
  5. >> Creating/retrieving next account from wallet
  6. Created/retrieved account #1 address 39c0ff0bdc00b710599e6f4c8c32d2fa873ce360f20b100703eca748e0941f24
  7. libra%

通过account list查看内容:

屏幕快照 2019-06-20 下午4.26.02.png-115.4kB

将Libra Coins添加到Alice和Bob的账户。

根据之前的建account顺序,那么0为Alice、1为Bob,110和50为Libra coin。

 
  1. libra% account mint 0 110
  2. >> Minting coins
  3. Mint request submitted
  4. libra% account mint 1 52
  5. >> Minting coins
  6. Mint request submitted
  7. libra%

检查下0、1account的余额:

 
  1. libra% query balance 0
  2. Balance is: 110
  3. libra% query balance 1
  4. Balance is: 52
  5. libra%

查看账户序列:

 
  1. ibra% query sequence 0
  2. >> Getting current sequence number
  3. Sequence number is: 0
  4. libra% query sequence 1
  5. >> Getting current sequence number
  6. Sequence number is: 0
  7. libra%

交易

根据例子,我们转移10个Libra coin从Alice到Bob:

transfer 0 1 10

  • 0是Alice的帐户的索引。
  • 1是Bob的帐户索引。
  • 10是从Alice的账户转移到Bob的账户的Libra的数量。
 
  1. transfer 0 1 10

下图清晰显示账户转账后的状态:

屏幕快照 2019-06-20 下午4.35.13.png-190.1kB

总结

大致搭建了Lbra的环境,根据官方开发文档实现一些基本的功能。在搭建过程中我把相关软件的版本都列举出来,可能会有一些软件版本的问题导致在编译的时候不通过,建议按照列出的版本来安装。有兴趣可联系我一块交流~~ 
(未完待续)

这篇关于Libra第一步-环境搭建、账户、转账的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770086

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv