動(dòng)手寫第一個(gè)fabric智能合約

感謝higer給我們上了精彩的一課,帶我們?nèi)腴Tfabric智能合約。

就像笑來(lái)老師說(shuō)的,學(xué)會(huì)最少必要知識(shí)后,就要馬上行動(dòng),馬上用起來(lái)?,F(xiàn)在higer已經(jīng)教把最少必要知識(shí)教給了我,不行動(dòng)說(shuō)不過(guò)去。

說(shuō)來(lái)遺憾,5月26日那天正好發(fā)燒,沒(méi)辦法聽higer的直播,直到今天才回聽。

廢話就不多說(shuō)了,直接上作業(yè)吧!

一、登陸IBM Blockchain

網(wǎng)址:https://crl.ptopenlab.com:8800/bc/#home

如果沒(méi)有賬號(hào)的話,需要注冊(cè)1個(gè)賬號(hào),IBM會(huì)發(fā)送驗(yàn)證郵件到你的郵箱,在郵箱激活后,點(diǎn)擊下圖紅色方框,即可進(jìn)入開發(fā)界面:


二、正式開發(fā)

1、新建一條區(qū)塊鏈

點(diǎn)擊“Apply a New Chain”,新建一條區(qū)塊鏈,共識(shí)算法選擇為“pbft”

2、新建一個(gè)智能合約

選擇“chaincode_example02”,點(diǎn)擊旁邊打勾的標(biāo)志,即可彈出下圖。初始化參數(shù)設(shè)置好了之后,點(diǎn)擊"Deploy"。

這里務(wù)必注意,init函數(shù)數(shù)只能接受4個(gè)參數(shù),也就是2個(gè)人的名字以及初始“余額”。

3、寫賬本

第2步部署后,就會(huì)彈出以下的界面:

下圖顯示的正是我們新建區(qū)塊鏈時(shí)設(shè)置的節(jié)點(diǎn)數(shù),即4個(gè)驗(yàn)證節(jié)點(diǎn)。

由于區(qū)塊創(chuàng)建需要時(shí)間,所以現(xiàn)在暫時(shí)只有創(chuàng)世區(qū)塊(區(qū)塊0)


稍等片刻,部署區(qū)塊(區(qū)塊1)就出現(xiàn)了


接下來(lái)是higer給zhongxh轉(zhuǎn)賬5000,點(diǎn)擊右下角的“invoke”,就可以看到下面的界面。

“Function”我們選擇"tranfer",在這個(gè)場(chǎng)景是轉(zhuǎn)賬的意思

“Arguments”表明:higer向zhongxh轉(zhuǎn)賬5000

這一次,我們很快就看到invoke區(qū)塊(區(qū)塊2),看到invoke區(qū)塊生成了,我們也就可以查詢了


點(diǎn)擊右下角的“Query”,就可以看到如下的界面。

“Function”我們選擇"query",在這個(gè)場(chǎng)景是轉(zhuǎn)賬的意思

“Arguments”表明:查詢higer的余額


點(diǎn)擊“Query”按鈕后,就會(huì)顯示higer的余額


higer賬戶的余額由10000變成5000,可見錢已經(jīng)從higer的賬戶里面轉(zhuǎn)出

那我們現(xiàn)在還不是很放心,錢到了zhongxh的賬戶了嗎?

那我們查查zhongxh賬戶的余額吧!


和上面查詢higer的賬戶余額一模一樣,只是“Argument”換成了["zhongxh"]而已
zhongxh賬戶的余額由500變成5500,可見higer賬戶轉(zhuǎn)出的錢已經(jīng)到賬

到這里,higer向zhongxh轉(zhuǎn)賬成功了。

那我們接下來(lái)可能會(huì)問(wèn):新建智能合約的時(shí)候只能init兩個(gè)賬戶,如果我還想要init更多的賬戶怎么辦?

答案是多deploy幾個(gè)智能合約。

點(diǎn)擊下圖右下角的“Deploy”,即可新建智能合約。

“Smart Contract”我們?nèi)匀贿x擇"chaincode_example02"

“Instance Name”為"instance2"

"Arguments"為"["Alice","10000","Bob","50000"]",表明Alice賬戶擁有10000,Bob的賬戶擁有5000

請(qǐng)注意,這里的Arguments不能再出現(xiàn)"higer"和“zhongxh”,否則會(huì)與instance1沖突

新建智能合約后,就會(huì)有Deploy區(qū)塊(區(qū)塊3)產(chǎn)生


現(xiàn)在我們可以查詢Alice和Bob的賬戶余額:


Bob的賬戶余額是50000,表明初始化成功



Alice的賬戶余額是10000,表明初始化成功

假設(shè)Alice在Bob的咖啡廳買了一杯咖啡,支付了500


Alice向Bob轉(zhuǎn)了500



一個(gè)新的invoke的區(qū)塊(區(qū)塊4)產(chǎn)生了
查詢Alice賬戶的余額
Alice賬戶的余額由原來(lái)的10000變成9500,表明錢已經(jīng)轉(zhuǎn)出去了
查詢Bob賬戶的余額
Bob賬戶的余額由原來(lái)的50000變成5000,表明錢已經(jīng)收到了


從上面的圖,可以得知,Alice支付給Bob的咖啡錢已經(jīng)到賬。

本次作業(yè)到此結(jié)束,寫得不好的地方,請(qǐng)不吝指教,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文是對(duì)以太坊文檔 Ethereum Frontier Guide 和 Ethereum Homestead 的整...
    趁風(fēng)卷閱讀 9,768評(píng)論 0 16
  • 1.介紹 本文旨在對(duì)Aeternity區(qū)塊鏈的架構(gòu)和可能的應(yīng)用進(jìn)行總覽。未來(lái)我們將提供更細(xì)致的論文,尤其是針對(duì)共識(shí)...
    X1nMa閱讀 1,585評(píng)論 0 5
  • 聽者在接受和理解言語(yǔ)的意義時(shí),他同時(shí)要對(duì)這一言語(yǔ)采取積極的應(yīng)對(duì)的立場(chǎng):同意或是不同意,補(bǔ)充它、應(yīng)用它、準(zhǔn)備實(shí)現(xiàn)它等...
    黑物質(zhì)閱讀 316評(píng)論 0 0
  • 喜歡你 而恰好 你也喜歡我 一段時(shí)間 不長(zhǎng)亦不短 呼吸 皺眉 慪氣 優(yōu)點(diǎn) 缺陷 見過(guò)你的家人 溫婉而慈祥 也許 明...
    大囍Daisy閱讀 204評(píng)論 3 1
  • 母親坐在舊板凳上扎著小菜,昏暗的燈光把她的身影拉的很長(zhǎng)很長(zhǎng),我總是捋著小繩將它們遞給母親,而后她熟練的把小菜擇...
    婳瑾閱讀 222評(píng)論 0 5

友情鏈接更多精彩內(nèi)容