返回顶部
🇺🇸 English
🇨🇳 简体中文
🇨🇳 繁體中文
🇺🇸 English
🇯🇵 日本語
🇰🇷 한국어
🇫🇷 Français
🇩🇪 Deutsch
🇪🇸 Español
🇷🇺 Русский
s

setup-stylus-contracts

Set up a Stylus smart contract project with OpenZeppelin Contracts for Stylus on Arbitrum. Use when users need to: (1) install Rust toolchain and WASM target for Stylus, (2) create a new Cargo Stylus project, (3) add OpenZeppelin Stylus dependencies to Cargo.toml, or (4) understand Stylus import conventions and storage patterns for OpenZeppelin.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
190
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

setup-stylus-contracts

# Stylus Setup ## Rust & Cargo Stylus Setup Install the Rust toolchain and WASM target: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup target add wasm32-unknown-unknown ``` Install the Cargo Stylus CLI: ```bash cargo install --force cargo-stylus ``` Create a new Stylus project: ```bash cargo stylus new my_project ``` > A Rust nightly toolchain is required. The project should include a `rust-toolchain.toml` specifying the nightly channel, `rust-src` component, and `wasm32-unknown-unknown` target. Check the [rust-contracts-stylus repo](https://github.com/OpenZeppelin/rust-contracts-stylus) for the current recommended nightly date. ## Adding OpenZeppelin Dependencies Look up the current version from [crates.io/crates/openzeppelin-stylus](https://crates.io/crates/openzeppelin-stylus) before adding. Add to `Cargo.toml`: ```toml [dependencies] openzeppelin-stylus = "=<VERSION>" ``` Enable the `export-abi` feature flag for ABI generation: ```toml [features] export-abi = ["openzeppelin-stylus/export-abi"] ``` The crate must be compiled as both a library and a cdylib: ```toml [lib] crate-type = ["lib", "cdylib"] ``` ## Import Conventions Imports use `openzeppelin_stylus` (underscores) as the crate root: ```rust use openzeppelin_stylus::token::erc20::{Erc20, IErc20}; use openzeppelin_stylus::access::ownable::{Ownable, IOwnable}; use openzeppelin_stylus::utils::pausable::{Pausable, IPausable}; use openzeppelin_stylus::utils::introspection::erc165::IErc165; ``` Contracts use `#[storage]` and `#[entrypoint]` on the main struct, embedding OpenZeppelin components as fields: ```rust #[entrypoint] #[storage] struct MyToken { erc20: Erc20, ownable: Ownable, } ``` Public methods are exposed with `#[public]` and `#[implements(...)]`. The canonical pattern uses an empty impl block for dispatch registration, plus separate trait impl blocks: ```rust #[public] #[implements(IErc20<Error = erc20::Error>, IOwnable<Error = ownable::Error>)] impl MyToken {} #[public] impl IErc20 for MyToken { type Error = erc20::Error; // delegate to self.erc20 ... } ``` Top-level modules: `access`, `finance`, `proxy`, `token`, `utils`. ## Build & Deploy Basics Validate the contract compiles to valid Stylus WASM: ```bash cargo stylus check ``` Export the Solidity ABI: ```bash cargo stylus export-abi ``` Deploy to an Arbitrum Stylus endpoint: ```bash cargo stylus deploy --endpoint="<RPC_URL>" --private-key-path="<KEY_FILE>" ``` > **Private key security:** Never use `--private-key` with a raw key on the command line — it will be visible in shell history and process lists. Always use `--private-key-path` with a file that has restrictive permissions (`chmod 600`), or use a hardware wallet / keystore.

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 setup-stylus-contracts-1776078136 技能

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

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

通过命令行安装

skillhub install setup-stylus-contracts-1776078136

下载

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

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

v1.0.1 最新 2026-4-15 14:20
Fix display name from probe to proper title

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部