前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ChemRxiv|阿斯利康REINVENT4:现代AI驱动的分子设计

ChemRxiv|阿斯利康REINVENT4:现代AI驱动的分子设计

作者头像
智药邦
发布于 2024-03-05 08:35:06
发布于 2024-03-05 08:35:06
9770
举报
文章被收录于专栏:智药邦智药邦

2023年11月6日,来自阿斯利康(瑞典)的Hannes Loeffler等人在ChemRxiv发表文章REINVENT4: Modern AI–Driven Generative Molecule Design。

REINVENT4是一个用于小分子设计的现代开源生成式人工智能框架。该软件利用递归神经网络和transformer架构来驱动分子生成。生成器被无缝嵌入到通用机器学习优化算法的迁移学习、强化学习和课程学习 (Curriculum Learning) 中。

本文介绍了REINVENT4的设计原理,详细讨论了其算法及应用,旨在为基于人工智能的分子生成中一些最常见的算法提供参考工具,以及为基于人工智能的分子设计的教育和未来创新创建一个框架。

REINVENT4支持并促进从头设计、R基团置换、文库设计、linker设计、骨架跳跃和分子优化。

该软件可从以下网址获取:

https://github.com/ MolecularAI/REINVENT4

1 引言

人工智能在药物发现中的应用一直备受争议和质疑。因此,提供生成式分子设计最常用算法的参考工具,以促进有益的讨论,对科学界具有很高的价值。

针对生成式分子设计,人们已经开发了许多人工智能模型架构,例如变异自动编码器(VAE)、生成对抗网络(GAN)、递归神经网络(RNN)和transformer、流模型和扩散模型(可直接生成三维模型或从一维 SMILES 字符串生成)、基于反应的模型。所有这些方法都有各自的相对优点,没有一种解决方案能完全优于其他方法。

分子设计可以看作是一个逆向设计问题。在正向设计中,我们会对现有化合物进行修改,直到它们符合我们的标准;而逆向设计则首先要说明分子必须具备的特性,从而为如何创造分子提供算法信息。药物分子必须遵循严格的特性要求,包括:对靶点的亲和性、对非靶点的选择性、正确的物理化学特性、正确的 ADME特性、良好的 PK/PD(药代动力学/药效学)、有利的毒理学、化学稳定性。此外,非常重要的还有可合成性、放大合成路线的潜力以及绿色环保的要求。

此外,分子设计应被视为DMTA(design - make - tests - analyse,即设计-制造-测试-分析)循环的一部分。生成模型可以为设计部分做出贡献,而机器人系统则可以为制造、测试和分析做出贡献,从而创建一个全自动闭环实验系统。

REINVENT通过强化学习解决逆向设计问题,使用基于SMILES字符串作为分子表征的RNN和transformer作为深度学习架构。

此前的版本介绍参见本公众号文章:REINVENT2.0:阿斯利康基于AI的从头药物设计工具

本文将介绍REINVENT新的第4版,重点介绍以下新功能:结合强化/课程学习(RL/CL)的分阶段学习、用于分子优化的新transformer模型、所有算法框架内所有生成器的完全集成、重新设计的评分子系统(利用插件机制进行轻松扩展)以及除 JSON 格式外的 TOML 配置文件格式(与之前的版本不兼容)。

REINVENT已被证明在样本效率方面优于许多其他分子优化方法,而且在提出逼真的三维分子方面也很成功,超过了许多基于图的方法。

表1 展示了REINVENT4与之前的2.0版和DrugEx 3版的功能对比。DrugEx是另一款开源的生成式人工智能软件,其思路与REINVENT相似,由荷兰莱顿药物研究中心的Gerard J. P. van Westen等人提出。

表 1:REINVENT和DrugEx的主要功能比较

2 原理

2.1 分子生成

所有REINVENT4模型都由基于序列的神经网络模型组成,这些模型被参数化,以自动回归的方式捕捉生成标记(tokens) t 的概率。这些模型被称为代理。序列描述了代表分子的SMILES字符串。标记是SMILES字符串中的字符或字符组合。标记来自一个在训练时创建的固定词汇表 t∈V。REINVENT4 支持无条件代理和有条件代理,它们描述了来自V的序列的概率分布。

