1. 什么是Chaincode?
Chaincode是一個(gè)用go寫的程序,以后也可以用其他的語言比如說java什么的來編寫。Chaincode在一個(gè)安全的docker容器里面運(yùn)行,獨(dú)立于背書節(jié)點(diǎn)的處理。Chaincode通過應(yīng)用程序提交的交易來初始化賬本并且管理賬本。
Chaincode通常處理網(wǎng)絡(luò)中成員一致認(rèn)同的業(yè)務(wù)邏輯,所以也被稱作為是“智能合約”。chaincode創(chuàng)建的狀態(tài)僅限于當(dāng)前chaincode的范圍內(nèi),別的chaincode沒法直接訪問。然而,在同一個(gè)網(wǎng)絡(luò)中,可以開放這種chaincode的權(quán)益給別的chaincode來訪問它的狀態(tài)。
2. 兩個(gè)角色
在chaincode里面,我們提供了兩個(gè)不同的視角。第一個(gè)是,從應(yīng)用程序開發(fā)者的角度來看待chaincode;另一個(gè)角度是,從操作者的角度來看待如何管理整個(gè)區(qū)塊鏈網(wǎng)絡(luò),這個(gè)操作者會(huì)利用Hyperledger Fabric提供的API來安裝,實(shí)例化,更新chaincode,但是并不會(huì)直接去開發(fā)Chaincode