月亮链 月亮链
Ctrl+D收藏月亮链
首页 > Coinw > 正文

RPC:一文读懂「跨链网关的模块化进程」插件机制演化_RPC币

作者:

时间:1900/1/1 0:00:00

——背景——

当前,区块链跨链平台的接入方式在架构设计上存在着较大差异,如何将应用链快速、便捷地接入跨链系统是一个亟待解决的问题。趣链BitXHub跨链服务平台采用中继链+网关的跨链方案,其中,跨链网关担任着区块链间收集和传播交易的角色。采用插件机制的设计将网关与应用链交互的模块与跨链网关核心功能模块进行解耦,从而实现不同种类应用链高效地接入跨链系统。在Pier运行时,通过动态加载插件的方式完成不同应用链的灵活适配。为了更好的提升Pier与应用链的交互能力,具体应用链插件需要根据不同区块链的特性实现具体的接口,交互接口需要满足以下几个功能:

1)监听应用链上的跨链事件并传给核心模块进行处理;

2)执行来自于网关发出的跨链请求;

IMF报告:鉴于加密货币既是投资又是货币,适当的税收处理变得更加复杂:金色财经报道,国际货币基金组织(IMF)研究人员发表了一份工作论文,描述了征收与加密货币相关的税款所面临的挑战。该报告强调了鉴于加密货币既是投资又是货币,适当的税收处理变得更加复杂。它还解释了加密货币系统的假名性质如何使税法的收集和执行变得更加困难。在大多数情况下,加密货币如何被视为财产来缴纳所得税。

这意味着它们通常要缴纳资本利得税,这给那些选择使用它们进行交易的人增加了巨大的管理负担,并且需要对每笔交易进行计算。对于增值税(VAT)和销售税,国际货币基金组织强调了假名性质如何使征收变得困难,并且由于价格波动而需要准确记录交易何时发生。它还强调了如何向加密货币矿工对新铸造的代币征收增值税。[2023/7/6 22:20:01]

3)能够主动查询应用链上已收到和已执行的跨链请求状态。

衍生品协议SynFutures Public Beta V2将在Polygon上线:金色财经报道,衍生品协议SynFutures将很快推出其衍生品去中心化交易所的 V2 版本。 最初的 V2 发布将在Polygon上进行,并计划最终将去中心化交易所扩展到 Arbitrum、Polygon zkEVM 和 zkSync。SynFutures 的联合创始人 Matthew Liu透露,V2 的推出将引入一项名为“DAO 期货”的新功能。(blockworks)[2023/5/4 14:41:18]

在插件实现方案的设计中,我们先后采用了两种不同的插件机制,下面就来介绍一下我们使用原生插件时碰到的问题以及新插件方案的优势。

——原生插件——

go语言从1.13版本开始支持编译为插件,使用方式如下

数字藏品国内周指数大幅回升至153.4点:金色财经报道,据同伴客数据显示,上周(2022年12月26日-2023年1月2日)数字藏品国际周指数下跌5.1至17.3点,国内周指数大幅回升86.9点至153.4点,数字藏品综合价值周指数上升31.6点至71.8点。

备注:

· 数字藏品综合价值指数由同伴客数据与链境Labs联合研发,是对国际及国内当月市场热度最高的数字艺术品项目市场总销售规模的综合反映,以2021年11月份销售额的30分之7为基数,指数基值为100。

·国内周指数成分之一的幻核于8月16日发布平台终止运营公告,但销量已于7月10日后归零。为遵循去掉某一成分后指数计算结果无变化的原则,该指数使用幻核7/4-7/10的销售数据进行销售基数调整,并将新的销售基数作为8/14后的指数计算基数。[2023/1/3 22:22:52]

gobuild--buildmode=plugin-oappchain.so*.gogo项目在编译时可以通过--buildmode指定为插件模式,这种方式将输出为动态链接文件。该文件并非可直接运行的二进制文件,而是提供给其他二进制运行时的动态调用。

报告:全球区块链技术市场规模预计2030将达到690亿美元左右:金色财经报道,根据Custom Market Insights发布的市场研究报告,2021年全球区块链技术市场规模和份额收入的需求分析价值约为48亿美元,预计2030 将达到690亿美元左右,2022年至2030年的复合年增长率为 68%。报告中列出了主要市场参与者及其销售额、收入和战略,包括 IBM、AWS、英特尔、Infosys、NTT Data 等。[2022/8/26 12:50:19]

在主二进制文件中的使用方式如下:

总结来说原生插件具有以下特点:

优点:

1)?使用体验和原生代码一致,类似于代码模块的二进制化;

