微众WeCross 跨链平台(5)“UBI通用区块链接口”设计
1. UBI通用区块链接口(Universal Blockchain Interface)
基于一套通用的区块链数据协议,抽象提炼主流区块链共通的核心数据结构与资源定义,使多种区块链平台可以用统一的数据协议交互。
- 对交易、智能合约与资产等数据进行抽象包装,设计统一的资源范式,
- 对主流区块链的关键数据结构进行提炼,设计普适跨链场景的抽象区块数据结构
- 为异构区块链的交互建立数据协议一致的基础
1.1 统一资源范式
UBI 提出统一资源接口范式,使得用户在调用区块链智能合约只需传入通用的参数,并处理统一定义的返回值。
包括数据、调用和事件三类固定的接口。
1.2 统一资源接口public interface Resource
public interface Resource {// 获取数据public String getData(String key);// 设置数据public void setData(String key, String value);// 调用智能合约接口public Receipt call(Transaction transaction);// 向智能合约发送交易public Receipt sendTransaction(Transaction transaction);// 注册事件回调public void registerEventHandler(EventCallback callback);
}
1.3 接口分类
合约类
用于实现智能合约部署、智能合约调用等功能,它们是支撑区块链业务的主力接口,被频繁访问。其中合约调用又可以细分为查询类(不发交易)的读接口和更新类(发交易)的写接口,常说的“上链”就是通过这个写接口完成。事件类
用于构建区块链事件响应机制,实现区块链与业务层的触发式联动功能。
区块链通过回调或者Log的方式实现事件推送,然后业务层基于监听接口完成事件捕获以进行后续逻辑。状态类
主要用于区块链系统管理,例如获取区块头、查询区块高度、查看交易等。这类接口多面向运维系统,通过配合区块链节点日志,能够实现整个区块链系统的实时监控,并对异常情况进行告警。
1.4 抽象区块链包
含业界主流区块链共同的数据字段,用于验证区块链结构的正确性、查询区块链当前状态和验证区块链数据等。多个区块链之间,通过相互同步和获取抽象链的方式,来确认其它区块链的状态,验证预期交互数据的正确性抽象区块的数据字段可以分为两类
- 区块信息字段
包括区块高度、区块哈希值和上一块哈希,这些字段用于验证区块链的正确性; - 信息验证字段
包括交易默克尔根、回执默克尔根和状态默克尔根,分别用于验证该区块相关的交易、回执和状态数据的存在性和正确性,以证明某个交易是否属于当前区块、某个回执是否属于当前区块等。
微众WeCross 跨链平台(5)“UBI通用区块链接口”设计相关推荐
- 微众WeCross 跨链平台(6)UBI通用区块链接口
1. 系统框架 跨链平台的接口设计包含两个层面,面向上层业务提供的服务接口,以及面向各类异构区块链平台的交互接口. 在跨链场景中有跨链资产流通.资源原子兑换.信息获取.数据跨链更新以及关联交易等众多需 ...
- 微众WeCross 跨链平台(1)平台介绍
1. 4S 原则 Synergetic:跨链业务高效协同 一次适配,随处可用"原则,提炼跨链交互必需的"核心接口子集",设计通用数据结构和网络协议, Secure:跨链操 ...
- 微众WeCross 跨链平台(12)合约总结
1. 合约跨链调用原理 由合约发起跨链调用.业务合约通过调用WeCross提供的桥接合约注册跨链调用请求,跨链路由会定时轮询桥接合约获取跨链请求并完成对目标链的调用,之后再进行回调并保存回调结果. e ...
- 微众WeCross 跨链平台(11)系统总结
1. 系统架构 2. 模块及其功能 3 跨链账户服务 跨链账户服务是一个独立进程,帮助用户管理不同链的链账户,实现了跨链身份的统一. step1. 用户注册一个跨链账户 step2. 用户给该跨链账户 ...
- 微众WeCross 跨链平台(8)TTM可信事务机制
1. 两个problem 区块链网络需要相互获取对方链上的数据,由于它们并没有参与对方区块链的共识流程 保证跨链交易中各自链上交易执行的事务性 2. TTM可信事务机制 (Trust Transact ...
- 微众WeCross 跨链平台(4)异构链互联协议HIP
1. HIP协议( Heterogeneous Interchain Protocol) 通用的网络交互协议及统一的交互模式 1.1 统一资源寻址协议 用户提供资源地址和相关参数即可实现资源定位和访问 ...
- 微众WeCross 跨链平台(13)开发示例
1. 举例 以资产转移场景为例,跨链的实现逻辑如下:(以Solidity合约逻辑举例,跨Fabric的chaincode实现方式同理) // 从 from 向 to 转移 amount 的资产 con ...
- 微众WeCross 跨链平台(9)MIG多边跨域治理
1. MIG多 边 跨 域 治 理(Multilateral Inter-Domain Governance): 一套可扩展.去中心的跨链治理架构,让多个区块链业务能够根据其特定需求共同搭建一条治理链 ...
- 微众WeCross 跨链平台(7)跨链路由
1. 分层设计, 自底向上分为四个层次 1.1 基础层 网络互联模块:负责跨链路由间的互联 区块链适配器模块:负责连接具体的区块链节点, 抽象链存储模块:保存多个区块链的抽象区块头信息用于验证交易和回 ...
最新文章
- 利用JS中window.showModalDialog()详解
- 2020年度国家科学技术奖提名项目公示丨附全名单
- 电脑打字学习_VOL.3,NO.2 | 小学一年级,爸爸管学习,完全就是个笑话!
- 爬虫笔记8实例淘宝商品比价爬虫
- Python中if条件判断语句的用法!
- iPhone开发过程中调试多次Release问题 message sent to deallocated
- golang语言学第四课:循环
- 技嘉主板开机代码15_技嘉TRX40 AORUS MASTER开箱评测:16+3相直出供电太可怕
- linux中的TC(TrafficControl)详细说明
- 《Linux Shell脚本攻略》读书笔记第三章 以文件之名
- cad四级计算机考试,国家CAD等级考试介绍
- 星痕 轻松实现大屏数据可视化_数据可视化的一些思考丨如何做出令人满意的大屏可视化设计(一)...
- LeCun列传:曾因AI理论遭人唾弃,如今终成一代大神
- 一网打尽车载以太网之SOMEIP(上)
- sql语句查询存储过程
- 案例分析:互联网营销和传统营销的区别
- ssh怎么ftp上传文件到服务器,ssh ftp上传文件到服务器
- 撤销博士学位!取消硕导资格!科技部最新通报一批科研不端案件...
- maven 设置本地仓库
- 从Amazon与阿里巴巴看物联网商机
热门文章
- 青少年蓝桥杯_2020_steam考试_中级组_第二题
- quantrader和matlab不匹配,【Matlab量化投资】支持向量机择时策略
- 博科b8网络版定位服务器位置,如何在企业服务器中采集奥维GPS定位设备的位置...
- mysql文件系统_mysql文件系统先睹为快
- 问答:双总线并机,可以使用不同品牌的ups吗?
- 图说数据中心新风节能技术
- 高低压验电笔应用口诀及使用方法
- 成功解决ValueError: Could not interpret input day
- MyEclipse2017:MyEclipse2017软件破解图文教程(解决MyEclipse软件因试用期过期而无法再次使用的问题)
- 成功解决 \tensorflow\…\datasets\mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.lea