标题可能有些误导,但我会尝试解释问题是什么以及复制的步骤。
问题
白名单用户(WL代币持有人)在启用网守时无法铸造NFT。
错误消息:返回错误的程序:无法序列化或进行序列化帐户数据:未知
白名单{burneverytime:true}&&&网守:true正在干扰薄荷过程。
我在Metaplex Discord服务器上发布了这个问题,在与Metaplex Devs进行了讨论之后,我们决定在此处发布它,以帮助面对同一问题的用户。
如果您希望启用 flay> fheitelist < /code>功能和 Gatekeeper
candymachine-v2挑战,然后您可能会遇到即使使用WL令牌也无法造成薄荷的问题。
config.json
看起来像这样:
{
"price": 0.1,
"number": 1500,
"gatekeeper": {
"gatekeeperNetwork" : "ignREusXmGrscGNUesoU9mxfds9AiYTezUKex2PsZV6",
"expireOnUse" : true
},
"solTreasuryAccount": "FYUfLoqD33rfsYGeEuisLGQhQiifGKrnjmcTQAyjQDUL",
"splTokenAccount": null,
"splToken": null,
"goLiveDate": "01 Jun 2022 00:00:00 GMT",
"endSettings": null,
"whitelistMintSettings": {
"mode" : { "burnEveryTime": true },
"mint" : "DJd3vbwoZgf6V5o9NdpxRVn82PKK7k7KQsRtU9VvjmoK",
"presale" : true,
"discountPrice" : null
},
"hiddenSettings": null,
"storage": "arweave-sol",
"ipfsInfuraProjectId": null,
"ipfsInfuraSecret": null,
"awsS3Bucket": null,
"noRetainAuthority": false,
"noMutable": false
}
您甚至可能收到这样的错误消息:
返回错误的程序:无法序列化或选择序列化帐户数据:未知
在:
现在您可能已经猜到了这种配置的问题的一部分,并且可能会思考“为什么当白名单配置具有“ burneverytime”:true
'时,为什么需要看门人。
解决方案
为了能够解决这个问题,最好禁用 Gatekeeper ,然后在白名单上的代币燃烧时,在没有守门人挑战的情况下继续进行薄荷。
这样,机器人将无法做他们的事情,因为它们的WL令牌在初次使用后会燃烧。
重现的步骤
- clone
metaplex
并进行初始设置和安装,
- 请按照docs.metaplex中的步骤进行操作
- 。 :true
- 部署candymachine测试
- 通过
CLI
或Metaplex的前端 Candy-machine-UI
The title may be a bit misleading, but I'll try to explain what the problem is and the steps to reproduce.
The Problem
Whitelisted users (WL token holders) can't mint an NFT when the gatekeeper is enabled.
Error message: Program returned error: Failed to serialize or deserialize account data: Unknown
Whitelist {burnEveryTime: true} && Gatekeeper: true are interfering with the mint process.
I posted this question on the Metaplex discord server, and after discussions with Metaplex devs, we have decided to post it here to help users facing the same issue.
If you are looking to enable whitelist
functionality and the gatekeeper
challenge for your CandyMachine-v2, then you may come across the issue of not being able to mint even with a WL token.
config.json
looks like this:
{
"price": 0.1,
"number": 1500,
"gatekeeper": {
"gatekeeperNetwork" : "ignREusXmGrscGNUesoU9mxfds9AiYTezUKex2PsZV6",
"expireOnUse" : true
},
"solTreasuryAccount": "FYUfLoqD33rfsYGeEuisLGQhQiifGKrnjmcTQAyjQDUL",
"splTokenAccount": null,
"splToken": null,
"goLiveDate": "01 Jun 2022 00:00:00 GMT",
"endSettings": null,
"whitelistMintSettings": {
"mode" : { "burnEveryTime": true },
"mint" : "DJd3vbwoZgf6V5o9NdpxRVn82PKK7k7KQsRtU9VvjmoK",
"presale" : true,
"discountPrice" : null
},
"hiddenSettings": null,
"storage": "arweave-sol",
"ipfsInfuraProjectId": null,
"ipfsInfuraSecret": null,
"awsS3Bucket": null,
"noRetainAuthority": false,
"noMutable": false
}
You may possibly even get an error message like this:
Program returned error: Failed to serialize or deserialize account data: Unknown
Found in:
https://solscan.io/tx/4Qfxi9As8973AFQ3uCGqcPhvGhiEQdejsnvZ7MEfeGnyvddR4if5f1HKLPSx5S2Nf8w9Ybv4bWkooANwFTSMtrbY?cluster=devnet
Till now, you may have already guessed part of the problem with this configuration and probably thinking 'why the heck do you need a gatekeeper when your whitelist config has "burnEveryTime": true
'.
The Solution
In order to be able to work around this issue, it is best to disable the gatekeeper and proceed to mint without a gatekeeper challenge when your whitelist token will burnEveryTime.
This way, bots won't be able to do their thing since their WL token would burn after initial use.
Steps to reproduce
- clone
metaplex
and do the initial setup and installation
- Follow the steps in docs.metaplex
- When reaching config.json step: enable gatekeeper and enable whitelisting with
burnEveryTime: true
- Deploy candymachine
- Test through either
cli
or metaplex's front-end candy-machine-ui
发布评论