与以前的版本一样,REINVENT4提供了一些先验代理。这些都是基础模型,使用来自大型公共分子数据集的SMILES字符串,以无监督的方式通过教师强制(teacher-forcing)进行训练。在训练过程中,教师强迫策略将数据集的实际输出作为模型的输入,而不是网络生成的输出。

经过训练后,REINVENT4代理就能理解SMILES字符串的语法,从而生成有效的分子。在实践中,这相当于更新模型的权重。

由于模型是以相同的方式对所有输入分子进行训练的,因此前验代表了无偏的分子生成器(不过,由于训练集的化学空间有限,前验仍然是有偏的),从而导致理论上训练分子的均匀分布。这些模型所具有的分子取样能力不仅仅是对训练数据进行再取样。

例如,在 100万个分子上训练的先验可以轻松采样1亿个独特、有效的分子。在同一分子的多个等效SMILES表示上训练先验,已被证明能得到更具表现力的先验。

REINVENT4支持两种解码策略,即多项式采样(multinomial sampling)和波束搜索(beam search)。多项式采样可以快速、非确定性地生成化合物。相比之下,波束搜索是一种确定性方法,总是能生成唯一的化合物。

2.2 迁移学习

迁移学习(TL)是指重新利用现有知识来促进另一项相关任务学习的方法。在机器学习中,这种方法通常用于用少量数据重新训练一个大型模型,从而有效地获得改进后的新模型。因此,TL可被视为对现有模型的微调。

在REINVENT4中,迁移学习的概念是使用与预训练先验模型相同的教师强迫策略对先验模型进行再训练。REINVENT4会选择一个以任务为中心的小型数据集,例如一个包含特定药物靶点活性分子的数据集。然后,TL创建一个新的代理,专门用于生成这些活性分子的类似物。这样,代理就能更快地生成相关分子。

2.3 强化学习

强化学习(RL)描述了机器学习中的各种优化方法,其中代理在环境中采取行动以学习策略(策略或目标)。当行动对目标有利时,代理会得到奖励;当行动无益时,代理会收到负反馈。

RL是药物发现中经常使用的优化方法。

图 1:先验、迁移学习代理和强化/阶段学习代理的理想化行为图示

在REINVENT中,RL 被用来对代理(通常是先验学习或迁移学习代理)生成的分子进行迭代偏置(图 1)。

3 方法

3.1 强化学习

强化学习(RL)是REINVENT的主要分子优化方法。在新版本中,RL被重新构建为分阶段学习,允许在参数不同的情况下连续运行多个RL。

每个阶段都会写出一个CSV文件,其中包含负对数似然值、总分和单个组件分数以及采样的SMILES字符串等所有信息。CSV文件是实时创建的,即每个RL时程都会立即写入磁盘(操作系统可能会设置缓冲,使文件分块写入)。这意味着CSV中的数据未经过滤,也就是说无效的SMILES和低分化合物也会被记录下来。用户有责任对该文件进行有意义的后处理。

3.1.1 RL学习策略

此前,REINVENT中描述了四种不同的RL学习策略,结果发现,DAP的学习率最高,而其他策略的学习率几乎没有提高。REINVENT第4版仍然提供所有四种功能,但在实际使用中,推荐使用DAP。

3.1.2 Diversity Filter

顾名思义,多样性过滤器(Diversity Filter)是一种在RL运行过程中促进分子多样性的机制。它主要基于骨架多样性,使用一个用户可调整大小的存储器。存储器被组织成一个个"桶",这些"桶"中存放着给定的骨架。当"桶"满时,该骨架的每一次出现都会导致整个分子的得分为零。

在目前的实现中,所有骨架过滤器还包含一个大小为1的全局SMILES字符串存储器。这意味着,相同的标准SMILES字符串每出现一次,其得分都为0。这既发生在本地,即一个批次内,也发生在全局,即整个运行过程中。

