区块链BaaS云服务(16)天德链TDBC“智能合约”
1. 智能合約模板
內置了區塊鏈常見業務場景的合約模板,智能合約通過模板創建,用戶或應用可根據自己的具體需求,通過配置合約的初始化參數直接創建個性化智能合約進行使用。
- 合約模板只有通過了嚴格的校驗與審查后才能存入鏈上。
- 智能合約模板不是僅針對某一特定場景編寫,而是對于某類業務場景通用的設計。
1.1 智能合約的四個部分.
包括合約模板的創建、合約的創建、合約觸發、合約執行。
2. 支持復雜智能合約
復雜智能合約:執行時間長,邏輯較復雜的合約,通常具有多個階段。
2.1 問題
在實際中,區塊鏈系統中的各個節點的環境可能各有不同,智能合約在各個節點運行的速度
可能各不相同,加之邏輯復雜,智能合約可能會在運行中的任何一個階段改變其所在節點的狀態,而現有技術的方案并沒有針對智能合約節點環境存在差異情況下的智能合約執行方法,因此會產生合約狀態異步,區塊鏈系統對于支持復雜智能合約執行的能力低的技術缺陷,同時,多個獨立節點同時執行合約時數據一致性,結果統一性,數據的完整性以及數據的隔離性難以保證,數據同步會相互干擾。
2.2 解決方法
使用一種基于階段桶的復雜智能合約狀態同步方法,包括如下步驟:
step1. 判斷狀態類型交易,確定需要更新狀態的賬戶地址;
step2. 根據狀態交易的信息生成階段桶,然后為每個階段桶設定一個計時器;
step3. 統計階段桶內的狀態信息,并分別統計每類信息的條數;
step4. 檢查step3的結果,確定某階段桶是否已達成一致,如果已達成一致,繼續執行步驟step5,否則繼續執行step7.
step5. 將狀態存儲到區塊鏈中;
step6. 標記該階段桶為“已達成一致”,然后刪除該階段桶;
step7. 檢查階段桶的計時器是否已超時,如果未超時則跳轉執行
step3,否則繼續執行step8
step8. 標記該階段桶為“已超時”,然后刪除該階段桶,此時的階段桶稱為“廢桶”
參考
【1】 天德鏈技術白皮書.PDF
總結
以上是生活随笔為你收集整理的区块链BaaS云服务(16)天德链TDBC“智能合约”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链BaaS云服务(16)天德链TDB
- 下一篇: 区块链BaaS云服务(16)天德链TDB