天天看點

從零開始,5分鐘建立并玩轉屬于自己的區塊鍊-圖文攻略前言

前言

區塊鍊今年發展真是飛快!從最初一個陌生的概念,到如今已經在各個行業起步,星星之火大有燎原之勢。真希望能擁有自己的區塊鍊練練手O(∩_∩)O~!可是一個人、一台電腦,怎麼才能搭起來區塊鍊環境……火到不行的區塊鍊,想說愛你不容易!

Don’t Worry! 小編已經沉迷于區塊鍊和智能合約不可自拔!現在就手把手帶你從零開始,5分鐘玩轉屬于自己的區塊鍊!

IBM中國研究院開發的超能雲(SuperVessel)平台提供了給區塊鍊愛好者、開發者的區塊鍊開發測試環境。通過該平台,使用者能夠免費、超快速建立基于Hyperledger Fabric的多節點區塊鍊、并在自己的鍊上花式玩轉智能合約。

準備工作

隻需要你的本地浏覽器即可!

注冊一個賬号

通路超能雲(SuperVessel)區塊鍊服務的公測位址http://crl.ptopenlab.com:8800/bc

點選右上角Log in(登入)按鈕,在彈出的視窗中點選Register(注冊),填寫郵箱和密碼後送出。此時建議去郵箱檢視激活郵件,并激活自己的賬号(小編提示:懶的激活也沒關系,隻是某些進階服務必須激活後才能使用哦)。

快速建立自己的區塊鍊

注冊完成後,回到首頁,點選偌大的GIVE ME A BLOCKCHAIN(給我一個區塊鍊!)按鈕。在彈出框中選擇你想要的Consensus Plugin(共識插件)和Size(區塊鍊網絡節點數量)。

小編備注:目前可選Hyperledger Fabric官方提供的兩種共識插件:noops和pbft**。

點選Submit(送出)後,幾秒後就能得到自己的區塊鍊,并自動進入監控面闆。沒錯,拿到一個屬于自己的區塊鍊就是這麼簡單!

進入監控面闆後可以看到,左側是智能合約管理面闆,包括對智能合約的管理和部署;右側是網絡面闆,展示申請到的區塊鍊網絡情況,拓撲、節點之間的延遲資訊等一目了然;點選右上角的望遠鏡圖示,則可以實時監控各節點的日志資訊。最下方是區塊鍊面闆,展示目前區塊鍊的整體情況,初始狀态下隻有一個區塊。

部署和使用智能合約

接下來,小編教你如何在自己的區塊鍊上部署和使用智能合約。

在智能合約管理面闆的Smart Contracts(智能合約)标簽下列出了2個智能合約作為示例,分别為map和chaincode_example02。其中map合約可以實作鍵值對(key-value)的存儲,chaincode_example02合約可以模拟兩個人的轉賬和查詢。

小編備注:這2個示例合約的代碼可在Hyperledger Fabric源碼中找到(https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go)。

以部署和使用chaincode_example02合約為例:

部署合約

點選chaincode_example02合約對應的Deploy(部署)按鈕,并填寫合約的初始化值,包括合約名、初始函數、初始參數。該合約初始函數為init,初始參數需按格式填寫,如[“a”,”100”,”b”,”200”]表示注冊兩個人a和b,分别給他們100機關和200機關。

點選Deploy按鈕,該合約将部署在你的區塊鍊中,該過程大約需要20~40秒時間。當區塊鍊面闆出現一個新區塊,通常表示合約已部署完成。

調用合約

部署完成後,在智能合約管理面闆的My Deployment(我的部署)标簽下檢視已部署的合約執行個體。

點選Action下方的Invoke按鈕調用智能合約,并填寫調用的方法名和相應參數(不同合約的方法名和參數含義不同,具體與合約内容相關哦)。如對該合約,調用invoke方法名,填寫參數[“a”,”b”,”50”],表示a給b轉50個機關。

點選Submit完成調用後,可以檢視區塊鍊情況,此時會生成新的區塊。

查詢合約

調用完成後,接下來你可以查詢合約執行結果。仍然在My Deployment标簽下,點選Action下方的Query按鈕查詢智能合約,并填寫查詢的方法名和相應參數。如選擇query方法名,填寫參數[“a”],表示查詢a的目前機關。

點選Submit後可以看到a的目前機關為50。你可以再去查詢b試試看!

OK,接下來你可以繼續操作該合約,觀察區塊鍊情況,或者在該區塊鍊上再部署一個新智能合約,比如map。為了友善使用,部署、調用和查詢合約的方法名和參數格式都預設填好了,你隻需選擇一個方法名,照貓畫虎改改參數就好!看看你能把鍊玩到多長~

上傳并測試自己的私有智能合約

除了目前提供的兩個公有智能合約,你還可以上傳并測試自己的私有合約!私有合約隻有自己能看到。

在Smart Contracts标簽下點選Import private smart contract。

填寫合約名和描述,并上傳合約代碼檔案後,點選Import,完成上傳。

之後Smart Contracts清單裡便出現我上傳的合約,可以像前文一樣進行部署、調用和查詢了。

感興趣的開發者不妨去學習一下Hyperledger Fabric源碼中的合約示例(https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go),動手編寫并在平台上測試自己的第一個智能合約吧!

原文釋出時間為:2018年02月22日

本文作者:macair123

本文來源:

CSDN

,如需轉載請聯系原作者。

繼續閱讀