如何获取以太坊上的代币、交易、元数据、NFT 和价格

什么是ETHAPI?ETHAPI(“以太坊API”的缩写)本质上是一组协议、方法和规则,可让您轻松地与以太坊区块链进行交互,从而可以轻松地将链上数据和Web3功能集成到您的去中心化应用程序(dapps)中!Web3开发最具挑战性的部分之一是建立与以太坊和其他区块链通信所

<!--StartFragment-->

什么是 ETH API? 

ETH API(“以太坊 API” 的缩写)本质上是一组协议、方法和规则,可让您轻松地与以太坊区块链进行交互,从而可以轻松地将链上数据和 Web3 功能集成到您的去中心化应用程序(dapps)中! <!--EndFragment-->

Blog-What-is-an-ETH-API-.jpg <!--StartFragment-->

Web3 开发最具挑战性的部分之一是建立与以太坊和其他区块链通信所需的基础设施。从头开始做这件事需要大量的开发时间、资源和该领域的技术熟练程度。幸运的是,这就是 ETH API 等工具发挥作用的地方。

ETH API 是一种工具,可让您轻松集成钱包功能、获取 NFT 余额、实时获取交易、查询代币价格等。而且,由于您可以利用已经预先制作的协议和方法,因此在构建 dapp 时无需重新发明轮子。 

总而言之,ETH API 是允许您在以太坊网络上更快、更智能、更高效地构建 Web3 项目的工具。使用 ETH API 可以让您在开发工作中节省大量时间和资源!

<!--EndFragment--> <!--StartFragment-->

钱包 API 

<!--EndFragment--> <!--StartFragment-->

如果您想要构建 Web3 钱包或将钱包功能集成到您的 dapp 中, Moralis 的Wallet API是您的终极工具。此界面拥有广泛的功能、无与伦比的可扩展性和高度的灵活性。它支持所有主要 EVM 区块链网络中的 5 亿多个地址! 

此外,只需几行代码,您就可以轻松使用 Wallet API 获取任何钱包的原生余额、NFT 余额、交易历史记录、美元净值等。为了展示这种可访问性,以下是三个突出端点的示例: 

  • getNativeBalance()– 获取任何钱包的原生余额:

const response = await Moralis.EvmApi.balance.getNativeBala <!--EndFragment-->

const response = await Moralis.EvmApi.balance.getNativeBalance({
  "chain": "0x1",
  "address": "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022"
});

<!--StartFragment-->

  • getWalletTokenBalances() – 获取任意钱包的 ERC-20 代币余额: <!--EndFragment-->
const response = await Moralis.EvmApi.token.getWalletTokenBalances({
  "chain": "0x1",
  "address": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326"
});

<!--StartFragment-->

  • getWalletNFTs()– 查询任意钱包持有的所有 NFT 数组: 

<!--EndFragment-->

const response = await Moralis.EvmApi.nft.getWalletNFTs({
  "chain": "0x1",
  "address": "0xff3879b8a363aed92a6eaba8f61f1a96a9ec3c1e"
});

<!--StartFragment-->

NFT API 

NFT API是获取 NFT 数据并将其集成到 dapp 中的终极接口。它支持所有主要区块链网络中的 300 多万个 NFT 集合。其中包括从几秒钟前掉落的代币到 CryptoPunks 和 Pudgy Penguins 等成熟集合! 

借助此工具,您只需调用一次 API 即可无缝获取 NFT 转账、元数据、价格等信息。此外,NFT API 还提供高级垃圾邮件检测、地址标签和优化图像预览等功能。 

此外,为了简要地向您展示它的工作原理,下面是三个您可能会觉得有用的突出端点示例: 

  • getNFTMetadata()获取任何 NFT 的元数据:

<!--EndFragment-->

const response = await Moralis.EvmApi.nft.getNFTMetadata({
  "chain": "0x1",
  "address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB",
  "tokenId": "1"
});

<!--StartFragment-->

  • getWalletNFTTransfers()– 查询任意钱包的所有NFT转账: 
const response = await Moralis.EvmApi.nft.getWalletNFTTransfers({
  "chain": "0x1",
  "address": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326"
});

<!--StartFragment-->

  • getNFTLowestPrice()– 获得任何 NFT 合约的最低售价:

<!--EndFragment-->

const response = await Moralis.EvmApi.nft.getNFTLowestPrice({
  "chain": "0x1",
  "address": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}); 

<!--StartFragment-->

流 API 

使用 Moralis 的Streams API,您可以轻松设置流并通过 webhook 将警报直接发送到 Web3 项目的后端。因此,这是自动实时接收 Web3 事件通知的终极工具! 