有一种特殊的"过滤器"只对出现相同分子的情况进行惩罚,而不属于上述任何骨架过滤器。建议在Mol2Mol生成器中使用这种惩罚。用户可以将惩罚因子调整为0至1。

3.1.3 初始化

起始阶段(又称经验重放)对理想分子的学习率和采样率有深远影响。在REINVENT中,它是一种记忆得分最高分子的机制,除了根据当前采样批次的得分计算损失外,还利用这些得分来计算损失。这意味着总损失由两部分计算得出:批次损失和初始损失。用户可以调整造成初始损失的分子数,也可以调整用于计算初始损失的内存中随机抽样的分子数。目前,该存储器仅适用于最初的Reinvent分子生成器。

萌生记忆(inception memory)可以使用用户提供的SMILES字符串作为种子,以引导RL进入化学空间的所需部分。需要注意的是,如果这些分子在当前选择的评分函数中得分不高,则可能在运行初期就会从内存中删除。随着RL运行的进行,每一步都会产生得分更高的分子。这也意味着,根据初始存储器的大小和从存储器中采样的SMILES字符串的数量,总损失以及最终生成的新分子开始由存储器中得分最高的化合物主导。

3.1.4 其他参数

用户可以调整批量大小,即每一步采样的SMILES 字符串数量。虽然改变这一参数可以影响RL运行中的学习率,但应注意的是,批量大小也会影响随机梯度算法(Adam)的收敛性。

可以开启随机化SMILES,这有利于LibInvent和LinkInvent运行,在这些运行中使用随机化SMILES训练先验,以提高采样化学空间的通用性并防止过度拟合。随机化SMILES是数据增强的一种形式,有助于用较小的数据集建立稳健的模型。

3.2 运行模式

REINVENT4支持多种"运行模式"。所有运行模式都可以在GPU或CPU上运行。TensorBoard输出分别用于迁移学习和强化学习。图3总结了REINVENT4的基本信息流。

图 3:REINVENT4中的信息流,左侧一行为所有运行模式(绿框)。图中还显示了支持的生成器和评分子系统

3.2.1 评分

该运行模式将输入的SMILES字符串传递给评分子系统,并以CSV文件形式返回结果。CSV文件包含"原始"(未修改,即未转换)和转换形式的SMILES字符串、总分和各单项分值。重复的输入SMILES字符串不会被删除,因此CSV文件可能包含相同的行。

3.2.2 采样

这种运行模式是在TL或RL模型的基础上生成分子。Reinvent不需要输入SMILES,Libinvent需要一个骨架,Linkinvent需要两个弹头,Mol2Mol需要一个输入分子。输出是一个CSV文件,包含采样的SMILES、输入或片段SMILES(如适用)以及采样SMILES的负对数似然值(即正态)。输出的SMILES将被规范化,重复的SMILES将被删除。Mol2Mol支持多项式采样(带温度)或波束搜索。

3.2.3 迁移学习(TL)

迁移学习(TL)可以优化更通用的模型,生成更接近于一组定义输入分子的分子。用户提供先验和SMILES文件,TL将根据分子计算负对数似然,并根据所有分子的平均负对数似然计算损失。这将使当前先验值越来越接近所提供的分子模型。

由于这容易造成过度拟合(模型会开始生成与输入的SMILES字符串完全相同的分子),因此可以提供一个SMILES验证集,让用户监控验证损失。

3.2.4 分阶段学习

分阶段学习基本上就是课程学习(CL),在REINVENT4中是作为多阶段RL实现的。其主要目的是允许用户通过分阶段改变评分函数,以计算出的目标轮廓为条件优化先验模型。通常情况下,这将用于逐步"分阶段"使用计算成本较高的评分函数,例如,在启用对接之前,可以先使用自定义警报和评分函数对分子进行筛选,以评估生成分子的药物相似性。自定义警报是一组不需要的SMARTS化学物质。

REINVENT4可同时提供多个阶段(自动CL)。每个阶段结束后,检查点文件会被写入磁盘,可用于下一阶段(手动CL)。如果达到提供的最大分数或最大步数,则阶段终止。在后一种情况下,所有阶段都将终止。

