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

CATEGORY

Solana / Solana-优秀转载

Solana-优秀转载

共 100 篇

2344

Solana基础 - 使用 Solana web3 js 和 Anchor 读取账户数据

Solana-优秀转载

本教程详细介绍了如何通过Solana的web3 Javascript客户端直接读取账户数据,并展示了如何在Web应用的前端实现这一功能。教程中首先使用Rust代码初始化并写入数据,然后通过TypeScript读取和反序列化数据,并进一步演示了如何读取由其他Anchor程序创建的账…

2343

Solana基础 - Solana 计数器教程:在账户中读写数据

Solana-优秀转载

本教程详细介绍了如何在Anchor框架下向已初始化的Solana账户写入数据,并解释了相关代码的实现原理。 在之前的教程中,我们讨论了如何初始化账户以便将数据持久化存储。本教程将展示如何向我们已初始化的账户写入数据。 以下是之前关于初始化 Solana 账户的教程中的代码。我们添…

2342

Solana基础 - 在 Solana 和 Anchor 中初始化账户

Solana-优秀转载

文章详细介绍了Solana区块链中数据存储的机制,特别是如何通过账户和程序来管理和初始化存储数据。文章通过对比以太坊的存储方式,深入探讨了Solana的存储模型和使用Rust语言进行账户初始化的具体步骤。 迄今为止,我们的所有教程都没有使用“存储变量”或存储任何永久性内容。 在 …

2341

Solana基础 - Solana 计算单元与交易费用介绍

Solana-优秀转载

文章详细介绍了Solana区块链中的计算单元(Compute Units)概念,与以太坊的gas机制进行了对比,并探讨了计算单元的优化策略及其对交易费用的影响。 在以太坊中,交易的价格计算为 gasUsed×gasPricegasUsed×gasPrice。这告诉我们,将交易包含…

2340

Solana基础 - Tx.origin、msg.sender 和 onlyOwner 在 Solana 中:识别调用者

Solana-优秀转载

