石墨烯区块链(5)智能合约
1. 定義
沒(méi)有通常意義上的智能合約。所有業(yè)務(wù)邏輯都嵌入在網(wǎng)絡(luò)中。換句話說(shuō),為了創(chuàng)建智能合約,需要修改石墨烯源代碼。石墨烯區(qū)塊鏈實(shí)現(xiàn)使我們能夠輕松地向網(wǎng)絡(luò)添加自定義操作。
2.
Graphene 中的一個(gè)動(dòng)作或一個(gè)操作只是源代碼中的一個(gè)函數(shù),有幾個(gè)額外的要求:
2.1 操作參數(shù)
必須是一個(gè)結(jié)構(gòu)體,以便交易參數(shù)可以存儲(chǔ)在區(qū)塊鏈上。
2.2 驗(yàn)證檢查
驗(yàn)證操作有一個(gè)validate()函數(shù)來(lái)執(zhí)行參數(shù)的完整性檢查。此函數(shù)檢查參數(shù)是否格式正確、有意義并位于預(yù)定義范圍內(nèi)。eg. 可能會(huì)檢查用戶是否沒(méi)有將代幣轉(zhuǎn)移給自己,因?yàn)檫@是一個(gè)毫無(wú)意義的操作
2.3 評(píng)估器
操作必須有一個(gè)評(píng)估器,評(píng)估者是操作背后的真正大腦。它包含兩個(gè)功能:
-
do_evaluate(),它檢查函數(shù)驗(yàn)證等參數(shù)。此函數(shù)執(zhí)行更高級(jí)別的驗(yàn)證,eg. 用戶是否有足夠的令牌進(jìn)行傳輸?和合同到期了嗎?這些不僅僅是簡(jiǎn)單的輸入確認(rèn);它們是業(yè)務(wù)邏輯的實(shí)際部分。
-
do_apply(),它應(yīng)用必要的更改。eg. 它可以更新用戶的余額,更改存儲(chǔ)在區(qū)塊鏈上的數(shù)據(jù)等。
總結(jié)
以上是生活随笔為你收集整理的石墨烯区块链(5)智能合约的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 石墨烯区块链(4)API
- 下一篇: 石墨烯区块链(3)软件升级