2)?效率较高,插件直接在主程序进程空间中运行。

缺点:

1)原生插件中的依赖库与主程序必须保持完全一致,否则启动的时候会报错,而且不论这个依赖是直接引用还是间接引用,都会出现这个问题。

——转战RPC插件——

原生插件中严厉的版本限制,使得在升级插件和或网关主程序功能时,可能因为无意升级了主程序某些依赖,插件也必须作出相同的适配升级。这种方式不利于插件的完全解耦,因此我们转向了另外一个使用RPC方式的GO插件项目。

在GO原生支持的插件机制出现之前,hashicorp的go-plugin就已经存在,不过GO原生插件出来之后,他们也并没有放弃对该项目的支持,因为总的来说原生插件并不是很完善,在某些场景下还是go-plugin更方便。

go-plugin插件的使用方式如下:

简单来说,go-plugin项目实现的插件方式采用了C/S模式,主程序作为RPCClient,具体插件作为RPCServer,Server和Client通信也是基于的interface接口规范来通信。

具体使用流程如下:

1)抽象需要插件化的interface,这里直接复用原生插件中使用的接口定义即可;

2)针对Client端和Server端,都实现上述接口。Server端的实现是具体的插件处理逻辑部分的代码;Client端的实现只需封装一下gRPC处理的结果和异常信息,之后便可以做到主程序在使用插件时对于gRPC的弱感知化。

Server实现部分:

Client实现部分:

▲额外需要注意的是:

插件中需要调用plugin.Serve来授权主程序使用自己的RPC服务。这里需要注意的是,主程序和插件通信前需要进行握手,主要包括确认该插件的版本信息。主程序使用plugin.Client对象启动插件,该插件是运行在另一个进程中的,所以插件崩溃并不会影响到主程序。client与server在使用中实际上是通过进程间Socket来完成通信,这虽然牺牲了一定的性能却换来了原生插件的单进程方案所不具备的依赖解耦?多语言支持等灵活应用。——结语——

go-plugin提供两种通信方式的选择,一种是GRPC,一种是GO语言标准库中自带的net/rpc。GRPC插件的好处是可以采用不同的语言来实现,并且Googleprotobuf也是支持多语言的。网关插件本质上已成为连接应用链并实现对网关提供RPC服务的桥梁,开发者在跨语言编写插件时的阻碍会大大降低,在面对不同应用链特性时也能做到更加可靠与简洁的逻辑呈现。

作者简介

王荻矣?趣链科技数据网格实验室BitXHub团队

标签:RPC应用链PLUGGINRPC币plugchain币是那国发行的PIGINU价格

Coinw热门资讯
比特币:加密矿企HIVE Blockchain宣布延迟提交年度财务报表_比特币sv和比特币区别

据雅虎财经7月30日消息,加密矿企HIVEBlockchain宣布,由于审计工作延迟完成,公司将无法在2021年7月29日前提交截至2021年3月31日的财政年度的财务报表和随附的管理层讨论和分.

1900/1/1 0:00:00
NFT:加密朋克:NFT领域的“比特币”_以太坊

这段时间,在NFT的各个项目中,除了AxieInfinity,恐怕听到最多的就是和加密朋克相关的新闻了。尤其这两周,来自机构投资者疯狂买入加密朋克的新闻已经在海外掀起狂潮.

1900/1/1 0:00:00
ASH:Zcash创始人:Zcash应转向权益证明_SwiftCash

巴比特讯,TheBlock消息,ElectricCoinCompany首席执行官兼Zcash创始人ZookoWilcox在一篇博客文章中提议.

1900/1/1 0:00:00
数字人:观察|央行首次发布数字人民币白皮书,这3个细节值得关注_AGS

澎湃新闻记者:叶映荷来源:澎湃新闻7月16日,央行数字人民币研发工作组发布《数字人民币研发进展白皮书》,全面阐释数字人民币体系的研发背景、目标愿景、设计框架及相关政策考虑.

1900/1/1 0:00:00
区块链:《2021年中国城市区块链综合指数报告(第二季度)》正式发布,北京依靠巨大的领先优势,独占第一梯队_Dapper Labs

7月16日,《2021年中国城市区块链综合指数报告》重磅发布,报告主要盘点4月-6月我国区块链产业的动态热点,从多个维度客观分析中国各城市的区块链发展情况.

1900/1/1 0:00:00
区块链:下一个颠覆的领域:区块链如何影响审计行业?(中)_区块链赚钱是什么模式

链集市?·让区块链落地更简单 《区块链行业观察》专栏·第37?篇作者丨Najoua?Elommal.

1900/1/1 0:00:00