什么是鏈碼(Chaincode)?
我們知道區塊鏈有3個發展階段:區塊鏈1.0,區塊鏈2.0,區塊鏈3.0。其中區塊鏈2.0就是各種區塊鏈平台百花齊放的階段,區塊鏈2.0最大的特點就是智能合約,我們接下來要介紹的鏈碼就是智能合約的一種,是Hyperledger子項目Fabric提供的智能合約,叫做chaincode,翻譯過來就是鏈碼。
鏈碼是一段程序,目前采用go語言來編寫,Java、NodeJs語言也會慢慢支持。鏈碼的編寫需要實現Fabric提供的一套接口,之后鏈碼需要運行在一個安全的Docker容器中。在Fabric區塊鏈中,鏈碼通過應用程序提交的交易來初始化和管理ledger和world state。
鏈碼用來處理一些得到各方共識的業務邏輯。由某個鏈碼創建的state, 一半只能用該鏈碼來訪問,不能夠被另一個鏈碼來直接訪問。然而,在同一個網絡中,如果鏈碼得到授權,也可以調用另一個鏈碼來間接訪問它的狀態。
鏈碼編寫和管理
從應用開發者的角度,區塊鏈應用的編寫請參考下一篇《Hyperledger Fabric鏈碼之二》。
從鏈碼操作員的角度,鏈碼安裝、初始化以及升級,請參考《Hyperledger Fabric鏈碼之三》。