标签: nft

相反,将 index.js 的 require 更改为所有 CommonJS 模块中都可用的动态 import()

尝试使用 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)

javascript node.js nft

162
推荐指数
4
解决办法
23万
查看次数

通过 MetaMask 连接验证用户是否是 NFT 的所有者?确保连接用户的公共 eth 地址与 NFT 的相同吗?

我需要在我自己的域/服务器上验证连接了 MetaMask 钱包的用户是否是特定 NFT 的所有者,以便允许他使用特殊功能?基本上,我想让用户访问只有该 NFS 所有者才能访问的区域。

我原来的 NFT 在 opensea 中出售,但我不能使用 opensea 隐藏区域选项来为用户提供隐藏密码,因为下一个所有者(转售后)和旧所有者将拥有相同的密码,并且旧所有者仍然可以访问像这样。但我需要只有当前所有者才能访问。

我的用户/访问者已经可以在我自己的域中与 MetaMask 连接,并且我获得了活动帐户的公共 ETH 地址,但由于这只是 javascript 而我的后端是 PHP,所以我不能将 MetaMask 信息发布到我的 PHP 后端,因为这很容易被欺骗/破解。

如何确保当前连接的 MetaMask 帐户与 NFT 所有者(我知道)相同,并仅允许该用户访问 URL?

我当前的状态是用户连接他的 MetaMask,我使用 opensea API 来检查当前谁是 NFT 的所有者。我可以比较两个 eth 地址,但其中的缺陷显然是我使用 ajax 将 MetaMask 公共地址发送到我的后端,这仅用于测试,因为这当然是零保存!

预先感谢您提供我能得到的任何想法、帮助和提示。

PS:我的后端是PHP

authentication metamask nft

11
推荐指数
1
解决办法
4899
查看次数

使用 @solana/web3.js 将元数据添加到 Solana 令牌

我正在尝试使用 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 )之外,似乎没有任何文档。

如果有人可以通过示例或文档为我指明正确的方向,我将不胜感激。谢谢你!

javascript node.js cryptocurrency nft solana

11
推荐指数
1
解决办法
4758
查看次数

此版本的 µWS 与您的 Node.js 版本不兼容:错误:node-loader。运行“松露控制台”时

我正在开发一个使用 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)

node.js truffle ganache nft

11
推荐指数
1
解决办法
9798
查看次数

为什么以及何时调用 setApprovalForAll?

我很难理解为什么以及何时在 NFT 生成合约上调用 SetApprovalForAll。

酷猫为例。为了方便起见,下面有相关交易的屏幕截图。

我注意到,对于此合同和其他合同,反复调用“Set Approval For All”。根据我自己对允许铸造的合约的有限经验,via _safeMint,我也在日志中看到了 SetApprovalForAll 交易。它没有在我的代码中直接调用。

为什么这么称呼它?钱包是否将其作为铸造过程的一部分?

在此输入图像描述

ethereum solidity openzeppelin nft erc721

10
推荐指数
1
解决办法
1万
查看次数

地址或 ENS 名称无效

我不明白问题是什么。当我运行该应用程序时,我收到此错误:

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)

ethereum metamask nft ethers.js hardhat

9
推荐指数
1
解决办法
3万
查看次数

如何查找 v2 糖果机铸造的所有 NFT

我正在铸造 Solana NFT。糖果机 v2 最近发布,v1 已弃用。

如果我创建一个 v2 糖果机并铸造一些 NFT,我以后如何从所有铸造的代币中找到哈希值?

nft solana metaplex solana-cli solana-web3js

9
推荐指数
1
解决办法
9204
查看次数

如何获取 Solana 集合中的所有 NFT?

您好,使用集合的符号获取集合中的所有 NFT。是否有任何 API 可以提供数据?

nft solana solana-web3js

9
推荐指数
1
解决办法
4036
查看次数

有没有办法强制更新 Opensea 上的元数据?

我尝试更改令牌基本 URL 以在 opensea.io 上显示 NFT 的新图像。但不会立即更新。

有一种方法可以通过在 Rikeby 测试网上指定force_update=true 来进行更新。

但我不知道如何在主网上更新它。有可能吗?

任何帮助将不胜感激。

metadata ethereum ipfs nft opensea

8
推荐指数
1
解决办法
2万
查看次数

从 OpenSea 中的一个智能合约 (erc1155) 创建两个 nft 集合

我想在 Opensea 上列出两个集合,但我不想为此创建两个智能合约,而是只想创建一个(以节省上传合约的汽油费)。

我发现在 OpenSea 上创建集合的唯一两种方法是:

  1. 导入现有合约,它会自动检测所有铸造的 NFT 并显示它们。
  2. 使用 OpenSea UI 手动创建项目并将它们添加到也是从 UI 创建的集合中(无需任何代码)

有没有办法导入现有合约并选择 id 前缀或一系列 id(铸造的 NFT)

并将它们作为 OpenSea 中的一个集合显示?或者有另一个市场支持这个?

ethereum smartcontracts nft

8
推荐指数
0
解决办法
976
查看次数