本文介绍了在有限域中执行FFT算法(数论变换)所需的n次单位根,并列举了几个常用的FFT友好的有限域,包括Goldilocks Field、Baby Bear Field、Teddy Bear Field、Koala Bear Field、BN-128 field、STARK Field和BLS12-381,以及它们各自的特征和单位根的阶数,并提供了相应的Python代码验证。
本文介绍了Cairo编程语言的基础知识,包括Cairo在Starknet中的作用、开发环境的搭建、语言的语法要点和数据类型(felt252、整数、bool)、复合类型(元组、结构体、枚举)、字符串处理、控制流以及数组和字典的使用。着重讲解了Cairo与Rust相似的语法结构,以及Cairo中数据类型和错误处理的特殊性。
本文是 Cairo 编程的入门教程,面向有 Solidity 经验的开发者,旨在帮助他们快速上手 Cairo 语言。教程介绍了 Cairo 的基本概念、安装配置、项目结构,以及Cairo与Solidity的异同,还包括Starknet账户创建和初始化,以及如何避免旧版本 Cairo 代码的问题。
本文深入探讨了Starknet中Cairo事件的工作原理和结构,首先介绍了Cairo中事件的基本结构,并通过示例展示了如何使用[event]属性定义事件枚举和结构体。
[event]
本文详细介绍了如何在Starknet上构建和测试一个ERC-20代币合约,内容涵盖了ERC-20接口的定义、合约的存储设置、事件声明、以及各个功能的具体实现,包括元数据函数、total_supply、mint、transfer、balance_of、allowance、approve和transfer_from等关键功能,并提供了相应的测试用例和潜在问题的解决方案。
本文介绍了如何使用 Cairo 语言为 Starknet 构建可部署的智能合约。文章从一个简单的合约草图开始,逐步添加功能,演示了 Cairo 合约的核心构建块,包括模块、接口(trait)、存储、合约状态以及不同的注解,最后介绍了合约的编译和测试方法。
本文详细介绍了 Cairo 中类型转换的概念、Into 和 TryInto 两个 trait 的区别和使用场景,以及 felt252、uint、Address、ByteArray、String 和 bool 等类型之间的转换方法。Cairo 强调类型安全和显式转换,避免了隐式转换可能导致的数据丢失和错误,提高了智能合约的可靠性。
Into
TryInto
felt252
uint
Address
ByteArray
String
bool
本文介绍了Cairo中构造函数的使用方法,包括构造函数在合约部署时的作用、Cairo构造函数与Solidity构造函数的不同之处,以及如何在Cairo中传递复杂类型和处理构造函数的返回值。此外,还提到了Cairo中没有像Solidity那样直接支持payable构造函数。
本文介绍了如何在 Cairo 中实现类似 Solidity 中 internal、private 和 pure 函数的功能。
本文介绍了 Cairo 中的 Component 概念,它类似于 Solidity 中的抽象合约,可以定义存储、事件和函数,但不能独立部署。文章通过一个示例,详细讲解了如何在 Cairo 中创建和使用 Component,包括接口定义、Component 声明、合约集成以及存储和事件的导入。