跨链Cosmos(7)普通交易流程
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,检查区块的高度、Gas消耗情况和节点投票情况;
step3. Tendermint调用BaseApp的DeliverTx,执行区块中的交易;
step4. 减少Alice 100atom,增加Bob 100atom,存储Alice和Bob的账本。
step5. 区块内交易全部执行完成后,Tendermint调用BaseApp的EndBlock收尾,包含执行完成后的事件和相关的验证者集合等等;
step6. Tendermint调用BaseApp的Commit,IavlStore构建Merkle Tree;
step7. 通过返回的MerkleTree Root生成区块哈希,进行一下轮出块。
跨链Cosmos(7)普通交易流程相关推荐
- 跨链Cosmos(9)异构跨链交易流程
当应用链双方在Hub注册后,彼此发现就可以通过路由进行跨链交易. 1.1 IBC跨链流程 ChainA和ChainB都是基于CosmosSDK搭建的应用链,Relayer作为一个链下中继负责轮询和路由 ...
- 跨链Cosmos(8)同构跨链交易流程
1. 哈希锁定 A链上的Alice发送100个ATOM代币给B链上的Bob step1. Tracking A链上的IBC模块会不断的同步B链上的区块头信息,B链上的IBC同理.通过这种方式,双方能够 ...
- 跨链Cosmos(11) 消息结构
1. 普通交易Msg Cosmos的普通交易和以太坊类似,也是一个帐户模型,有着From,To和Amount关键字段. type MsgSend struct { FromAddress github ...
- 跨链Cosmos(3)IBC协议
1. (Inter-Blockchain Communication Protocol)IBC定义 IBC协议用于Hub与Zone之间消息传递. 通过数据包交换在多个不同的区块链网络之间转移数据和状态 ...
- 跨链Cosmos(3)IBC协议二
1. IBC协议中设计了两个消息: IBCBlockCommitTx 发送方所在区块链的最新的区块信息. IBCPacketTx 跨链交易本身的信息,及其在发送方链中被打包的区块信息. 两个链建立连接 ...
- 跨链Cosmos(2) Cosmos系统框架
1. Cosmos 系统 = Tendermint Core + Cosmos SDK Cosmos是tendermint团队推出的一个支持跨链交互的异构网络, 一个分布式的独立并行区块链公链. 1. ...
- 跨链Cosmos(1) 网络拓扑
1. 拓扑结构 Hub: 用于处理跨链交互的中继链 Zone: 平行链 Cosmos Hub中心 代币可以安全快速地从一个Zone传递到另一个Zone,两者之间无需体现汇兑流动性. Zone内部所有代 ...
- 跨链Cosmos(12) Cosmos插件
Tendermint 有一个插件模块,我们可以实现 plugin 中接口,在 ibc 插件中执行跨链交易. 1. plugin 接口的定义 //与 abci 接口很类似 type Plugin int ...
- 跨链Cosmos(10) IBC接口
1. 子模块 1.1 IBCRegisterChainTx 注册 在跨链开始用来注册,并发送创世区块,Validator 给对方,这个只能执行一次,多次执行会报错. type IBCRegisterC ...
最新文章
- mxnet 衰减学习率
- IOS8 PUSH解决方法
- 《工具癖》Mac与Windows获取文件绝对路径的快捷键
- centos7安装MySQL 5.7
- Ubuntu 18.04 语言学相关软件的安装
- vc830l 说明书_有了解vc830l万用表使用方法的吗?
- Codeforces Gym 100015A Another Rock-Paper-Scissors Problem 找规律
- rpx 和 rem 详解
- java接口推送_推送API
- 腾讯企业邮箱满了,如何清空邮箱?
- 实验6 Sniffer网络安全检测
- 自定义 C++ 和 CUDA 扩展
- Imperva是什么
- fscanf php,php fscanf 函数_PHP教程
- 为什么win10提示没有管理权限
- 对酒当歌,孤寂之歌!
- 关于Mobile Web App你所应该知道的
- 赵小楼:《天道》《遥远的救世主》深度解析(18)细说丁元英中止私募基金的必然性
- java计算机毕业设计家电仓储管理系统源码+mysql数据库+系统+lw文档+部署
- Java实现按中文名称排序
热门文章
- c-nominated = ((rcheck-use_candidate) || c-nominated);
- Android --- Android Studio 内无法直接运行 main 方法
- Java 基础之 Random类和Math.random()方法
- axure9 邮件点击效果_EDM邮件营销,你不得不知道的8个指标?
- matlab中句点,matlab入门学习(一)
- java 服务器发布_我如何在java中发布到服务器?
- 推进大数据中心新能源应用 广东省六部门联合印发培育新能源战略性新兴产业集群行动计划(2021—2025年)...
- 数据中心夏季如何防雷
- asp调用php函数,asp函数split()对应php函数explode()
- Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略