文章详细介绍了 Solana 区块链中缺少的一些功能,如 fallback
和 receive
函数、view
和 pure
函数,以及 Solidity 中的自定义修饰符和单位在 Rust 中的缺失。此外,文章还讨论了 Solana 中读取账户数据的方式和防止重入攻击的策略。
Solana 交易必须预先指定它将修改或读取的账户作为交易的一部分。如果“fallback”函数访问了一个不确定的账户,那么整个交易将失败。这将使用户不得不预测 fallback 函数将访问的账户。因此,直接不允许这种类型的函数更为简单。
Solidity 中的“view”函数通过两种机制保证状态不会改变:
纯函数更进一步,编译器会检查是否存在查看状态的操作码。
这些函数限制主要发生在编译器层面,而 Anchor 没有实现任何这些编译器检查。Anchor 并不是构建 Solana 程序的唯一框架。Seahorse 是另一个框架。也许其他框架会带有明确说明函数可以做什么和不能做什么的函数注解,但目前我们可以依赖以下保...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!