本文详细比较了Solidity和Solana智能合约中的msg.sender和tx.origin概念,并提供了在Solana中如何实现类似功能的代码示例。文章还介绍了如何在Solana中处理多个签名者以及如何实现onlyOwner功能。 在Solidity中,`msg.sende…

2339

Solana基础 - Solana 日志、“事件”与交易历史

Solana-优秀转载

本文介绍了 Solana 中的日志和事件机制,解释了如何通过事件在前端传递信息,以及如何查询 Solana 的交易历史。与以太坊不同,Solana 的事件不能用于历史查询,而是更适合实时监听。 Solana 程序可以发出事件,类似于 Ethereum 发出事件,不过我们会讨论其中…

2338

Solana基础 - Solana 系统变量详解

Solana-优秀转载

文章详细介绍了 Solana 中的系统变量(sysvars),包括如何通过 Anchor 框架访问这些变量,以及它们的功能和使用场景。 在 Solana 中,sysvar 是只读系统账户,它们使 Solana 程序能够访问区块链状态和网络信息。它们类似于 Ethereum 的全局…

2337

Solana基础 - Solana时钟及其他“区块”变量

Solana-优秀转载

文章详细介绍了 Solidity 中的块变量在 Solana 中的类比实现,包括 block.timestamp、block.number、block.coinbase 等,并提供了具体的代码示例和说明。 今天我们将覆盖 Solidity 中所有区块变量的类比。并不是所有的变量都…

2336

Solana基础 - Rust 和 Solana 中的可见性与“继承”

Solana-优秀转载

本文详细讲解了如何将Solidity中的函数可见性和合约继承概念化到Solana中,并提供了Rust语言中实现这些概念的代码示例。 今天我们将学习如何在 **Solana** 中构思 Solidity 的函数可见性和合约继承。Solidity 中有四种函数可见性级别,它们是: -…

2335

Solana基础 - Rust 结构体与属性式和自定义派生宏

Solana-优秀转载

文章详细介绍了 Rust 语言中的 attribute-like 和 custom derive 宏的使用方法,通过具体代码示例展示了如何通过宏在编译时修改结构体,并解释了宏的工作原理和实现方式。 Rust 中的类似属性和自定义派生宏用于在编译时以某种方式修改一段 Rust 代码…

2334

Solana基础 - Rust 函数式过程宏

Solana-优秀转载

本教程解释了函数与函数式宏之间的区别。例如,为什么 `msg!` 后面有一个感叹号?本教程将解释这种语法。作为一种强类型语言,Rust 不能接受函数的任意数量的参数。例如,Python 的 `print` 函数可以接受任意数量的参数: `!` 表示“函数”是一个函数式宏。Rust…

2333

Solana基础 - Rust不寻常的语法

Solana-优秀转载

本文详尽地介绍了 Rust 的所有权、借用及其相关概念,包括 Rust 的复制类型、可变性、泛型、Option 和 Result 等内容。通过示例代码,深入解释了 Rust 的独特语法和其内在逻辑,尤其适合有 Solidity 或 JavaScript 背景的开发者。此外,文章结…

2332

Solana基础 - Solidity开发者的Rust基础

Solana-优秀转载

本教程深入探讨了Solidity和Rust在控制流、数组、映射、结构体和常量等方面的语法对比,旨在帮助掌握Solidity的开发者快速上手Rust编程。 本教程介绍了在 Solidity 中最常用的语法,并展示了其在 Rust 中的等价实现。 如果你想了解 Rust 与 Soli…

2331

Solana基础 - Solana程序是可升级的,并且没有构造函数

Solana-优秀转载

本文详细讲解了如何在Solana上使用Anchor框架部署程序,并解释了Solana程序的可变性和与Ethereum的差异。通过代码示例和命令行操作,展示了程序的部署、升级和测试过程。 在本教程中,我们将从幕后看看 Anchor 如何部署 Solana 程序。 让我们看看 Anc…

2330

Solana基础 - Solana中的Require、Revert和自定义错误

Solana-优秀转载

文章详细介绍了在 Solana 的 Anchor 框架中如何处理函数参数的限制,类似于以太坊中的 require 语句。通过代码示例展示了如何使用 require! 宏和错误处理机制来确保函数参数的有效性,并解释了 Solana 和以太坊在错误处理上的差异。 在以太坊中,我们经常…

2329

Solana基础 - Solana Anchor 程序 IDL

Solana-优秀转载

本文详细介绍了 Solana 如何使用 IDL(接口定义语言)来描述如何与 Solana 程序交互,并通过 Anchor 框架自动生成 IDL 文件。文章还展示了如何通过 Rust 编写 Solana 程序,并通过 TypeScript 单元测试进行验证。 IDL(接口定义语言)…

2328

Solana基础 - Solana 和 Rust 中的算术与基本类型

Solana-优秀转载

本文详细介绍了如何在Solana平台上构建程序,其功能与Solidity合约类似,并探讨了Solana如何处理算术溢出问题。文章通过具体示例展示了如何在Rust中实现函数,处理数据类型,以及进行单元测试,同时强调了计算成本及浮点操作的性能限制。 今天我们将学习如何创建一个Sola…

2327

Solana基础 - 开始 Solana - 安装与故障排除

Solana-优秀转载

本文详细介绍了如何安装 Solana 开发环境,并提供了一个从安装到运行“Hello World”程序的完整教程,包含问题排查和常见错误的解决方案。 这是一个 Solana 的 Hello World 教程。我们将指导你完成安装 Solana 的步骤并解决可能出现的问题。 **如…

2326

Solana基础 - 如何从钱包中获取所有 NFT

Solana-优秀转载

https://solana.com/zh/developers/cookbook/tokens/fetch-all-nfts

2325

Solana基础 - 如何获得 NFT 的所有者

Solana-优秀转载

如果你拥有 NFT 的铸币密钥,你可以通过偷看该铸币密钥的最大代币账户来找到其当前所有者。 请记住,NFT 的供应量为 1,并且它们是不可分割的,这意味着在任何时间点只有一个代币账户会持有该代币,而该铸币密钥的所有其他代币账户的余额为 0。 一旦确定了最大的代币账户,我们就可以检…