此外,Streams API 支持所有主要链上的 4400 多万个地址。您可以使用此工具为所有类型的事件、智能合约、钱包等设置可自定义的警报。 

那么,它是如何工作的呢?

嗯,您可以通过三个简单的步骤来设置流: 

  • 步骤 1:通过选择区块链网络、指定您想要监听的事件以及添加 webhook 目标来配置您的流。 

  • 第 2 步:创建您的流并获取测试 webhook。 

  • 步骤3:将您想要监控的地址添加到您的流中。 

就是这样;使用 Streams API 时获取实时警报就是这么简单! 

此外,要了解有关其工作原理的更多信息,请查看官方Streams API 文档页面! 

三步教程:如何使用 Moralis 的 ETH API 获取链上数据

现在您对 Moralis 的 ETH API 有了更好的了解,我们将在本节中向您展示它在实践中的工作原理。为此,我们将介绍如何使用行业领先的工具获取链上数据的三步教程: 

  1. 获取 Moralis API 密钥
  2. 编写调用 ETH API 的脚本
  3. 运行代码

但是,在我们深入研究本教程的第一步之前,您需要满足一些先决条件! 

先决条件 

ETH API 和 Moralis 与 Python、TypeScript 等编程语言配合得很好。但是,在本教程中,我们将重点介绍 JavaScript。因此,您需要准备好以下内容才能继续: 

  • Node.js v14+
  • NPM/纱线

步骤 1:获取 Moralis API 密钥 

要使用 ETH API,您需要 Moralis API 密钥。因此,如果您还没有注册 Moralis,请先注册! 

从那里,转到管理面板,单击“设置”选项卡,向下滚动到“Api 密钥”部分,然后复制您的密钥: 

现在保存密钥,因为下一步您将需要它来初始化 Moralis SDK。 

步骤 2:编写调用 ETH API 的脚本 

第二步,首先在 IDE 中设置一个新项目。从那里打开一个新终端,“ cd ”进入项目的根文件夹,然后运行此命令来安装 Moralis SDK: 

<!--EndFragment-->

npm install moralis @moralisweb3/common-evm-utils

<!--StartFragment--> 接下来,创建一个新的”index.js”文件并添加以下代码:  <!--EndFragment-->

const Moralis = require("moralis").default;
const { EvmChain } = require("@moralisweb3/common-evm-utils");

const runApp = async() => {
  await Moralis.start({
    apiKey: "YOUR_API_KEY",
    // ...and any other configuration
  });

 //Add the code for calling one of the ETH API endpoints here

}

runApp();

<!--StartFragment-->

从这里开始,您现在需要稍微配置一下代码,您可以YOUR_API_KEY先用上一步复制的密钥进行替换: 

现在,您还需要添加用于调用 ETH API 端点之一的代码。在我们的例子中,我们将使用它getNativeBalance()作为示例。因此,我们将在 Moralis 的初始化下方添加以下代码:

<!--EndFragment-->

//…

const address = '0x26fcbd3afebbe28d0a8684f790c48368d21665b5';

const chain = EvmChain.ETHEREUM;

const response = await Moralis.EvmApi.balance.getNativeBalance({
  address,
  chain,
});

   console.log(response.toJSON());

//…

<!--StartFragment--> 总而言之,您的“index.js”现在应该看起来像这样:  <!--EndFragment-->

const Moralis = require("moralis").default;
const { EvmChain } = require("@moralisweb3/common-evm-utils");

const runApp = async() => {
  await Moralis.start({
    apiKey: "m9D1...",
    // ...and any other configuration
  });

  const address = '0x26fcbd3afebbe28d0a8684f790c48368d21665b5';

  const chain = EvmChain.ETHEREUM;

  const response = await Moralis.EvmApi.balance.getNativeBalance({
    address,
    chain,
  });
    console.log(response.toJSON());
}

runApp();

<!--StartFragment-->

如果您希望查询任何其他数据,只需替换指定参数并调用端点的代码。 

就是这样;现在剩下的就是运行脚本! 

步骤 3:运行代码 

最后一步,打开一个新终端并在项目的根文件夹中运行此命令: 

<!--EndFragment-->

node index.js

<!--StartFragment-->

作为回报,您应该在终端中收到包含请求数据的响应。在我们的例子中 – 由于我们查询了加密钱包的本机余额 – 它看起来会像这样: 

<!--EndFragment-->

{
 "balance": "50930089151337467803762"
}
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
加密女士
加密女士
无代码发币平台