分阶段学习需要先验和代理模型。先验模型仅用作参考。代理是运行中正在训练的模型。在分阶段学习运行开始时,先验和代理通常是同一个模型文件。当运行终止时,无论是达到终止标准还是用户明确终止运行(Ctrl-C),都会将代表代理当前状态的检查点文件写入磁盘。这个检查点可以作为代理在以后重复使用。

就像采样一样,用户需要根据所需的生成器提供一个包含分子或片段SMILES字符串的文件。从头构建分子的Reinvent不需要这样做。Mol2mol允许使用束搜索和多项式采样策略。

用户可以设置批量大小,以及输入的SMILES是否应该随机化,或者生成的序列是否应该是唯一的。可用的学习策略可以用 σ 来调整,以控制总评分函数对增强对数似然的贡献和学习率。

所有骨架多样性过滤器都需要一个参数来确定每个骨架桶的大小。每个分子SMILES字符串都存储在一个存储器中。两个存储器都有一个最低得分参数,只有当总分超过该值时,才会存储骨架和分子。

每个阶段都可以定义一个评分配置文件,该配置文件也可以从单独的文件中读入,以方便重复使用。当超过最大得分阈值或达到最大步数时,该阶段就会终止。

在检查终止标准之前,用户还可以强制执行最小步数。

3.3 分子生成器

REINVENT4支持多种分子生成器,见图4。生成器是一种基本算法,用于在考虑某些约束条件的情况下创建新分子。

图 4:REINVENT4中的四种分子生成器和工作原理。Reinvent可从头开始创建新分子,Libinvent可修饰骨架,Linkinvent可识别两个片段之间的连接体,Mol2Mol可在用户定义的相似度范围内优化分子。

1.从头设计。这种无约束、无限制的生成器使用RNN按原子顺序逐个构建分子。

2. R基团置换和文库设计。基于RNN的生成器会得到一个骨架,作为构建新分子的模板和约束条件。生成器会用合适的R基团来修饰这个骨架。

3.片段链接和骨架跳跃。两个"弹头"作为约束条件提供给基于RNN的生成器。生成器将创建一个合适的链接器连接两个弹头。一般来说,链接器可以是任何类型的骨架(取决于先验的训练集)。

4.分子优化。向生成器提供一个分子作为约束。生成器会在规定的相似度范围内找到第二个分子。根据相似度半径的不同,分子将与提供的分子相对相似,但重要的是,骨架可以在给定的相似度范围内发生变化。

3.4 评分子系统

强化学习是机器学习中的一种优化算法,用于奖励所需的行为。在这里,它指的是根据用户定义的评分函数集合对分子进行优化。REINVENT4支持大量的评分函数,如表2所示。

表 2:REINVENT4评分功能汇总

许多评分函数涵盖了RDKit工具包中的各种物理化学特性,包括Lipinski's rule of five(Lipinski五规则)和 QED。这些函数的特殊片段版本可用于Linkinvent,因此除了长度评分外,还能对连接子进行单独评分。

对接由通用接口DockStream处理,该接口支持AutoDock Vina、rDock、Hybrid、Glide和GOLD。定量结构-活性关系(QSAR)模型由 Qptuna(待发布)处理。ChemProp提供了另一种使用定向信息传递神经网络(D-MPNN)建立模型的方法。一般工作流仍可使用 ICOLOS创建,但它将被更新的工作流管理器 Maize(待发布)取代。此外,还为调用外部进程的REST服务提供了通用接口,允许对完全任意的评分组件进行编程。形状相似性可通过ROCS计算。可通过SA评分估算可合成性。可通过mmpdb使用匹配的分子对。

评分函数的所有组成部分最终汇总为一个总分。目前的汇总方式是加权算术平均法或加权几何平均法。

3.5 优先级

REINVENT4 提供了一系列现成的前置因子。这些先验都是在ChEMBL上预先训练好的(Mol2Mol 先验除外,它是在PubChem上训练好的),而且是针对每种生成器的。

表4总结了目前所有可用的先验。

表4:REINVENT4 先验概要

3.6 软件

