近期facebook擬發行的libra幣,可以說是加密貨幣界和傳統金融行業的一件大事,很多人都認為這次數字貨幣真的可能改變世界。作為程式設計師而言,怎樣搭上這班車,相信是大家都非常關心的。我覺得我們可以從開發libra幣的智慧型合約入手,將現實世界中的支付場景,尤其是跨境支付場景,在libra幣的環境來實現,也許可以找到好的方向。本文就是根據libra.org中的文件,在本地執行libra的測試網路,建立兩個使用者,實現兩個使用者之間的轉賬操作,為下面用move語言來開發智慧型合約打下基礎。
由於libra網路還沒有正式運轉,我們要體驗libra體系架構,可以通過測試網路來進行,這樣做還有乙個好處,就是不像正式網路那樣,我們需要真金**的投入資金,才有體驗的資格。
根據libra的文件,想要執行libra測試網路,需要linux或macos作業系統,所以本文以macos系統為例進行講解。在macos中需要事先安裝好git和homebrew,由於這些都是基本內容,這裡就不再介紹了,讀者可以參考網上的文章來進行安裝配置。
git clone
接下來通過命令配置libra core:
cd libra
./scripts/dev_setup.sh
安裝過程選擇讓安裝程式自動安裝依賴庫,即可完成安裝過程。
在安裝過程中,由於要向/usr/loca/share目錄寫入幫助檔案,可能出現許可權不足的問題,可以通過如下命令將該目錄所有者改為當前使用者:
sudo chown -r gile /usr/local/share
再次執行即可成功安裝了。
通過如下命令來編譯libra客戶端並連線到libra測試網路的驗證節點:
./scripts/cli/start_cli_testnet.sh
在連線到libra測試網路之後,我們就可以開始建立賬戶了。
執行如下命令:
account
如果打出類似如下內容,則證明環境是正常可用的:
執行如下命令:
account create
執行結果如下所示:
如上所示:#0代表我們建立的這個賬戶的編號為0號,後面跟的是錢包位址,在實際應用中,我們需要將這個資訊記錄到資料庫中。
接下來我們用同樣的方式建立另乙個賬戶bob,如下所示:
到目前為止,我們系統中的賬戶有:
[
,]
account list
執行結果如下所示:
由此可以看出,這些資訊與我們儲存的資訊是完全一樣的。
在某種意義上來說,區塊鏈就是挖礦和發幣,所以我們也進行挖礦和發幣。在libra測試網路中,用facet服務來挖礦和發幣。所以下面我們分別產給alice和bob一些初始資金,為我們後續的轉賬操作打下基礎。
執行如下命令:
account mint 0 110
執行結果如下所示:
在account mint 0 110中,0代表給編號為0的賬戶發幣,110為發幣的數量,後面的提示資訊表示這個交易成功提交到libra測試網路,目前正存在於驗證節點的記憶體池中,只有當驗證節點將該交易寫入區塊鏈中時,交易才算正式完成。我們將在後面介紹檢視賬戶餘額的方法,就是只有在寫入區塊鏈後,賬戶的餘額才會發生改變。
接下來可以通過下面的命令給bob發幣:
account mint 1 52
接下來我們檢視這兩個賬戶的餘額:
query balance 0
query balance 1
下面我們把alice的10元(我們假設libra中的單位是元)轉給bob。
執行如下命令:
query sequence 0
query sequence 1
執行結果如下所示:
由於這兩個賬戶都是新賬戶,所以其交易號為0 。
執行如下命令:
transfer 0 1 10
在上面的命令中,0代表資金轉出賬戶編號,1代表資金轉入賬戶編號,10代表轉賬金額。執行結果如下所示:
在上面的命令中,txn_acc_seq 0 0表示這個交易,第乙個0代表賬戶的編號,第二個0代表該賬戶的交易編號,如果想檢視交易的詳細資訊,可以使用如下命令:
query txn_acc_seq 0 0 true
結果如下所示:
同樣,這只是將交易提交到了libra的測試網路,儲存在驗證節點的記憶體池中,只有當該交易被驗證節點實際寫入區塊鏈中時,這個交易才生效,即使用者的餘額才會發生變化。
執行下面命令檢視賬戶餘額:
query balance 0
query balance 1
執行結果如下所示:
如圖所示,我們看alice和bob的賬戶均已經被正確修改過了。
此時如果我們再來查詢交易號,如下所示:
query sequence 0
query sequence 1
執行結果如下所示:
如上圖所示,alice賬戶發生了乙個交易(有資金轉出時視為發生交易),所以其交易編號就變1了。
Libra教程之 Libra協議的關鍵概念
版本資料庫 賬戶賬戶位址 proof 驗證節點 儲存libra協議是libra區塊鏈的基礎,本文主要講解libra協議的一些關鍵概念。我們知道區塊鏈也可以叫分布式賬本,它主要的作用就是儲存各種交易。而為了便於查詢和提公升效率,現代的區塊鏈都會引入狀態的概念,來代表某時刻鏈上資料的當前快照。交易會改變...
Libra數字貨幣的全面解讀
我們對於區塊鏈算是有非常長的時間裡有關注,因為。可能在一六年啊,是在一五年的時候,圈兒裡就已經是乙個。在科技領域比較火熱的乙個領域了,但是大家都沒有想到,一七年的時候,跟隨位元幣的一波。然後呢,獲得社會這麼大的關注,當然說,在中國一八年年初的時候,那個時候可能位元幣 已經 了。那個時候,這個反兒國內...
從Libra看區塊鏈的機遇
一番碼客 挖掘你關心的亮點。記得去年扎克伯格搞libra的時候,引起了世界的關注。但隨著美國國會聽證會的阻力,漸漸很少聽見libra的聲音了,不持續關注,大家以為libra涼了,時不時也有中國的dcep也冒個泡。這兩天一番聽了乙個節目,持續解讀libra及其可能帶來的生態機會,不去了解就可能錯過未來...