闲社服务运行正常AI智能体自动化平台
s

配置Cairo合约

技能标识:setup-cairo-contracts

Set up a Cairo smart contract project with OpenZeppelin Contracts for Cairo on Starknet. Use when users need to: (1) create a new Scarb/Starknet project, (2) add OpenZeppelin Contracts for Cairo dependencies to Scarb.toml, (3) configure individual or umbrella OpenZeppelin packages, or (4) understand Cairo import conventions and component patterns for OpenZeppelin.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.1
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

配置Cairo合约

Cairo 设置

项目脚手架

安装工具链并创建项目:

bash
curl --proto =https --tlsv1.2 -sSf https://sh.starkup.sh | sh
scarb new my_project --test-runner=starknet-foundry

这将搭建一个完整的 Starknet 项目,并预配置 snforge 测试框架。

OpenZeppelin 依赖项

在添加依赖前,请从 https://docs.openzeppelin.com/contracts-cairo 查询当前版本。添加到 Scarb.toml:

完整库(伞包):

toml
[dependencies]
openzeppelin = <版本号>

独立包(构建速度更快——仅编译你使用的部分):

toml
[dependencies]
openzeppelin_token = <版本号>
openzeppelin_access = <版本号>

可用的独立包:openzeppelinaccess、openzeppelinaccount、openzeppelinfinance、openzeppelingovernance、openzeppelininterfaces、openzeppelinintrospection、openzeppelinmerkletree、openzeppelinpresets、openzeppelinsecurity、openzeppelintoken、openzeppelinupgrades、openzeppelin_utils。

openzeppelininterfaces 和 openzeppelinutils 是独立版本管理的。请查阅文档获取其具体版本号。所有其他包共享相同的版本号。

导入约定

导入路径取决于声明的依赖类型:

  • - 伞包(openzeppelin = ...):使用 openzeppelin:: 作为根路径
  • 独立包(openzeppelin_token = ...):使用包名作为根路径

cairo
// 独立包
use openzeppelin_token::erc20::{ERC20Component, ERC20HooksEmptyImpl};
use openzeppelin_access::ownable::OwnableComponent;
use openzeppelin_upgrades::UpgradeableComponent;

// 伞包等效写法
use openzeppelin::token::erc20::{ERC20Component, ERC20HooksEmptyImpl};
use openzeppelin::access::ownable::OwnableComponent;
use openzeppelin::upgrades::UpgradeableComponent;

组件通过 component! 宏、内嵌实现和子存储进行集成:

cairo
component!(path: ERC20Component, storage: erc20, event: ERC20Event);

#[abi(embed_v0)]
impl ERC20MixinImpl = ERC20Component::ERC20MixinImpl;
impl ERC20InternalImpl = ERC20Component::InternalImpl;

存储冲突警告: 在组合多个组件时,#[substorage(v0)] 会将组件存储扁平化到合约的命名空间中。如果两个组件使用相同的内部存储变量名,它们将静默共享同一个存储槽,导致状态损坏。请审查你组合的每个组件的源代码,确保各组件之间不存在命名冲突。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 setup-cairo-contracts-1776078189 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 setup-cairo-contracts-1776078189 技能

通过命令行安装

skillhub install setup-cairo-contracts-1776078189

下载

⬇ 下载 setup-cairo-contracts v1.0.1(免费)

文件大小: 1.92 KB | 发布时间: 2026-4-15 14:19

v1.0.1 最新 2026-4-15 14:19
Initial release: Cairo/OpenZeppelin project scaffolding for Starknet
返回顶部