BLO:跨链 6个核心接口就够了_wiseblockchain

作为跨链交互的基础,接口(API)是跨链平台中重要一环。目前各大区块链平台提供了丰富的接口,这些接口是否都要在跨链平台中重新实现?为了实现普适通用的跨链平台,如何确定接口设计基调?为了满足复杂多变的跨链需求,哪些接口是必须的?WeCross的接口实现是怎样的?本文将带你一探究竟。

随着区块链技术的发展,区块链被广泛地运用到各行各业中,为了支撑越来越多样的应用场景与复杂的业务需求,区块链接口也在不断增长、完善。目前,主流区块链平台动辄提供几十个接口。丰富的接口极大方便了开发,不过,对跨链而言,是不是所有区块链接口都需要用上,有待商榷。

以FISCO BCOS的getPbftView为例,该接口用于获取节点所在指定群组内的最新PBFT视图,是面向PBFT共识算法特有的接口,而对于采用其它共识算法的异构区块链平台,这个接口显然不够通用。

跨链钱包Blocto推出100万美元Polygon生态项目资助计划:金色财经报道,跨链钱包应用程序Blocto推出了一项100万美元的资助计划。为了增强Polygon生态系统中用户对Blocto无缝钱包体验的可访问性,这笔赠款使去中心化应用程序能够将Blocto的无币、30秒用户入门体验直接集成到dApp中。

专门针对Polygon上构建的项目,将在3个月的参与期内部署高达100万美元的建设者激励措施。除了财务支持和开发人员工具资源之外,还为选定的项目提供营销和运营支持,并专门访问Blocto庞大的用户群、开发人员关系团队和沟通渠道。[2023/7/21 15:51:00]

因此,虽然区块链接口众多,如何挑选合适的接口来设计跨链平台,还需结合实际情况具体分析。

跨链平台是联通异构链的桥梁。为了屏蔽区块链的差异性,降低跨链访问复杂度,平台与不同区块链之间的交互需要通用统一的接口,因此,跨链所需的区块链接口一定是不同区块链都有的共性接口。

跨链预言机解决方案SupraOracles与Morpheus Network达成合作:据官方消息,跨链预言机解决方案SupraOracles宣布与供应链SaaS中间件平台Morpheus Network达成合作。

该平台可以连接到多个独立的系统,并根据预先确定的情况触发操作,允许用户自动化和优化他们的手动操作以减少误操作。该平台的基本功能是构建一个模块化、适应性强的供应链流程和工作流。它将支付、仓储、运输、文档和制造等看似独立的系统和层统一到一个源中,从而实现从头到尾的完全透明和过程自动化。[2022/6/30 1:40:25]

通过对主流区块链平台的服务接口进行分类整理,大致可分为如下三类:

合约类:这类接口用于实现智能合约部署、智能合约调用等功能,它们是支撑区块链业务的主力接口,被频繁访问。其中合约调用又可以细分为查询类(不发交易)的读接口和更新类(发交易)的写接口,常说的“上链”就是通过这个写接口完成。

资金流协议SuperFluid与Connext和Nomad合作,已开发出“跨链资金流”产品的工作原型:6月15日消息,资金流协议SuperFluid与互操作性协议Connext和Nomad合作,开发了一个“跨链资产流”(Cross-Chain Money Streaming)的工作原型,它使用Connext的SDK和Nomad构建,用于身份验证调用,允许用户将资金以流支付形式传输到网络上的桥接合约,然后从不同网络上的桥接合约接收资金。通过跨链资金流,DAO和加密原生组织可以使用Superfluid协议将价值按秒转移到他们想要的任何网络,而无需在任何特定网络上具有流动性。(Medium)[2022/6/15 4:29:11]

事件类:主要用于构建区块链事件响应机制,实现区块链与业务层的触发式联动功能。区块链通过回调或者Log的方式实现事件推送,然后业务层基于监听接口完成事件捕获以进行后续逻辑。

Tezos与Aleph.im完成集成,为NFT提供跨链去中心化存储和计算网络服务:4月14日消息,Tezos与Aleph.im完成集成,为NFT提供跨链去中心化存储和计算网络服务,基于Tezos的dApp和交易市场能够利用Aleph的分布式计算和存储节点,并且Tezos NFT将通过将相应元数据本地备份到Aleph的去中心化网络来获得更高的安全性和持久性。

Aleph.im 首席执行官兼创始人 Jonathan Schemoul 表示,与 Tezos 集成能让用户更轻松地进行 NFT 备份,NFT 相关元数据副本会固定在 Aleph.im 网络核心通道节点,因此 Tezos 上的 NFT 市场能够使用 Aleph.im 的去中心化存储解决方案来安全地存储 NFT 及其元数据。(雅虎财经)[2022/4/15 14:25:21]

