错误:部署程序失败事务模拟失败:处理指令0时出错:帐户数据对于指令来说太小[3条日志消息]
如果您对程序进行了更改,则需要扩展程序大小。从 CLI 版本 1.18 开始可以实现这一点 > 要修复此运行 solana 程序扩展 PROGRAM_ADDRESS_HERE 20000 -u d -k ~/.config/solana/id.json 上面的命令将使您的程序增加 20000 字节并使用 ~/.config/solana/id.json 中的密钥对
从具体问题出发,理解数字资产、交易机制和安全基础。
如果您对程序进行了更改,则需要扩展程序大小。从 CLI 版本 1.18 开始可以实现这一点 > 要修复此运行 solana 程序扩展 PROGRAM_ADDRESS_HERE 20000 -u d -k ~/.config/solana/id.json 上面的命令将使您的程序增加 20000 字节并使用 ~/.config/solana/id.json 中的密钥对
是的,amm_target_orders 帐户已被注释掉,因此不需要调用 swap_base_out 指令。由于 Raydium AMM 是开源的,您可以通过源代码确认这一点: ... 让 amm_open_orders_info = next_account_info(account_info_iter)?; 如果 input_account_len == SWAP_ACCO…
缺少 #[max_len(32)] 的问题是,序列化帐户包含一个用 0 字节填充的字符串,使其成为 32 字节,而反序列化结构尝试仅反序列化字符串实际长度的字节,然后剩余的 0 字节将其弄乱,以反序列化以下字段。 为了解决这个问题,我建议使用declare_program!来自anchor_client。这样你就不需要手动实现相同的结构您的程序和客户端,并且您可以免费实现反序列…
回购似乎是私人的: 任何选项都有其优点和缺点,因此您可以创建混合实施来缓解,以下是您可以采用的一些多程序应用程序: Marinade Finance:针对特定领域采用单核程序+卫星程序。您可以检查他们如何处理管理权限与操作权限(核心程序有一个理事会多重签名作为管理员,但有一个 PDA 用于权益提取操作)。此外,推荐程序是 CPI 到主程序中的包装程序 Marginfi:使用基于…
经过一番挣扎,在 100 个 LLM 之间切换,我终于找到了问题所在。 问题是我的合约本身是从 Launchlab 的过时 IDL 生成输入帐户类型,其中 writable: true 未设置。 我认为这并不重要,因为我认为 Solana 会简单地转发帐户而不触及其财产。 在我更新 IDL 并重新生成合约后,所有测试似乎都通过了。
Pinocchio 在最新版本或任何版本中没有用于验证这些的辅助函数。既然您提到您正在为 blueshift 执行此操作,那么他们也会手动实现这些。
您必须像 Ademola 提到的那样为您的交易数据提供指令鉴别器。 您可以做的是获取指令鉴别器,然后将其附加到前 8 个字节中的数据中。 Rust 中的获取指令鉴别器 pub fnighash(命名空间: &str, 名称: &str) -> [u8; 8]{ let 原像 = format!("{}:{}", 命名空间, 名称); 让 mutighash = [0u8; 8]…
您可以在内存池中拥有超过25笔未确认交易的链,但钱包仍然强制执行25笔交易链限制。 通过运行bitcoind -help-debug : ... -limitdescendantcount = 不推荐设置为不接受交易,如果任何祖先 或更多内存池子代(默认值: 25 ) ;替换为 集群限制(请参阅-limitclustercount ) ,仅供钱包使用 用于硬币选择... 如果要…
初始化代码哈希基本上是合约字节码的 keccak256 哈希。 初始化代码的使用 需要初始化代码哈希“因为地址计算取决于哈希 初始化代码。初始化代码是执行时产生以下内容的代码 将被放入状态的运行时字节码,以及 通常由高级语言用来实现 ‘构造函数’。 “EIP-1014:Skinny CREATE2”,以太坊改进提案,编号。 1014,2018 年 4 月。[网络连载]。可用:h…
集中的流动性更具资本效率,因为随着集中度的提高,投资相同数量的代币会创造更大的流动性深度。 来自 Uniswap 的博客: 通过集中流动性,有限合伙人可以在指定的价格范围内提供与 v2 相同的流动性深度,同时资本风险要小得多。 定义资本效率的一种非正式方式是将其视为投资资本与产生价值之间的比率。 情况 A:1 美元产生 1 个价值单位。 情况 B:1 美元产生 2 个价值单位。…
Curve DAO 白皮书对我理解代码非常有帮助,我强烈建议从它开始: https://curve.fi/files/CurveDAO.pdf 具体这部分:
去中心化金融(DeFi)是利用去中心化网络将旧的金融产品转变为无需中介机构运行的去信任且透明的协议的运动。 有些人可能更喜欢将 DeFi 称为开放金融、分布式金融或 EthFi(指目前大多数现有 DeFi 产品都基于以太坊构建)。 我们也很可能可以将 DeFi 视为金融科技的一个子集。 以下是 DeFi 核心组件的概述: 我想说 DeFi 绝对需要的组件是: 智能合约支持网络本…
Gas 成本不一样的原因之一是一个账户在交易前没有任何 USDC,而另一个账户已经有一些。将 0 值设置为非零比将非零值设置为非零花费更多的 Gas。 例如。新帐户没有将其地址写入 usdc 余额映射中。因此合约必须记录地址并设置余额。另一个帐户已经写好了他的地址,我们刚刚更新了余额。 看; 为什么存储中的零到非零需要更高的gas?
没有什么。 如果您丢失了最后的状态并且正在从对等方恢复它,那么您就信任它,无论它是否加密。 他们可能会撒谎并从具有较高余额的通道状态继续操作(或关闭),或者可以为您提供已撤销状态的加密备份,并诱骗您强制关闭以通过惩罚交易窃取您的资金。
单签名钱包仍然可以使用。每个密钥可以在多个钱包(单签名或多重签名)中使用,而不会干扰其他密钥。然而,为了更安全的多重签名设置,通常最好在不同的设备或至少不同的钱包上生成单独的密钥。 在多重签名钱包中使用单签名密钥通常被认为是一种不当行为。如果您将多重签名协调信息分发给共同签名者,他们将有权访问您可能不想透露的个人公钥。此外,如果某人同时获得了密钥 #1 和密钥 #2 的访问权限…
256 位 ECDSA 以及比特币密钥的安全性是 128 位,这意味着什么?我的意思是,如果我在椭圆曲线上有大约 2^256 个可能的点(因此可能是公钥),因此也有私钥,那么是否需要大约 2^256 次计算才能找到公钥(或者如果提前获得密钥,则需要稍微少一些)?由此看来,安全性大约是 256 位? 如果穷举搜索是确定给定公钥的私钥的唯一方法,那么您是对的。然而事实并非如此。 现…
不,据我们所知,以太坊交易无法逆转。 DAO 黑客攻击利用了编码错误的智能合约。 智能合约运行在以太坊之上,因此这里涉及两层:以太坊区块链和虚拟机(EVM)以及在 EVM 上运行的智能合约。 EVM 和以太坊区块链都没有被利用。那是一份特定的智能合约。 您可能指的是 2016 年以太坊分叉。这确实是一个有争议的分叉,引发了关于以太坊治理的讨论。 在这种特殊情况下,以太坊开发者确…
对于一个只偶尔收到少量信息的博客,您可能不应该太担心。但是,如果您打算扩大规模,则需要考虑以下事项: 使用同一地址进行所有交易的一个问题是,人们可以看到该地址收到的总金额并知道您拥有多少比特币。如果总数足够大,这可能会使您成为攻击目标,特别是当您将个人信息与比特币地址一起发布时。 另一个潜在的问题是人们可以看到还有谁在向您捐款。他们只能看到所使用的比特币地址,但这可能足以得出一…
有关当前(即不是过去/公共/已解决)安全问题的信息应发送至私人 [email protected] 邮件列表。 SourceForge 列表现已过时且不复存在。 如果您使用的是 Bitcoin Knots 客户端,这可能是最好的方法。 PGP密钥:FAC0 98FE 8DF9 975F 9024 1881 3666 E2B1 782A …
无论您是否有密码短语,12 个单词与 24 个单词一样安全,因为生成的公钥仍需要 2^128 次迭代才能使用最有效的算法计算其私钥。 这是相关的,因为破解 secp256k1 密钥的最有效算法“Pollard 的 rho 算法”不会尝试猜测您的密码或种子词,而是尝试将公钥反转为其私钥。 它应该可能需要注意的是,即使使用 Pollards rho,正确生成的比特币密钥也无法使用现…