未能部署我的Solana智能合约

  • 本文关键字:智能 Solana 部署 solana
  • 更新时间 :
  • 英文 :


我试图部署我的Solana智能合约,但遇到了以下错误:"错误:部署程序失败:处理错误指令1:指令"的账户数据无效;

你能帮我看看这次失败的部署吗https://solscan.io/tx/c8VBq8sE5XP2Q75pvLXsyGhehC3Utj1zS9fatunHuvgVDdGobKhupvFUXBTb7DxPfeneSskmEZhszrdPqpXSsyg?cluster=devnet?

谢谢!

这是一个微妙的错误,但如果您查看"生的";程序日志。

上面写着:ELF error: Found writable section (.bss._ZN5ahash12random_state11RAND_SOURCE17h85a33855e0b029fbE) in ELF, read-write data not supported

索拉纳程序不能有可写的静态数据,如果你的程序有一个bss部分,那就意味着有一些可写的静止数据。它可以来自Hasher或随机化器。更多信息,请访问https://docs.solana.com/developing/on-chain-programs/overview#static-可写数据

如果您需要一种映射形式,请使用当前支持的BTreeMap。这里有一个小例子锚程序:

use anchor_lang::prelude::*;
use std::collections::BTreeMap;
declare_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
#[program]
mod basic_0 {
use super::*;
pub fn initialize(_ctx: Context<Initialize>) -> ProgramResult {
let mut map = BTreeMap::new();
map.insert("key1", "value1");
map.insert("key2", "value2");
Ok(())
}
}
#[derive(Accounts)]
pub struct Initialize {}

相关内容

  • 没有找到相关文章

最新更新