第十章 九析帶你輕鬆完爆 hyperledger fabric - chaincode 生命週期介紹

本系列文章:
前端


第一章:九析帶你完爆 hyperledger fabric - 快速上手 basic-network 樣例java

第二章:九析帶你完爆 hyperledger fabric - 快速搭建 GO 環境node

第三章:九析帶你完爆 hyperledger fabric - 快速上手 first-network 樣例python

第四章:九析帶你完爆 hyperledger fabric - 系統邏輯架構篇git

第五章:九析帶你完爆 hyperledger fabirc - 網絡節點介紹github

第六章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊和區塊鏈介紹後端

第七章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊鏈防篡改機制服務器

第八章:九析帶你輕鬆完爆 hyperledger fabric - Couchdb 安裝網絡

第九章:九析帶你輕鬆完爆 hyperledger fabric - NVM 和 Nodejs 安裝架構

第十章:九析帶你輕鬆完爆 hyperledger fabric - chaincode 生命週期介紹

目錄

1 前言

2 chaincode 生命週期

    2.1 安裝 (install)

    2.2 實例化(instantiate)

    2.3 調用(invoke)

    2.4 升級(upgrade)


1 前言

        chaincode,又稱鏈碼,是 fabric 區塊鏈中的智能合約。可是智能合約名存實亡,由於並不智能,並無你想固然認爲具備任何 AI 能力,它本質就是業務邏輯代碼,跟你平時寫一段增刪改查沒任何區別,只是由於它是區塊鏈,因此讓人以爲屌一點而已,可是,僅此而已。

        IT 公司的經典技術分工是 「前端 + 後端 + 運維」,對應 fabric 應用開發,那就是 「chaincode 調用者 + chaincode + fabric」。由此可知,chaincode 本質就是業務核心邏輯,它是 fabric 中生成交易(區塊數據)的惟一方式,咱們開發 fabric 應用,其實也就是在編寫 chaincode。


2 chaincode 生命週期

        chaincode 生命週期大體有這麼幾個階段:安裝、實例化、調用、升級。

2.1 安裝 (install)

        安裝 chaincode 的過程就是將 chaincode 部署到區塊鏈的過程。在之前的教程中,咱們曾介紹過 fabric 區塊鏈中有多種節點,安裝 chaincode,則只能安裝在 peer 節點之上,並且在安裝的過程當中,要指定一個名稱和版本。就像咱們平時發佈項目時要指定項目名稱和發佈版本同樣。例如:

peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

2.2 實例化(instantiate)

        就像你把代碼部署在服務器,若是不啓動就不會產生任何做用同樣;chaincode 安裝完,還須要進行實例化操做才能夠被外界真正的訪問。chaincode 實例化就是將代碼打包成鏡像而後啓動容器運行的過程。每一個 chaincode 只會被實例化一次,可是實例化過程能夠在任何一個安裝了 chaincode 的 peer 上進行。 例如:

peer chaincode instantiate -o orderer.example.com:7050 -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR        ('Org1MSP.member','Org2MSP.member')"

2.3 調用(invoke)

        安裝並初始化後的 chaincode,就像你結識又肯定關係的女友同樣,你能夠那個了,是否是很興奮,很想尖叫?操做 chaincode 的客戶端有不少類型,好比 java、python、nodejs 等。chaincode 提供統一的調用接口 invoke。客戶端能夠經過調用 chaincode 來達到查詢、變動帳本信息的目的。例如:

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'

2.4 升級(upgrade)

        就像系統升級同樣,chaincode 也會有升級的需求。在升級 chaincode 的過程當中,須要把新的 chaincode 安裝(install)到正在運行該 chaincode 的 peer 節點上,並且在安裝時須要指定比原先更高的版本。安裝完畢後,只需向該 peer 節點發送 upgrade 操做,就能夠順利升級 chaincode 了。

peer chaincode install -n mycc -v 1.1 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

peer chaincode upgrade -n mycc -v 1.1 -c '{"Args": ["init","a","100","b","200"]}' -C mychannel

        自此,九析帶你輕鬆完爆 chaincode 的生命週期。

相關文章
相關標籤/搜索