跨链Cosmos(7)普通交易流程
生活随笔
收集整理的這篇文章主要介紹了
跨链Cosmos(7)普通交易流程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 普通交易
Cosmos的普通交易和以太坊類似,也是一個帳戶模型,有著From,To和Amount關鍵字段。
1.1 Msg結構
type MsgSend struct { FromAddress github_com_cosmos_cosmos_sdk_types.AccAddress ToAddress github_com_cosmos_cosmos_sdk_types.AccAddress Amount github_com_cosmos_cosmos_sdk_types.Coins}1.2 交易流程
接下來介紹一筆普通交易的流程,例如Alice轉給Bob 100atom代幣。
step1. Tendermint收到該筆交易,調用BaseApp的CheckTx校驗該筆交易的有效性;
step2. Tendermint出塊,調用BaseApp的BeginBlock,檢查區(qū)塊的高度、Gas消耗情況和節(jié)點投票情況;
step3. Tendermint調用BaseApp的DeliverTx,執(zhí)行區(qū)塊中的交易;
step4. 減少Alice 100atom,增加Bob 100atom,存儲Alice和Bob的賬本。
step5. 區(qū)塊內交易全部執(zhí)行完成后,Tendermint調用BaseApp的EndBlock收尾,包含執(zhí)行完成后的事件和相關的驗證者集合等等;
step6. Tendermint調用BaseApp的Commit,IavlStore構建Merkle Tree;
step7. 通過返回的MerkleTree Root生成區(qū)塊哈希,進行一下輪出塊。
總結
以上是生活随笔為你收集整理的跨链Cosmos(7)普通交易流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跨链Cosmos(6)ABCI 原理
- 下一篇: 跨链Cosmos(10) IBC接口