该软件可从github.获取,并根据Apache 2.0许可发布。REINVENT4使用Python 3开发。目前所需的最低版本为3.10。在化学信息处理方面,使用2022.9版的RDKit。事实上,任何最新版本的RDKit都足够。在可视化方面,REINVENT支持TensorBoard,可将RL和采样运行中生成的分子和各种统计数据记录为易于解释的图形。由于输入配置的布局发生了变化,REINVENT4基本上无法向后兼容以前的版本。但仍可使用JSON作为输入文件格式。

4 结论

REINVENT 4既是前几个版本的延续,又在功能上进行了重大更新,包括分阶段学习、transformer模型、优化算法的一致框架以及适合未来挑战的重新设计的评分子系统。我们希望化学人工智能社区能从分子生成软件的参考实施发布中获益匪浅,该软件将作为开源软件发布,并提供所有文档指导用户使用。

该软件获取地址

https://github.com/MolecularAI/REINVENT4

参考资料

https://chemrxiv.org/engage/chemrxiv/article-details/65463cafc573f893f1cae33a

--------- End ---------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智药邦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​【刘文彬】以太坊RPC机制与API实例
原文链接:醒者呆的博客园,https://www.cnblogs.com/Evsward/p/eth-rpc.html
圆方圆学院
2018/12/24
1.9K0
探索查看以太坊交易池的方法
以太坊主网的内存池(称为交易池或 txpool)是动态内存中的区域,在那有待处理的交易驻留在其中,之后它们会被静态地包含在一个块中。
Tiny熊
2022/11/07
2.1K0
探索查看以太坊交易池的方法
以太坊应用开发接口:JSON RPC API
以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。
用户1408045
2019/03/12
1.6K0
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
作者:sunsama@知道创宇404区块链安全研究团队 时间:2018/07/10
Seebug漏洞平台
2018/07/26
6310
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
动手编写一个以太坊智能合约
如何部署、调用智能合约 1RPC 之前的章节中讲到了怎么写、部署合约以及与合约互动(点击阅读上一章节)。现在该讲讲与以太坊网络和智能合约沟通的细节了。 一个以太坊节点提供一个RPC界面。这个界面给Ðapp(去中心化应用)访问以太坊区块链的权限和节点提供的功能,比如编译智能合约代码,它用JSON-RPC 2.0规范(不支持提醒和命名的参数) 的子集作为序列化协议,在HTTP和IPC (linux/OSX上的unix域接口,在Windows上叫pipe’s)上可用。 2惯例 RPC界面会使用一些惯例,但它们不是
区块链大本营
2018/05/10
7080
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
为了迎合以太坊区块链1发展需求,Microsoft Azure2早在2016年9月九推出了以太坊节点走自动部署的模块。部署情况如下:
Seebug漏洞平台
2018/07/12
1.1K0
探路以太坊
关键字:以太坊,加密货币,crowdsale,geth,console,web3.js 以太坊简介 一句话简介:以太坊是一个基于功能齐全的编程语言构建的众多去中心化区块链应用的平台。 下面来解读一下这句话: 平台:首先以太坊是一个平台,这个平台上面有很多应用。 应用:这些应用是是去中心化的,基于区块链技术。所以这些应用可以实现永不停歇,因为它是分布式的,去中心化的,基于P2P网络的,这些应用被管理在以太坊钱包上面。 钱包:以太坊钱包,本质上以太坊钱包也是其中一个应用,它是一个网关,可以管理所有基
文彬
2018/05/03
2K0
python通过web3py链接以太坊区块链节点的几种方式
通信服务提供接口是web3如何与区块链交互的关键。接口接受JSON-RPC请求并返回响应。这通常通过将请求提交给基于HTTP或IPC套接字的服务器来完成。
笔阁
2018/10/25
2.9K0
以太坊客户端Ethereum Wallet与Geth区别简介
程序新视界
2018/01/08
2.2K0
【深度知识】RPC原理及以太坊RPC的实现
Remote Procedure Calls 远程过程调用 (RPC) 是一种协议,就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。 通常的实现有XML-RPC , JSON-RPC ,通信方式基本相同, 所不同的只是传输数据的格式。
辉哥
2019/08/08
3.4K0
区块链与以太坊实战(5):访问以太坊节点的N中方式
本文主要介绍用web3.js访问以太坊节点的几种方式,主要包括HTTP和Web两种访问方式。
蒙娜丽宁
2020/07/15
2.5K0
理解以太坊: Go-Ethereum 源码剖析(0): Geth Start
Geth[2] 是基于 Go 语言开发以太坊的客户端,它实现了 Ethereum 协议(黄皮书)中所有需要的实现的功能模块,包括状态管理,挖矿,P2P 网络通信,密码学,数据库,EVM 解释器等。我们可以通过启动 Geth 来运行一个 Ethereum 的节点。Go-ethereum 是包含了 Geth 在内的一个代码库,它包含了 Geth,以及编译 Geth 所需要的其他代码。在本系列中,我们会深入 Go-ethereum 代码库,从 High-level 的 API 接口出发,沿着 Ethereum 主 Workflow,从而理解 Ethereum 具体实现的细节。
Tiny熊
2022/05/25
2.3K0
福利|评价超高的《精通以太坊》丛书免费送,还包邮!手慢无
在去中心化应用中,发送给节点的请求通常被称为“交易”。交易和普通的请求有很大不同,即交易的数据经过用户个人签名之后发送到节点。
区块链大本营
2018/11/07
1.2K0
第三课 以太坊术语说明及开发者资源列表
也称钱包,提供账户管理、挖矿、转账、智能合约的部署和执行等等功能,以太坊节点利用以太坊客户端接入到以太坊网络。 现在以太坊客户端主要有:Wallent/ist , Geth, Parity, Harmony,
辉哥
2018/08/10
7960
第三课 以太坊术语说明及开发者资源列表
金钱难寐,大盗独行——以太坊 JSON-RPC 接口多种盗币手法大揭秘
2010年,Laszlo 使用 10000 个比特币购买了两张价值25美元的披萨被认为是比特币在现实世界中的第一笔交易。
Seebug漏洞平台
2018/08/16
1.3K0
金钱难寐,大盗独行——以太坊 JSON-RPC 接口多种盗币手法大揭秘
以太坊介绍和使用
以太坊是一个能够在区块链上实现智能合约、开源的底层系统。换言之,以太坊是可编程的区块链,它并不是给用户一系列预先设定好的操作(例如比特币交易),而是允许用户按照自己的意愿创建复杂的操作。这样一来,以太坊是就可以作为多种类型去中心化区块链应用的平台,这些应用比如包括之前很火的各种代币但并不仅限于此,我们可以做很多除了代币之外的东西,比如你可以输出一行代表自己不是外行身份的hello world,或者在上面做一个简单的计算器,总之你可以在上面实现你想要的任何功能。
fnatic
2022/07/15
37.4K0
干货 | 以太坊工具集合,解决你的入门困难
如果你是一名区块链或以太坊新手,一开始接触以太坊生态系统中的工具和技术时很可能会像我一样一头雾水。为了让大家对以太坊的技术生态有一个整体的了解,并熟悉各部分的组合,本篇文章就将对以太坊学习中经常会遇到
区块链大本营
2018/06/19
9110
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
通过各方资料了解学习之后,决定自己开始搭建基于以太坊go-ethereum的私有链环境。由于本人的电脑系统为win8,为避免window环境出现过多莫名其妙的问题,特意通过vm搭建了一台ubuntu16.04版本的虚拟系统。以下内容均基于ubuntu16.04系统。
程序新视界
2022/05/06
9520
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
web3j开发java或android以太坊智能合约快速入门
web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。
笔阁
2018/09/04
2.5K0
以太坊中GraphQL简介及使用
以太坊在去年升级的go-ethereum(geth)1.9.0大版本,除了性能得到大幅提升之外,引入了GraphQL,一种节点接口查询机制,用以补充JSON-RPC。
Tiny熊
2020/06/01
1.6K0
以太坊中GraphQL简介及使用
推荐阅读
相关推荐
​【刘文彬】以太坊RPC机制与API实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档