Solana 部署 "account data too small for instruction"

Solana deploy "account data too small for instruction"

当我尝试使用锚点(devnet 或 mainnet,同样的错误)部署程序时,出现以下错误:部署程序失败:处理指令 0 时出错:帐户数据太小,无法进行指令。

我不知道这是从哪里来的。

so文件大约331Ko,显然,当我尝试使用“mpl-token-metadata”获取NFT的元数据时出现错误

有人知道如何纠正吗?

当您在 Solana 上部署程序时,为该程序分配的 space 数量是原始程序大小的 2 倍。

这是为了确保在升级程序时有足够的 space,最多是原始程序大小的 2 倍。

您正在部署的程序超出了这个限制。您将必须获取新的 programId 并重新部署。

删除 target 文件夹

运行 anchor build,这将向 target/deploy

添加一个新的密钥对

运行 anchor keys list,这将为您提供新的程序 ID

将 id 复制到 lib.rs

的顶部

运行 anchor build 再一次

anchor deploy