Libra教程之:Libra testnet使用指南
文章目錄
- Libra testnet網絡
- 下載和安裝Libra
- 編譯Libra client并連接到Testnet網絡
- 創建兩個A和B的兩個賬號
- 檢查libra cli Client是否運行
- 創建A的賬戶
- 創建B的賬戶
- 查看賬戶列表
- 給A和B添加Libra幣
- 給A添加110 LBR
- 給B添加40 LBR
- 查詢余額
- 轉賬
- 查看是否轉賬成功
- 搭建私鏈
Libra testnet網絡
Libra的測試網絡testnet已經上線了,那么我們該怎么做才能在testnet上給自己轉賬一千萬,從此出任CEO,贏取白富美,走上人生巔峰呢? 跟著我的節奏,來吧。
testnet只是一個測試網絡,有的小伙伴在想我是不是可以搭個私鏈發個幣,然后再上交易所呢? 完全沒問題,在幣圈只有想不到的,沒有做不到的,搭私鏈的問題,我會在文章中最后一個章節講到。
本文檔將指導你完成在Libra區塊鏈上的第一筆交易。 運行之前有一些準備工作要做:
- 你正在Linux(基于Red Hat或Debian的)或macOS系統上運行。
- 你的互聯網連接穩定。
- git已安裝在你的系統上。
- Homebrew安裝在macOS系統上。
- yum或者apt-get已安裝在Linux系統上。
目前本教程只能正常運行在Linux和macOS環境中,請小伙伴自行檢查。
下載和安裝Libra
克隆Libra核心存儲庫
git clone https://github.com/libra/libra.gitcheckout testnet分支
git checkout testnet安裝依賴
要設置Libra Core,請切換到libra目錄并運行安裝腳本以安裝依賴,如下所示:
cd libra ./scripts/dev_setup.sh上面的安裝腳本會執行如下操作:
- 安裝rustup:rustup是Rust編程語言的安裝程序。
- 安裝所需版本的rust-toolchain。
- 安裝CMake,用來管理構建過程。
- 安裝protoc:protocol buffers的編譯器。
- 安裝Go:building protocol buffers。
編譯Libra client并連接到Testnet網絡
運行下面的命令來編譯Libra client和連接到Testnet網絡:
./scripts/cli/start_cli_testnet.sh該命令利用cargo(Rust的包管理器)構建并運行客戶端,并將客戶端連接到測試網上的驗證者節點。
客戶端連接到測試網上的節點后,你將看到以下輸出。 要隨時退出客戶端,請使用quit命令。
usage: <command> <args>Use the following commands:account | aAccount operations query | qQuery operations transfer | transferb | t | tb<sender_account_address>|<sender_account_ref_id> <receiver_account_address>|<receiver_account_ref_id> <number_of_coins> [gas_unit_price (default=0)] [max_gas_amount (default 10000)] Suffix 'b' is for blocking.Transfer coins from account to another. help | hPrints this help quit | q!Exit this clientPlease, input commands:libra%創建兩個A和B的兩個賬號
之前的文章中,我們一直在講A轉賬10個幣給B的故事,那么這里我們就來試驗一下,到底是怎么轉的。
檢查libra cli Client是否運行
libra%命令行提示符表示你的Libra CLI客戶端正在運行。 要查看account命令的幫助信息,請輸入“ account”,如下所示:
libra% account usage: account <arg>Use the following args for this command:create | cCreate an account. Returns reference ID to use in other operations list | laPrint all accounts that were created or loaded recover | r <file path>Recover Libra wallet from the file path write | w <file name>Save Libra wallet mnemonic recovery seed to disk mint | mintb | m | mb <receiver account> <number of coins>Mint coins to the account. Suffix 'b' is for blocking創建A的賬戶
請注意,使用CLI創建帳戶不會更新區塊鏈,而只會創建本地密鑰對。
要創建愛麗絲的帳戶,請輸入以下命令:
libra%account create成功樣例輸出:
>> Creating/retrieving next account from wallet Created/retrieved account #0 address 3ed8e5fafae4147b2a105a0be2f81972883441cfaaadf93fc0868e7a0253c4a80是A帳戶的索引,十六進制字符串是A帳戶的地址。 索引只是引用A帳戶的一種方式。 帳戶索引是本地CLI索引,可以在其他CLI命令中使用,以使用戶方便地參考他們創建的帳戶。 該索引對區塊鏈沒有意義。 僅當通過挖礦將錢添加到Alice的帳戶中,或者通過其他用戶的轉賬將資金轉移到Alice的帳戶中時,才會在區塊鏈上創建Alice的帳戶。 請注意,你也可以在CLI命令中使用十六進制地址。 帳戶索引只是為了方便賬戶地址的引用。
創建B的賬戶
同樣的方式,我們創建B的賬戶。
>> Creating/retrieving next account from wallet Created/retrieved account #1 address 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec71是B帳戶的索引,十六進制字符串是B帳戶的地址。
查看賬戶列表
使用如下命令來查看你的賬戶列表:
libra% account list可能的輸出如下:
User account index: 0, address: 3ed8e5fafae4147b2a105a0be2f81972883441cfaaadf93fc0868e7a0253c4a8, sequence number: 0 User account index: 1, address: 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec7, sequence number: 0帳戶的序列號指示已從該帳戶發送的交易數量。 每次執行從該帳戶發送的交易并將其存儲在區塊鏈中時,它都會增加。
給A和B添加Libra幣
testnet的挖礦是通過Faucet完成的。 Faucet是與測試網一起運行的服務。 此服務僅在testnet使用,在mainnet是不存在的。 當然它創建的Libra幣是沒有現實價值的。 假設你已經創建了分別具有索引0和索引1的A和B的帳戶,則可以按照以下步驟將Libra添加到這兩個帳戶中。
給A添加110 LBR
libra% account mint 0 1100是A帳戶的索引。
110是Libra要添加到A帳戶的數量。
成功的mint命令還將在區塊鏈上創建A的帳戶。
成功的輸出如下:
>> Minting coins Mint request submitted請注意,提交請求后,這意味著已將其成功添加到(測試網中驗證者節點的)內存池中。 它不一定意味著它將成功完成。 稍后,我們將查詢帳戶余額以確認mint是否成功。
給B添加40 LBR
同樣的我們給B也添加40 LBR。
libra% account mint 1 40查詢余額
我們可以輸入如下命令來查詢上面的mint是否成功執行:
libra% query balance 0Balance is: 110libra% query balance 1Balance is: 40轉賬
最激動人心的時刻到了,我們要開始轉賬了。 我們會將10 LBR從A的賬戶轉給B。 看下如何操作:
libra% transfer 0 1 100 是A的index。
1 是B的index。
10 是要轉賬的LBR數目。
是不是很簡單。它的輸出如下:
>> Transferring Transaction submitted to validator To query for transaction status, run: query txn_acc_seq 0 0 <fetch_events=true|false>你可以使用命令查詢txn_acc_seq 0 0 true(通過帳戶和序列號進行交易)來檢索有關剛提交的交易的信息。第一個參數是發送者帳戶的本地索引,第二個參數是帳戶的序列號。
你剛剛將事務提交到testnet上的驗證器節點,該事務已包含在驗證器的內存池中。這不一定意味著你的交易已執行。從理論上講,如果系統運行緩慢或過載,則需要花費一些時間才能看到結果,并且你可能必須通過查詢帳戶進行多次檢查。要查詢索引為0的帳戶,可以使用命令query account_state 0。
如果你想立馬返回交易結果,那么可以使用transferb命令(如下所示)代替transfer命令。它僅在將交易提交到區塊鏈后,transferb才會提交交易并返回到客戶端提示。一個例子如下所示:
libra% transferb 0 1 10
查看是否轉賬成功
libra% query balance 0 Balance is: 100 libra% query balance 1 Balance is: 50好啦,你的第一個交易完成了。就是這么簡單。
搭建私鏈
如果你不想使用testnet, 那么可以參照如下方法來搭建一個私鏈。
轉到Libra Core repository的根目錄,然后運行libra_swarm,如下所示:
$ cd ~/libra $ cargo run -p libra_swarm -- -s-p libra_swarm 使用cargo來運行libra_swarm軟件包,該軟件包啟動由一個節點組成的本地區塊鏈。
-s選項啟動本地客戶端以連接到本地區塊鏈。
要查看用于啟動節點并連接到Libra區塊鏈的其他選項,請運行:
$cargo -p libra_swarm – -h
cargo運行命令可能需要一些時間才能運行。 如果該命令的執行沒有錯誤,則說明你的系統上正在運行Libra CLI客戶端實例和Libra驗證器節點。 成功執行后,你應該看到包含CLI客戶端菜單和libra%提示符的輸出。
更多精彩內容且看:
- 區塊鏈從入門到放棄系列教程-涵蓋密碼學,超級賬本,以太坊,Libra,比特幣等持續更新
- Spring Boot 2.X系列教程:七天從無到有掌握Spring Boot-持續更新
- Spring 5.X系列教程:滿足你對Spring5的一切想象-持續更新
- java程序員從小工到專家成神之路(2020版)-持續更新中,附詳細文章教程
更多教程請參考 flydean的博客
總結
以上是生活随笔為你收集整理的Libra教程之:Libra testnet使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK13的六大重要新特性
- 下一篇: Libra教程之:来了,你最爱的Move