@solana/web3.js 有 ERC721 元数据的 API 吗?

2023-12-10

给定一个代币铸造地址,我正在寻找一种方法来访问 ERC721 代币的元数据。 @solana/web3.js 中有 API 吗?


Solana 将代币元数据存储在从原始代币地址派生的地址中https://docs.solana.com/developing/programming-model/calling- Between-programs#hash-based- generated-program-addresses

参考代码是 Rust 的,这里是来自的实现@solana/web3.js.
(source)

  static async findProgramAddress(
    seeds: Array<Buffer | Uint8Array>,
    programId: PublicKey,
  ): Promise<[PublicKey, number]> {
    let nonce = 255;
    let address;
    while (nonce != 0) {
      try {
        const seedsWithNonce = seeds.concat(Buffer.from([nonce]));
        address = await this.createProgramAddress(seedsWithNonce, programId);
      } catch (err) {
        if (err instanceof TypeError) {
          throw err;
        }
        nonce--;
        continue;
      }
      return [address, nonce];
    }
    throw new Error(`Unable to find a viable program address nonce`);
  }

请注意,元数据使用 base64 进行编码博尔什图书馆, 按照https://docs.metaplex.com/nft-standard#token-metadata-program.

这是一个仅使用 borsh 和 @solana/web3.js 检索和解析元数据的简洁实现https://gist.github.com/dvcrn/c099c9b5a095ffe4ddb6481c22cde5f4

最后,MagicDen 有一个返回元数据的端点:https://api-mainnet.magiceden.io/rpc/getNFTByMintAddress/DugthRKbQZRMcDQQfjnj2HeSjz2VARPC8H9abxdNK2SS

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@solana/web3.js 有 ERC721 元数据的 API 吗? 的相关文章

随机推荐

  • 找不到 Oracle jdbc 驱动程序

    我对 java 和数据库连接很陌生 我正在尝试与 Oracle 数据库建立一个非常简单的连接 当我运行这段代码时 import java sql import oracle jdbc pool OracleDataSource public
  • Nodejs 上的 Javascript ES6:类型错误:对象不是构造函数

    我有这个样本班sync js作为我项目中某处的模块 use strict export default class Sync constructor dbConnection this dbConnection dbConnection t
  • jquery validator - 仅验证可见元素

    我有一个隐藏 显示 div 的单选按钮 所有可见元素都是 必需的 但是在验证规则之后添加ignore hidden 不起作用 这是代码
  • 将序列划分为唯一对的集合

    我需要一个 of 函数 它可以将序列分成对 然后将它们组合起来 以便组合中的所有元素都是唯一的 我已经尝试了多种使用 python 的 itertools 的方法 但还没有找到解决方案 为了说明这一点 我想要一个采用以下序列的函数 1 2
  • 使用 UserDefaults 保存图像数组

    我有一个应用程序 用户可以在其中拍照 拍照后应将其保存到UserDefaults 我不断收到此错误 cannot invoke setObject with an argument list of type UIImage type for
  • 如何获取android上每个cpu核心的使用情况

    我在 Android 上开发了一个小部件 它显示许多有用的信息 我正在尝试修改此方法以返回一个 cpu 核心的使用百分比 以便获得每个核心的使用百分比 在我的 HTC One X 上 我在 proc stat 中有 cpu 183549 1
  • 如何将 scikit-learn 数据集写入 csv 文件

    我可以从以下位置加载数据集scikit learn using from sklearn import datasets data datasets load boston print data 我想做的是将这个数据集写入一个平面文件 cs
  • 无法对实体框架 6 使用 MySQL 连接

    我正在尝试将实体框架 6 与 MySQL 一起使用 我确实为 Visual Studio 1 1 1 和 MySQL Net 连接器 6 8 3 安装了 MySQL 插件 问题是当我尝试创建新的 ADO NET 实体模型时 我无法选择 My
  • 为什么我不能在此三元运算中将 int 转换为字符串

    为了简洁起见 我留下了一些代码 int id Convert ToInt32 Page RouteData Values id var q db Categories SingleOrDefault x gt x categoryID id
  • Android 地点选择器启动后立即关闭

    我正在开发一个android应用程序作为项目的一部分 并使用Google地方API来根据位置显示感兴趣的地方 我正在使用 PlacePicker Inentbuilder 来完成此任务 但是 当应用程序运行时 地点选择器会启动 然后立即关闭
  • 在 WPF 应用程序中嵌入 Unity3D 应用程序

    我想在 WPF 中开发一个新的 CAD 软件 而不是使用 WPF 3D 是否可以使用 Unity3D 作为我的图形引擎 能够根据 WPF 中的数据对象旋转 平移 缩放和查看 3D 图形对象 我问这个问题的原因是 Unity 是一个游戏引擎
  • 重写 WPF 控件

    我有一个来自第三方的 WPF 控件 ParentWPFControl 我想继承该控件 我们将其称为子类 ChildWPFControl 在这个过程中 我计划重写一些后端逻辑和部分前端样式 前者我可以做得很好 但后者我有问题 我尝试对子国家
  • java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。在 API 上小于 24

    com android volley NoConnectionError javax net ssl SSLHandshakeException java security cert CertPathValidatorException T
  • 删除其中没有资源的 Azure 资源组

    我正在尝试查找其中没有资源的所有 Azure RM 资源组 并使用 PowerShell 删除这些资源组 使用 Portal 删除非常耗时 使用 powershell 我可以通过使用以下代码来完成 在 powershell 中是否有更好的方
  • 与 protobuf-net 和 C# 的接口

    有谁知道建立一个的正确方法是什么合约原型 for an 界面 我收到以下异常 一旦生成序列化器 类型就无法更改 仅使用属性 使用的代码 ProtoContract public class Lesson5TestClass2 ILesson
  • 在单个语句中处理区分大小写和不区分大小写的正则表达式模式

    我有一个小的正则表达式要处理 我有两个不同的术语 美国 我想忽略大小写来匹配 US 我想匹配without忽略大小写 我想在单个正则表达式替换语句中执行以下两个正则表达式替换 clntxt re sub i United States US
  • 通过代码隐藏中的按钮单击处理程序中的 ID 访问 DataList 中的 TextBox

    我有一个文本框 保存在数据列表中 我需要通过 ID 找到它 以便我可以将写入该文本框的文本插入到数据库中 这是我的包含文本框的 aspx 页面
  • Microsoft 日志记录应用程序块和多线程

    我是日志应用程序块 4 1 的新手 有人编写过从多个线程使用日志记录应用程序块的应用程序吗 我问这个问题是因为 Logger 是一个静态类 并且可能会从多个线程写入同一日志文件 日志应用程序块是线程安全的 这意味着您可以从多个线程调用其公共
  • cURL 无法在本地服务器中使用客户端证书

    我使用 XAMPP 设置了本地服务器 我有两个 PHP 脚本 一个发送者和一个接收者 我正在尝试使用 HTTP over SSL HTTPS 将 XML 文件从发送方发送到接收方 我创建了一个自签名证书 配置了 XAMPP 并且我在发件人上
  • @solana/web3.js 有 ERC721 元数据的 API 吗?

    给定一个代币铸造地址 我正在寻找一种方法来访问 ERC721 代币的元数据 solana web3 js 中有 API 吗 Solana 将代币元数据存储在从原始代币地址派生的地址中https docs solana com develop