尝试使用 node/javascript/nfts,我是一个菜鸟并按照教程进行操作,但我收到此错误:
error [ERR_REQUIRE_ESM]: require() of ES Module [...] is not supported. Instead change the require of index.js [ in my file...] to a dynamic import() which is available in all CommonJS modules
Run Code Online (Sandbox Code Playgroud)
我的理解是他们已经更新了节点文件,所以我需要与教程中不同的代码,但我不知道我应该更改哪一个,在哪里以及更改什么。请尽可能具体
const FormData = require('form-data');
const fetch = require('node-fetch');
const path = require("path")
const basePath = process.cwd();
const fs = require("fs");
fs.readdirSync(`${basePath}/build/images`).foreach(file).forEach(file => {
const formData = new FormData();
const fileStream = fs.createReadStream(`${basePath}/build/images/${file}`);
formData.append('file',fileStream);
let url = 'https://api.nftport.xyz/v0/files';
let options = {
method: 'POST',
headers: {
Authorization: …Run Code Online (Sandbox Code Playgroud) 我需要在我自己的域/服务器上验证连接了 MetaMask 钱包的用户是否是特定 NFT 的所有者,以便允许他使用特殊功能?基本上,我想让用户访问只有该 NFS 所有者才能访问的区域。
我原来的 NFT 在 opensea 中出售,但我不能使用 opensea 隐藏区域选项来为用户提供隐藏密码,因为下一个所有者(转售后)和旧所有者将拥有相同的密码,并且旧所有者仍然可以访问像这样。但我需要只有当前所有者才能访问。
我的用户/访问者已经可以在我自己的域中与 MetaMask 连接,并且我获得了活动帐户的公共 ETH 地址,但由于这只是 javascript 而我的后端是 PHP,所以我不能将 MetaMask 信息发布到我的 PHP 后端,因为这很容易被欺骗/破解。
如何确保当前连接的 MetaMask 帐户与 NFT 所有者(我知道)相同,并仅允许该用户访问 URL?
我当前的状态是用户连接他的 MetaMask,我使用 opensea API 来检查当前谁是 NFT 的所有者。我可以比较两个 eth 地址,但其中的缺陷显然是我使用 ajax 将 MetaMask 公共地址发送到我的后端,这仅用于测试,因为这当然是零保存!
预先感谢您提供我能得到的任何想法、帮助和提示。
PS:我的后端是PHP
我正在尝试使用 web3.js 和 spl-token.js 创建 NFT。
但是,我需要添加元数据(例如令牌的名称或其他属性),否则它只会在我的钱包中显示为“未知令牌”。
这是我铸造令牌的代码的相关部分:
let mint = await splToken.Token.createMint(
connection,
fromWallet,
fromWallet.publicKey,
null,
0,
splToken.TOKEN_PROGRAM_ID
);
Run Code Online (Sandbox Code Playgroud)
否则,代码类似于此问题的答案:我想在 solana 上铸造一个新令牌。如何使用 solana-web3.js 执行此操作?
除了元数据的结构(我在这里找到的:https: //docs.phantom.app/integrating/tokens/on-chain-metadata )之外,似乎没有任何文档。
如果有人可以通过示例或文档为我指明正确的方向,我将不胜感激。谢谢你!
我正在开发一个使用 Truffle 的区块链项目。当我运行 Truffle Console 命令时,我遇到了这个问题。
\n完整日志:
\n此版本的 \xc2\xb5WS 与您的 Node.js 版本不兼容:
\n错误:节点加载器:\n错误:找不到指定的模块。\nC:\\Users\\sudda\\AppData\\Roaming\\npm\\node_modules\\truffle\\node_modules\\ganache\\dist \\node/3jj9vE3p.node\n回退到 NodeJS 实现;性能可能会下降。
\n包.json
\n{\n "name": "nft-marketplace",\n "version": "0.1.0",\n "description": "An NFT Marketplace",\n "author": "clarionnorth@gmail.com",\n "dependencies": {\n "@metamask/detect-provider": "^1.2.0",\n "@openzeppelin/contracts": "^4.3.1",\n "babel-polyfill": "6.26.0",\n "babel-preset-env": "1.7.0",\n "babel-preset-es2015": "6.24.1",\n "babel-preset-stage-2": "6.24.1",\n "babel-preset-stage-3": "6.24.1",\n "babel-register": "6.26.0",\n "bootstrap": "4.3.1",\n "chai": "4.2.0",\n "chai-as-promised": "7.1.1",\n "chai-bignumber": "3.0.0",\n "mdb-react-ui-kit": "^1.3.0",\n "mdb-ui-kit": "^3.9.0",\n "react": "16.8.4",\n "react-bootstrap": "1.0.0-beta.5",\n "react-dom": "16.8.4",\n "react-scripts": "2.1.3",\n "truffle": "5.0.5",\n "web3": "1.0.0-beta.55"\n },\n "scripts": {\n "start": "react-scripts …Run Code Online (Sandbox Code Playgroud) 我很难理解为什么以及何时在 NFT 生成合约上调用 SetApprovalForAll。
以酷猫为例。为了方便起见,下面有相关交易的屏幕截图。
我注意到,对于此合同和其他合同,反复调用“Set Approval For All”。根据我自己对允许铸造的合约的有限经验,via _safeMint,我也在日志中看到了 SetApprovalForAll 交易。它没有在我的代码中直接调用。
为什么这么称呼它?钱包是否将其作为铸造过程的一部分?
我不明白问题是什么。当我运行该应用程序时,我收到此错误:
Unhandled Runtime Error
Error: invalid address or ENS name (argument="name", value=5.050201689117535e+47, code=INVALID_ARGUMENT, version=contracts/5.5.0)
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
import {ethers} from 'ethers'
import {useEffect, useState} from 'react'
import axios from 'axios'
import Web3Modal from 'web3modal'
import { nftaddress, nftmarketaddress } from '../config'
import NFT from '../artifacts/contracts/NFT.sol/NFT.json'
import Market from '../artifacts/contracts/Market.sol/Market.json'
export default function Home() {
const [nfts, setNFts] = useState([])
const [loadingState, setLoadingState] = useState('not-loaded')
useEffect(()=> {
loadNFTs()
}, [])
async function loadNFTs() {
// what we want to load:
// ***provider, tokenContract, …Run Code Online (Sandbox Code Playgroud) 我正在铸造 Solana NFT。糖果机 v2 最近发布,v1 已弃用。
如果我创建一个 v2 糖果机并铸造一些 NFT,我以后如何从所有铸造的代币中找到哈希值?
您好,使用集合的符号获取集合中的所有 NFT。是否有任何 API 可以提供数据?
我尝试更改令牌基本 URL 以在 opensea.io 上显示 NFT 的新图像。但不会立即更新。
有一种方法可以通过在 Rikeby 测试网上指定force_update=true 来进行更新。
但我不知道如何在主网上更新它。有可能吗?
任何帮助将不胜感激。
我想在 Opensea 上列出两个集合,但我不想为此创建两个智能合约,而是只想创建一个(以节省上传合约的汽油费)。
我发现在 OpenSea 上创建集合的唯一两种方法是:
有没有办法导入现有合约并选择 id 前缀或一系列 id(铸造的 NFT)
并将它们作为 OpenSea 中的一个集合显示?或者有另一个市场支持这个?