# 炼金术Alchemy开放接口一览

By [Two Yang](https://paragraph.com/@two-yang) · 2022-04-12

---

Alchemy于今年2月初获得2亿美金的融资，估值102亿美金。Alchemy 是一个 Web3 开发者平台，专注于简化区块链开发。 其目标是构建了一套开发人员工具、增强的 API 和卓越的节点基础设施，以无缝构建和运行区块链应用程序。

比如提供Web3脚本、智能合约开发套件、NFT开发套件，还有热门公链的全节点json-rpc服务，和自研的数据集成查询接口。

Enhanced API
------------

增强接口分为NFT、历史交易、交易凭证、通证、交易调试、域名解析六大类，涉及以太坊、马蹄、Flow三个公链，Arbitrum二层链。还有些计划接入的链。

NFT模块是获取NFT相关的基础信息，如元数据、拥有者等。历史交易和交易凭证模块，都是获取交易的基础信息。通证模块是获取通证的元数据和余额等信息。交易调试模块是获取交易执行过程的调试数据。域名解析模块，是域名和地址的正解析和反解析。

使用增强接口的好处有两个，一是节约资源，如果向全节点查询数据，那么将消耗更多的资源。二是节约时间，该接口将多个公链的数据做好整合，自己也不用维护公链接口的变更和可用性。

Ethereum API
------------

以太坊接口模块，支持标准的JSON-RPC调用。

区块的接口三个，获取当前区块高度，通过哈希和高度获取区块元数据。

交易元数据接口有三个，通过哈希获取、通过块哈希获取、通过块高度获取。

交易数量接口有三个，获取单个地址的交易数量、通过块哈希或块高度获取块上的交易数量。

交易凭证接口一个，通过交易哈希获取交易凭证。该接口返回的数据有日志列表，一些二层网络会将交易信息打包后放到日志中，以减少气费，因为日志存储的价格更低。

执行交易接口一个，但需要先对交易进行签名调用，但签名的接口未提供。

执行消息接口一个，常用来执行智能合约的公开函数。

地址相关的接口两个，如获取余额、判断地址是合约还是钱包。

存储接口两个，获取指定存储的数据，判断数据是否被篡改。

版本相关接口三个，获取以太坊协议号，获取网络类型（是主网、测试网等）、客户端版本号。

气费接口四个，查询当前气费、历史气费、预估交易的执行气费、预估交易优先执行的气费。

日志相关接口两个，查询历史日志、通过过滤器获取日志。

过滤器接口六个，创建过滤器，创建新块到来的过滤器、创建新交易到来的过滤器，通过过滤器获取日志两个、删除过滤器。

工具接口一个，进行Keccak-256签名，注意不是标准的SHA3-256，有很多库使用的标准SHA3，两种算法计算出来的签名是不一样的，使用第三方库时要特别关注。

订阅类接口两个，执行订阅和取消订阅，订阅主要可以监听到来的交易、事件、日志等数据。

叔块接口四个。在以太坊中，不能并入主链的区块如果被后来的区块通过Uncle字段收留，则这些块就会成为叔块。

提供的接口共计有四十个，调用原生接口的好处是数据更可靠，避免对增强接口的数据理解有偏差，造成获取的数据无效。坏处就是资源成本和时间成本可能会偏高。

其他公链
----

马蹄、Arbitrum、Optimism和以太坊都大同小异，特殊处在于增加少数的自定义接口。

如马蹄增加了获取验证者、推荐者信息的接口。

Flow链的接口是基于gRPC的，gRPC关注实体就可以了。

Flow中实体主要有区块、交易、账号、事件。区块相关的有区块头、区块、印章区块。交易有交易集合、交易签名等。

Crypto.com链因为是使用Cosmos-SDK搭建的，因此架构跟Cosmos是一样的。原来的老币安链（不是现在的币安智能链），Terra（LUNA）也都是Cosmos-SDK搭建的。

像索拉纳和雪崩，暂时还没接入，但文档有提到在开发计划中。

---

*Originally published on [Two Yang](https://paragraph.com/@two-yang/alchemy)*
