這幾天應(yīng)該都被Libra刷屏了茁帽。FB的Libra在2020年底會推出玉罐。這里暫且不詳細(xì)來討論Libra的意義和階段性影響。目前來看Libra是區(qū)塊鏈一個階段性的需求潘拨,至于如何發(fā)展持續(xù)關(guān)注吊输。?
筆者嘗試搭建Libra環(huán)境~
Libra資源相關(guān)
這里列舉相關(guān)Libra的相關(guān)資源鏈接,僅供參考:?
Libra官網(wǎng):?https://libra.org/en-US/?
白皮書:?https://libra.org/en-US/white-paper/?
Libra技術(shù)白皮書:?https://developers.libra.org/docs/assets/papers/the-libra-blockchain.pdf?
Libra-github:?https://github.com/libra/libra
Libra-基礎(chǔ)環(huán)境搭建
基于參考:https://developers.libra.org/docs/my-first-transaction?
來搭建Libra并連接到測試網(wǎng)絡(luò)铁追。
實驗環(huán)境
Centos7.5季蚂、16C、192G琅束、1000G
系統(tǒng)安裝配置
基本的系統(tǒng)安裝扭屁,安裝好之后無外乎關(guān)閉selinux、防火墻這些基本的配置涩禀。?
這里建議安裝好之后設(shè)置阿里yum料滥,設(shè)置完成后:
yum update
下載Libra及相關(guān)軟件安裝
下載Libra:
git clone https://github.com/libra/libra.git
在制定文件夾解壓:
cd libra 即可看到下載Libra的項目內(nèi)容。
安裝Golang
安裝Golang?
如果單獨去下載安裝包麻煩的話埋泵,那么直接通過wget來下載解壓幔欧,配置環(huán)境變量罪治。
wget https://studygolang.com/dl/golang/go1.12.5.linux-amd64.tar.gz
tar -xvf go1.12.5.linux-amd64.tar.gz
配置環(huán)境變量。修改/etc/profile文件,路徑根據(jù)下載安裝路徑來礁蔗。
vim /etc/profile
添加
export GOROOT=/usr/go
export GOPATH=/usr/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
安裝Rust等相關(guān)
安裝rust
curl https://sh.rustup.rs -sSf | sh
rustup toolchain install nightly-2019-05-22-x86_64-unknown-linux-gnu
rustup override set nightly-2019-05-22
安裝完成后查看版本信息:
root@libra libra]# rustc --version
rustc 1.36.0-nightly (50a0defd5 2019-05-21)
[root@libra libra]# rustup --version
rustup 1.18.3 (435397f48 2019-05-22)
安裝cmake
在官網(wǎng):https://cmake.org/download/?
選擇對應(yīng)操作系統(tǒng)版本下載觉义,下載后解壓:
tar -xvzf cmake-3.15.0-rc2.tar.gz
cd cmake-3.15.0-rc2/
./bootstrap
gmake
gmake install
以上步驟有點慢,耐心等待~
protocol安裝配置
文件下載地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
選擇對應(yīng)的版本:
tar -xvf protobuf-all-3.8.0.tar.gz
cd protobuf-3.8.0/
./configure
make
make check
sudo make install
protoc --version
顯示:libprotoc 3.8.0
安裝測試Libra環(huán)境
cd libra
./scripts/dev_setup.sh
顯示如下:
Installing CMake......
CMake is already installed
Installing Go......
Go is already installed
Installing Protobuf......
Protobuf is already installed
Finished installing all dependencies.
You should now be able to build the project by running:
? ? source /root/.cargo/env
? ? cargo build
測試網(wǎng)絡(luò)腳本運行:
./scripts/cli/start_cli_testnet.sh
比較慢耐心等待~~~
完成后顯示如下:?
創(chuàng)建賬戶及賬戶狀態(tài)查看
根據(jù)官網(wǎng)的指導(dǎo)浴井,先查看account內(nèi)容:
創(chuàng)建賬戶 Alice晒骇、Bob
libra% account create
>> Creating/retrieving next account from wallet
Created/retrieved account #0 address c94d5411d85442374cc24c0eb0203f1666c9cd681eb4eeedf366905c950c20ee
libra% account create
>> Creating/retrieving next account from wallet
Created/retrieved account #1 address 39c0ff0bdc00b710599e6f4c8c32d2fa873ce360f20b100703eca748e0941f24
libra%
通過account list查看內(nèi)容:
將Libra Coins添加到Alice和Bob的賬戶。
根據(jù)之前的建account順序磺浙,那么0為Alice洪囤、1為Bob,110和50為Libra coin撕氧。
libra% account mint 0 110
>> Minting coins
Mint request submitted
libra% account mint 1 52
>> Minting coins
Mint request submitted
libra%
檢查下0瘤缩、1account的余額:
libra% query balance 0
Balance is: 110
libra% query balance 1
Balance is: 52
libra%
查看賬戶序列:
ibra% query sequence 0
>> Getting current sequence number
Sequence number is: 0
libra% query sequence 1
>> Getting current sequence number
Sequence number is: 0
libra%
交易
根據(jù)例子,我們轉(zhuǎn)移10個Libra coin從Alice到Bob:
transfer 0 1 10
0是Alice的帳戶的索引伦泥。
1是Bob的帳戶索引剥啤。
10是從Alice的賬戶轉(zhuǎn)移到Bob的賬戶的Libra的數(shù)量。
transfer 0 1 10
下圖清晰顯示賬戶轉(zhuǎn)賬后的狀態(tài):
總結(jié)
大致搭建了Lbra的環(huán)境不脯,根據(jù)官方開發(fā)文檔實現(xiàn)一些基本的功能府怯。在搭建過程中我把相關(guān)軟件的版本都列舉出來,可能會有一些軟件版本的問題導(dǎo)致在編譯的時候不通過防楷,建議按照列出的版本來安裝牺丙。有興趣可聯(lián)系我一塊交流~~?
(未完待續(xù))