欢迎所有爱好区块链技术的人加入。

CATEGORY

Solana / Solana-优秀转载

Solana-优秀转载

共 100 篇

2369

Solana IDL 猜测器 - 从闭源 Solana 程序中恢复指令布局

Solana-优秀转载

Solana 生态系统充满活力,但许多程序尚未开源。Syndica在 2024 年 2 月编制的统计数据显示,按计算单元计算,Solana 排名前 100 的程序中,近 50% 发布了其接口定义语言 (IDL)。然而,对于排名前 1000 的程序,这一数字下降到只有 20%。此外…

2368

Solana基础 - Solana RPC HTTP 方法

Solana-优秀转载

## getAccountInfo 返回与提供的公钥的账户相关的所有信息,和以太坊 eth_getAccount类似 返回 ## getBalance 返回所提供公钥的账户的 Lamport 余额, 和以太坊eth_getBalance类似 返回 ## getBlock 返回账本…

2366

Solana RPC 方法的常见 JSON 数据结构

Solana-优秀转载

各种 Solana RPC 方法将返回更复杂的响应作为结构化 JSON 对象,并填充特定的键值。 这些 JSON 数据结构中最常见的包括: - 交易 - 内在指示 - 代币余额 ## 交易 交易与其他区块链上的交易截然不同。请务必查看交易剖析以了解 Solana 上的交易。 ##…

2362

Solana基础 - 十分钟开始使用多签工具SQUADS

Solana-优秀转载

# 十分钟开始使用多签工具SQUADS ## 关于squads Squads是Solana区块链上领先的多重签名(multisig)解决方案,已经为超过100亿美元的资产提供安全保障。它提供直观的用户界面和完善的安全机制,让团队能够安全地管理数字资产、程序升级权限和验证者节点。作…

2361

Solana基础 - 给EVM开发者的 Solana开发指南

Solana-优秀转载

本文介绍了EVM开发者如何转向Solana平台,包括Solana的架构、技术优势、开发工具及账户模型的不同,强调程序的无状态特性以及数据存储的外部化。同时,文章比较了Ethereum和Solana的交易处理模型、费用机制及开发工具,帮助开发者顺利过渡。 ## 概述 以太坊虚拟机(…

2360

Solana基础 - 在 Anchor 中的跨程序调用(CPI)

Solana-优秀转载

跨程序调用 (CPI) 是 Solana 的术语,用于描述一个程序调用另一个程序的公共函数。 我们之前已经进行过 CPI,当我们向系统程序发送一个 转账 SOL 交易。以下是相关代码片段,以作提醒: `Cpi` 在 `CpiContext` 中字面上的意思是“跨程序调用”。 调用…

2359

Solana基础 - 在链上读取另一个锚点程序账户数据

Solana-优秀转载

本文详细介绍了在Solana链上程序中如何读取不属于自己的账户数据,通过创建data_holder和data_reader两个程序,展示了如何初始化并读取PDA中的数据,并探讨了Anchor框架下的数据反序列化机制及其限制。 在 Solidity 中,读取另一个合约的存储需要调用…

2358

Solana基础 - 在 Anchor 中:不同类型的账户

Solana-优秀转载

本文详细介绍了 Solana Anchor 框架中的 [derive(Accounts)] 宏,解释了 Solana 并行交易处理机制及其账户访问控制的重要性,并深入探讨了 Account、UncheckedAccount、Signer 和 Program 四种账户类型的使用场景…

2357

Solana基础 - 在Solana中删除和关闭账户与程序

Solana-优秀转载

