智慧合約系統開發原理介紹丨智慧合約開發原始碼詳情

电报nft119發表於2024-03-15

智慧合約系統軟體開發詳情介紹:


  以太坊智慧合約是執行在以太坊虛擬機器EVM中的一段程式,它可以按照既定規則自動執行合約條款。


  它具有以下特徵:


  分散式:智慧合約分佈在以太坊全部節點中,可自由被複製和分配


  一致性:在滿足要求的狀況下,智慧合約僅實行其預先設計的操作


  自動化:智慧合約能夠自動執行各種任務


  不可篡改:智慧合約一經部署,則無法更改


  定製化:在部署前,智慧合約能夠利用多種不同方式進行編碼


  無需信任:兩方或多方能夠利用智慧合約開展互動,而不用相互瞭解或取得信任


  透明性:智慧合約依託於公有區塊鏈,對任何人都是透明的


  在Fabric中,chaincode(鏈碼)也稱為智慧合約,是用語言編寫的一段程式碼。程式碼主要是讀取和操作賬本上的資料。智慧合約是一座連線使用者應用和Fabric賬本的橋樑。使用者的應用直接和智慧合約打交道,智慧合約直接和Fabric賬本進行互動。


  一個完整的Fabric區塊鏈應用包含兩部分,一部分是使用者的應用程式,一部分是使用者編寫的智慧合約。下圖展示了使用者智慧合約和使用者的應用程式以及賬本互動的過程。使用者的應用程式透過區塊鏈網路的Peer節點,呼叫智慧合約。使用者智慧合約透過區塊鏈網路的Peer節點操作賬本資料。整體架構中,使用者的應用程式負責以下兩部分職責。第一,使用者的應用程式根據業務邏輯負責生成需要儲存在區塊鏈網路上的資料。第二,使用者的應用程式根據業務邏輯,從區塊鏈網路上獲取到相關資料,進行業務操作。總體來說,使用者應用程式更關注業務本身。智慧合約主要是負責封裝與賬本直接互動的過程,包括按照使用者指定的邏輯儲存與查詢賬本資料,供使用者應用程式呼叫。


  Fabric中使用者編寫的智慧合約是執行在隔離的沙盒環境中,目前主要展現形態是獨立的docker容器。智慧合約安裝在區塊鏈網路中的Peer節點上,執行時Peer節點會啟動單獨的docker容器來執行智慧合約。智慧合約以容器啟動後,會與啟動智慧合約容器的Peer節點建立互動,從而實現對對應Peer節點上賬本相關資料的操作。智慧合約在執行的過程中,會在對應的Peer節點賬本上建立獨立的名稱空間,名稱空間是智慧合約的名字,然後在此名稱空間中完成鍵值對的操作。不同智慧合約的名稱空間不一樣,互相之間的資料是獨立的,一般情況下智慧合約只能訪問到屬於自己名稱空間的鍵值對。如果一個智慧合約想訪問另外智慧合約的資料,可以透過在智慧合約內部呼叫其他智慧合約來實現。


  Fabric中的Peer節點提供了呼叫智慧合約相關服務的介面。使用者的應用程式可以透過使用此型別服務和Fabric Peer進行互動


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70035240/viewspace-3009145/,如需轉載,請註明出處,否則將追究法律責任。

相關文章