状态类:主要用于区块链系统管理,例如获取区块头、查询区块高度、查看交易等。这类接口多面向运维系统,通过配合区块链节点日志,能够实现整个区块链系统的实时监控,并对异常情况进行告警。

OEC即将接入扩容跨链解决方案BTTC:10月30日,波场TRON发布推文宣布,扩容跨链解决方案BitTorrent Chain(BTTC)正式发布,已开启测试网,行业主流公链之一OEC将于近期完成接入。这意味着,接下来通过BTTC,全球用户可直接以去中心化方式在波场TRON和OEC之间无限制转移主流资产!OEC是开源、开放的去中心化公链,任何人都可自由部署项目。

据悉,BTTC由BitTorrent和波场TRON核心团队联合开发,是波场生态上首发的异构链跨链互操作协议。协议采用POS(Proof of Stake)共识机制,部署多节点验证,通过侧链进行智能合约扩展,具有异构跨链、传输速度快、交易费用低还保障资产安全等核心优势。[2021/10/31 6:23:19]

对跨链平台而言,要操作跨链资源,合约类接口必不可少;为了监听跨链请求,事件类接口也得有;为了完成跨链交易验证,就得拿到各个链的区块头,因此,状态类接口也需要。

虽然每个分类都有不少接口,但只有各个区块链通用的接口交集才是跨链的接口基础。由此可见,跨链的功能需求是相对确定的,涉及的接口数量也可以收敛。

既然已经确定跨链接口的基调,那么跨链到底需要哪几个接口?首先需要明确一点,跨链平台的接口设计包含两个层面,面向上层业务提供的服务接口,以及面向各类异构区块链平台的交互接口。

大家熟悉的HTTP协议将所有网络访问操作抽象成了GET(获取数据)和POST(提交数据)两种方法。在跨链场景中有跨链资产流通、资源原子兑换、信息获取、数据跨链更新以及关联交易等众多需求,它们本质是获取链上数据或更新链上数据。

因此,在服务接口方面,我们借鉴互联网的成功经验,对跨链行为进行抽象凝练,发现只需要包含以下三个即可:

初始化:跨链资源初始化接口,例如部署智能合约;

读接口:获取链上信息,面向只读场景;

写接口:更新链上数据,面向跨链发交易场景。

跨链访问除了获取和发送数据外,还肩负了跨链可信验证以及跨链事务保证的使命,这依赖于区块头同步、跨链交易验证以及跨链事件监听等功能。通过对交互过程进行抽象凝练,跨链还需要以下三个交互接口:

获取块高:查询当前块高以完成区块头同步;

获取区块:查询区块头等信息完成跨链交易验证;

注册事件:用于监听跨链事件。

有了上层服务和底层交互6个接口,便能打通业务层到区块链之间的信息链路,同时也为跨链应用屏蔽了不同区块链平台在接口访问协议上的差异性,通过统一的数据协议和调用格式完成与多条区块链的交互。

WeCross的接口实现基于上述思路完成。WeCross包括跨链路由(router)和跨链适配器(stub)两个核心组件,其中跨链适配器以插件的方式集成到跨链路由中。

跨链路由向外提供的三个主要服务接口分别是call、sendTransaction和customCommand。其中call和sendTransaction用于合约的调用,customCommand用于其它自定义命令如合约部署,也为平台保留扩展的可能性,以适应不断发展的跨链需求。

跨链适配器定义了6个核心区块链操作接口,包括call、sendTransaction、customCommand、getBlockNumber、getBlock和registerEvent。

其中前三个与服务接口对应,getBlockNumber和getBlock分别用于区块头同步和跨链交易验证,registerEvent用于监听跨链事件。

在开发不同区块链的跨链适配器时,只需要实现上述6个接口便可基于插件化的方式完成异构区块链的接入。

跨链路由管理不同区块链的跨链适配器,当收到来自业务层的调用请求,通过请求包中的调用目标字段确定该请求的最终去向,然后挑选对应的跨链适配器完成请求的转发,最终完成一次跨链调用。

基于上述接口,WeCross目前已实现对基于HTLC的跨链资产原子兑换、基于2PC的跨链事务等功能的支持,并面向数字存证场景完成多种跨链功能验证。

跨链技术尚处探索阶段,从业务实用性考虑,接口协议设计应去繁从简,“小而美”胜过“大而全”。

随着区块链平台发展以及跨链需求的不断演化,跨链接口也会与时俱进,不断改进和完善,迭代式前行。目前,跨链6个接口就能应对!未来,WeCross社区和你一起,见招拆招!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

XRPDEFI:以逻辑为工具 轻松看懂 DeFi:DEX 篇_BLOC

不管一个DeFi 协议、甚至整个DeFi 世界看上去多么陌生和复杂,它本身都是传统金融逻辑(比如交易工具逻辑和借贷工具逻辑),加上适用于区块链或由区块链引发的新逻辑,再加上一点新设计以改进性能.

[0:15ms0-3:200ms