部署 Solana 程序时处理指令 1 时出错?

Roy*_*son 5 solana

当我将 Solana 程序部署到 devnet 时,它工作正常。

但是,当我尝试将相同的程序部署到生产环境时,出现以下错误:

Error: Deploying program failed: Error processing Instruction 1: custom program error: 0x1
There was a problem deploying: Output { status: ExitStatus(ExitStatus(256)), stdout: "", stderr: "" }.
Run Code Online (Sandbox Code Playgroud)

我正在使用的命令是:

solana -k admin_key.json -u mainnet-beta program deploy target/deploy/pixels.so
Run Code Online (Sandbox Code Playgroud)

mainnet-beta如果我与交换,此命令可以正常工作devnet

值得注意的是,我可以使用以下方法部署到生产(并且我已经):

solana -k admin_key.json -u mainnet-beta deploy target/deploy/pixels.so

有谁明白为什么开发网和主网之间存在差异?

这是主网上当前部署的程序的链接: https: //explorer.solana.com/address/JBAnZXrD67jvzkWGgZPVP3C6XB7Nd7s1Bj7LXvLjrPQA

这是使用solana [...] deploy(而不是现代方式solana [...] program deploy)部署的。

您可以在此处查看以现代方式部署到开发网络的程序示例:

https://explorer.solana.com/address/6uCCuJaQSQYGx4NwpDtZRyxyUvDMUJaVG1L6CmowgSTx?cluster=devnet

Jon*_*n C 4

错误 0x1 通常意味着付款人密钥中没有足够的 SOL 来覆盖部署。您需要检查主网上的这些密钥是否具有 SOL,才能正确进行部署。

  • 哦,没关系——这是有道理的。我现在知道了。程序数据帐户需要 2.78 SOL,恰好是 1.39 SOL 的两倍,这与程序部署到两倍大小的程序数据帐户的事实相符。 (2认同)