You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Metaplex Auction House CLI sell命令token-size无法大于1问题

问题根因

你使用的2022年5月27日提交、commit哈希为472973f2437ecd9cd0e730254ecdbd1e8fbbd953的Metaplex Auction House CLI(ah-cli),其sell指令对接的合约逻辑默认针对NonFungible类资产(含Master Edition、普通NFT)做了硬校验:要求传入的--token-size参数值必须为1,即便你持有多份Master Edition副本,只要资产被识别为NonFungible标准,传入大于1的参数就会抛出InvalidTokenAmount(错误码6015)报错。

可行解决方案
  • 修改合约层校验逻辑(最稳定,适合自定义部署场景)
    找到Auction House合约sell指令中assert_token_amount_valid对应的校验段,原逻辑强制要求token_size等于1,将其修改为校验「传入的token_size小于等于签名者关联代币账户内该 mint 对应的实际持有余额」即可。修改后重新部署合约,同步更新CLI目录下对应的IDL接口定义文件,后续就可以正常传入大于1的--token-size参数执行sell操作。
  • 调整售卖资产的元数据标准(适合不想改合约的场景)
    现有版本CLI的强制为1的校验仅针对NonFungible标准资产生效,你可以把待售卖资产的Token标准修改为FungibleAsset或Fungible,同时移除元数据里的Master Edition标签,只要签名钱包内持有足额的对应资产,无需修改合约和CLI代码即可传入大于1的--token-size值完成挂单。
  • 本地修改CLI逻辑临时适配(不推荐主网使用,有资产风险)
    找到本地CLI源码中src/auction-house-cli.ts330行附近构造sell交易的代码段,注释掉CLI侧对--token-size的非1值拦截逻辑。注意这种方式只能绕开CLI层校验,如果你用的是官方部署的公开Auction House实例,合约层的强制1校验依然存在,提交交易还是会报错,仅适合本地测试自定义修改过的合约实例时使用。

注意:无论使用哪种方案,执行sell指令前必须确认签名钱包对应mint地址的关联代币账户余额 ≥ 你设置的--token-size数值,否则会因为余额不足导致交易失败。

内容的提问来源于stack exchange,提问作者Nayib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 10:18:52