当前位置: 首页 > news >正文

淄博建设局网站秀堂h5官网

淄博建设局网站,秀堂h5官网,西安网站自然排名优化,网站建设行业细分前言 有人给我发了nft,但是没有图片,我就很纳闷为什么,所以想一探究竟 解决思路 先说下环境吧 Sepolia 测试网 metamask钱包 需要获取nft的合约地址和token id 钱包内 nft可以查得到 思路: 我的理解就是ERC721有标准的…

前言

有人给我发了nft,但是没有图片,我就很纳闷为什么,所以想一探究竟

解决思路

先说下环境吧

Sepolia 测试网

metamask钱包

需要获取nft的合约地址和token id    钱包内  nft可以查得到

思路:

我的理解就是ERC721有标准的tokenURI方法,访问该方法可以获取指向元数据的连接,这个元数据存储量nft的基本信息{ "description": "xxx", "symbol": "xxx", "image": "xxx", "name": "xxx" }

话不多说请看代码

代码

import React, { useState } from 'react';
import useMetaMask from './index.js';
import { JsonRpcProvider,Contract } from "ethers";const Nfts = () => {const [tokenURI, setTokenURI] = useState(null);const [imageURL, setImageURL] = useState(null);// 配置 RPC 提供者(例如 sepolia 测试网)const provider = new JsonRpcProvider("https://sepolia.infura.io/v3/xxxx");// NFT 合约地址和 Token IDconst contractAddress = "xxxxx"; // 替换为你的 NFT 合约地址const tokenId = "xxxxx"; // 替换为你的 Token ID// ERC-721 ABI(只需要包含 tokenURI 方法)const abi = ["function tokenURI(uint256 tokenId) public view returns (string memory)"];// 创建合约实例const nftContract = new Contract(contractAddress, abi, provider);// 获取 Token URI 的函数const fetchTokenURI = async () => {try {const uri = await nftContract.tokenURI(tokenId);console.log("Token URI:", uri);setTokenURI(uri);// 如果 tokenURI 是一个 URL,尝试获取元数据if (uri.startsWith("http")) {const response = await fetch(uri);const metadata = await response.json();console.log("Metadata:", metadata);// 提取图片链接if (metadata.image) {setImageURL(metadata.image.startsWith("ipfs://")? metadata.image.replace("ipfs://", "https://ipfs.io/ipfs/"): metadata.image);}}} catch (error) {console.error("Error fetching token URI:", error);}};return (<div><button onClick={fetchTokenURI}>Fetch NFT Metadata</button>{/* 显示 tokenURI 和图片 */}{tokenURI && (<div><p>Token URI: {tokenURI}</p>{imageURL && (<img src={imageURL} alt="NFT" style={{ width: "300px", height: "300px" }} />)}</div>)}</div>);
};export default Nfts;

http://www.dtcms.com/a/435233.html

相关文章:

  • 【动态规划DP:纸币硬币专题】P2834 纸币问题 3
  • springbatch使用记录
  • 平面设计师网站都有哪些网站突然被降权怎么办
  • 前向传播与反向传播(附视频链接)
  • 广州建设工程造价管理站橙色网站欣赏
  • ipv6之6to4配置案例
  • 太仓有专门做网站的地方吗沧州企业网站专业定制
  • gRPC从0到1系列【14】
  • JVM的内存分配策略有哪些?
  • 卡特兰数【模板】(四个公式模板)
  • Process Monitor 学习笔记(5.5):保存/打开追踪记录——复盘、复现与分享的正确姿势
  • 【机器学习宝藏】深入解析经典人脸识别数据集:Olivetti Faces
  • 【C++】深入理解红黑树:概念、性质和实现
  • 制作卖东西网站玩具网站 下载
  • 网站建设培训课程wordpress描述插件
  • php网站超市源码下载十大永久免费crm
  • 网站色彩代码carousel wordpress
  • 帮别人做网站一般app开发费用多少
  • 上海网站建设服务市价编程做网站容易还是做软件
  • Go 语言流程控制详解:if / switch / for
  • 企业网站栏目设计h5手机网站实例
  • 操作系统应用开发(十三)RustDesk文件服务搭建——东方仙盟筑基期
  • 莱州网站建设服务程序开发的步骤是什么
  • 网站域名多少钱一年杭州seo公司排名
  • 武昌网站制作公司深圳vi设计公司推荐
  • AI驱动的软件质量保障:未来已来
  • Lama Cleaner图片去水印工具最新版IOPaint-1.5.3使用教程-优雅草卓伊凡
  • Spring Boot 配置属性绑定
  • tauri中的wry和tao是干啥的?都是什么作用
  • 个人网站建设发布信息wordpress移动端悬浮导航代码