文章详细介绍了在Solana的Anchor框架中使用close指令关闭账户的操作,包括其原理、实现代码及背后的工作机制,并提供了Rust和Typescript的示例代码。 在 Solana 的 Anchor 框架中,`close` 是 `init` 的反面 (在 Anchor 中…

2356

Solana基础 - Solana 中的所有者与权限

Solana-优秀转载

文章详细解释了Solana中'owner'和'authority'的区别,'owner'是程序,'authority'是钱包,程序只能修改其拥有的账户数据,而'authority'通过发送签名交易来请求程序修改数据。 新来者在 Solana 中常常对“owner”和“author…

2355

Solana基础 - Solana 中的多重调用:批量交易与交易大小限制

Solana-优秀转载

本文介绍了Solana区块链中内置的多调用(multicall)功能,以及如何使用Anchor框架在Solana上进行批量交易。文章还详细解释了Solana交易大小限制,并展示了如何使用Rust和TypeScript代码实现原子性批量交易。 ### Solana 内置了多重调用(…

2354

Solana基础 - Anchor 中的 Init if needed 与重初始化攻击

Solana-优秀转载

本篇文章详细介绍了Anchor框架的init_if_needed宏,提供了一种在一次事务中初始化账户并写入数据的方法。文中阐述了该宏的便利性与可能引发的重初始化攻击风险,特别是在账户状态和lamport余额的处理上。同时,通过示例代码和测试用例,深入分析了如何安全地使用这些功能,…

2352

Solana基础 - 理解 Solana 中的账户所有权:从PDA中转移SOL

Solana-优秀转载

文章详细介绍了Solana区块链中的账户所有权机制,包括系统程序、BPFLoader和程序对不同类型的账户(如PDA和keypair账户)的所有权及其操作权限,并通过Rust和Typescript代码示例进行了演示。 在 Solana 中,账户的拥有者能够减少 SOL 余额、向账…

2351

Solana基础 - PDA(程序派生地址)与 Solana 中的密钥对账户

Solana-优秀转载

文章详细介绍了 Solana 区块链中的 Program Derived Address (PDA) 和 Keypair Account 的区别与使用场景,并通过代码示例展示了如何创建和初始化这两种账户,解释了它们的安全性和应用差异。 一个程序派生地址(PDA)是一个账户,其地址…

2350

Solana基础 - 使用不同签名者修改账户

Solana-优秀转载

文章详细介绍了在Solana区块链上如何使用不同的签名者初始化账户并进行更新操作,通过Rust代码和客户端代码示例,展示了如何实现账户管理和权限控制。 在我们迄今为止的 Solana 教程中,我们只初始化并写入一个账户。 在实际操作中,这非常有限制。举个例子,如果用户 Alice…

2349

Solana基础 - 在 Solana 上实现 SOL 转账及构建支付分配器

Solana-优秀转载

在 Solana 上实现 SOL 转账及构建支付分配器 本教程将介绍 Solana Anchor 程序如何在交易中转移 SOL 的机制。 **与以太坊不同,在以太坊中,钱包通过 `msg.value` 指定交易的一部分并“推送” ETH 到合约,而 Solana 程序则是从钱包“…

2348

Solana基础 - 功能修饰符(view、pure、payable)和回退函数在 Solana 中不存在的原因

Solana-优秀转载

文章详细介绍了 Solana 区块链中缺少的一些功能,如 fallback 和 receive 函数、view 和 pure 函数,以及 Solidity 中的自定义修饰符和单位在 Rust 中的缺失。此外,文章还讨论了 Solana 中读取账户数据的方式和防止重入攻击的策略。 …

2347

Solana基础 - 在 Solana 中读取账户余额的 Anchor 方法:address(account).balance

Solana-优秀转载

文章介绍了如何在Solana程序中使用Anchor框架读取账户余额,并详细解释了UncheckedAccount的使用及其安全性考虑。 ## 在Anchor Rust中读取账户余额 要在Solana程序中读取地址的Solana余额,请使用以下代码: 下面是触发它的web3 js代…

2346

Solana基础 - Solana中的存储成本、最大存储容量和账户调整

Solana-优秀转载

文章详细介绍了Solana区块链中账户存储空间租金的计算方式及其相关概念,包括租金豁免、存储成本比较、账户大小限制和调整、以及部署程序的成本预估。 在分配存储空间时,付款方必须支付每字节分配一定数量的SOL。 Solana称之为“租赁”。这个名称有点误导,因为它暗示需要每月充值,…

2345

Solana基础 - 在Solana中创建“映射”和“嵌套映射”

Solana-优秀转载

本文详细介绍了如何在 Solana 中使用 seeds 参数来实现类似于 Solidity 中的映射和嵌套映射,并提供了 Rust 和 Typescript 的代码示例。 在之前的教程中,`seeds=[]` 参数总是为空。如果我们向其中放入数据,它的表现就像 Solidity …