Mint 预制的 tokenurl(文件大小在 42:50 Kb 范围内),使用 svg 在链上存储完整的元数据,Erc-721,多边形(测试和主网络)
Mint preproduced tokenurl(file size in range 42:50 Kb) , using svg to store full metadata on chain , Erc-721 , polygon (test & main network)
1- 我将从编写一般配置(系统、版本、智能合约总体思路)开始。
2- 然后我将展示主要问题(代码行很小,我认为它需要编辑)。
3-第三部分我将展示我到目前为止所做的尝试和结果
4- 在最后我会添加 github link 作为我的完整代码。
注:完整原码由mr.制作。 PatrickAlphaC.
a- 通用配置(系统、版本、智能合约总体思路):
- a1-操作系统:opensuse leap 15.3
- a2-安全帽版本:2.8.3
- a3-节点版本:v14.18.3
- a4- npm 版本:8.3.0
- a5- metamask 钱包插件 到 firefox
- a6-目标区块链:polygon(主网、测试网)
- a7-智能合约总体思路:使用svg创建erc-721 nft,其中元数据完全存储在链上(智能合约 mint tokenurl 到多边形链)。
b-主要问题:
一切都很好,因为生成的文件 (tokenurl) 小于 23.8kb(小于 23.8 kb)。我的目标 mint 文件是这个大小的两倍(每个 tokenurl 等于 50kb)。因此,当尝试大小为 (23.8 Kb < size < 50 Kb) 的 mint tokenurl 时,我会收到下一条错误消息。
An unexpected error occurred:
Error: ERROR processing /home/naive/demos/secondtry/deploy/01_Deploy_SVGNFT.js:
Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={"name":"ProviderError","code":-
32000,"_isProviderError":true}, method="estimateGas", transaction={"from":"metamask wallet address","to":"contract address",
c-我到目前为止所做的尝试和结果:
c1- 尝试在“hardhat.config”中设置 gas 限制但没有任何效果(这是在搜索期间所以我不记得表格或值)。
c2- 在“01_Deploy_SVGNFT”中将 gaslimit 添加到 tx,因此代码行如下所示。
- c2-0 编辑前的原始代码行:
tx = await svgNFT.create(svg)
- c2-1 代码行编辑后:
tx = await svgNFT.create(svg, {gasLimit: 3000000 })
- c2-2 结果:给我一些关于错误合成(论坛,打字)的错误信息
c3- 在“01_Deploy_SVGNFT”中将 gaslimit 添加到 tx,因此代码行如下所示。
c3-0 编辑前的原始代码行:tx = await svgNFT.create(svg)
c3-1 代码行编辑后:tx = await svgNFT.create({svg}, {gasLimit: 3000000 })
c3-2 结果:
- 3-2-0 合约部署、svg 上传、合约验证、metamask 钱包中的 matic 值减少(gas 值转移成功)一切看起来都很好。
- 3-2-1去opensea时没有图像出现
- 3-2-2 当转到 polygonscan 或 etherscan 并使用令牌 id 查看令牌 uri 时 return 什么都没有(没有元数据字符串出现,什么也没有出现)。
d- 下一个 github link 完整代码(合同,部署,hardhat.config.js,helper-hardhat-config.js 和包含(预生成的 tokenurl)
的 img 文件夹
https://github.com/naive2022/onchainfork
希望能帮助我找到如何在使用多边形测试或多边形主网时不遇到这个问题的情况下铸造预制的tokenurl(每个文件大小为50kb)。
最终结果 rinkeby 网络无法接受大小超过 23 kb 的(mint token url)
1- 我将从编写一般配置(系统、版本、智能合约总体思路)开始。
2- 然后我将展示主要问题(代码行很小,我认为它需要编辑)。
3-第三部分我将展示我到目前为止所做的尝试和结果
4- 在最后我会添加 github link 作为我的完整代码。
注:完整原码由mr.制作。 PatrickAlphaC.
a- 通用配置(系统、版本、智能合约总体思路):
- a1-操作系统:opensuse leap 15.3
- a2-安全帽版本:2.8.3
- a3-节点版本:v14.18.3
- a4- npm 版本:8.3.0
- a5- metamask 钱包插件 到 firefox
- a6-目标区块链:polygon(主网、测试网)
- a7-智能合约总体思路:使用svg创建erc-721 nft,其中元数据完全存储在链上(智能合约 mint tokenurl 到多边形链)。
b-主要问题:
一切都很好,因为生成的文件 (tokenurl) 小于 23.8kb(小于 23.8 kb)。我的目标 mint 文件是这个大小的两倍(每个 tokenurl 等于 50kb)。因此,当尝试大小为 (23.8 Kb < size < 50 Kb) 的 mint tokenurl 时,我会收到下一条错误消息。
An unexpected error occurred:
Error: ERROR processing /home/naive/demos/secondtry/deploy/01_Deploy_SVGNFT.js:
Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={"name":"ProviderError","code":-
32000,"_isProviderError":true}, method="estimateGas", transaction={"from":"metamask wallet address","to":"contract address",
c-我到目前为止所做的尝试和结果:
c1- 尝试在“hardhat.config”中设置 gas 限制但没有任何效果(这是在搜索期间所以我不记得表格或值)。
c2- 在“01_Deploy_SVGNFT”中将 gaslimit 添加到 tx,因此代码行如下所示。
- c2-0 编辑前的原始代码行:
tx = await svgNFT.create(svg)
- c2-1 代码行编辑后:
tx = await svgNFT.create(svg, {gasLimit: 3000000 })
- c2-2 结果:给我一些关于错误合成(论坛,打字)的错误信息
- c2-0 编辑前的原始代码行:
c3- 在“01_Deploy_SVGNFT”中将 gaslimit 添加到 tx,因此代码行如下所示。
c3-0 编辑前的原始代码行:
tx = await svgNFT.create(svg)
c3-1 代码行编辑后:
tx = await svgNFT.create({svg}, {gasLimit: 3000000 })
c3-2 结果:
- 3-2-0 合约部署、svg 上传、合约验证、metamask 钱包中的 matic 值减少(gas 值转移成功)一切看起来都很好。
- 3-2-1去opensea时没有图像出现
- 3-2-2 当转到 polygonscan 或 etherscan 并使用令牌 id 查看令牌 uri 时 return 什么都没有(没有元数据字符串出现,什么也没有出现)。
d- 下一个 github link 完整代码(合同,部署,hardhat.config.js,helper-hardhat-config.js 和包含(预生成的 tokenurl)
的 img 文件夹https://github.com/naive2022/onchainfork
希望能帮助我找到如何在使用多边形测试或多边形主网时不遇到这个问题的情况下铸造预制的tokenurl(每个文件大小为50kb)。
最终结果 rinkeby 网络无法接受大小超过 23 kb 的(mint token url)