感謝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的余額

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


到這里,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的賬戶余額:




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






從上面的圖,可以得知,Alice支付給Bob的咖啡錢已經(jīng)到賬。
本次作業(yè)到此結(jié)束,寫得不好的地方,請(qǐng)不吝指教,謝謝!