技能标识:setup-solidity-contracts
Set up a Solidity smart contract project with OpenZeppelin Contracts. Use when users need to: (1) create a new Hardhat or Foundry project, (2) install OpenZeppelin Contracts dependencies for Solidity, (3) configure remappings for Foundry, or (4) understand Solidity import conventions for OpenZeppelin.
对于现有项目,通过查找 hardhat.config.*(Hardhat)或 foundry.toml(Foundry)来检测框架。对于新项目,询问用户偏好的框架。
bash
npx hardhat init # Hardhat v2
npx hardhat --init # Hardhat v3
bash
npm install @openzeppelin/contracts
bash
npm install @openzeppelin/contracts-upgradeable
bash
curl -L https://foundry.paradigm.xyz | bash
foundryup
bash
forge init my-project
cd my-project
bash
forge install OpenZeppelin/openzeppelin-contracts@v<版本号>
bash
forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v<版本号>
从 https://github.com/OpenZeppelin/openzeppelin-contracts/releases 查找当前版本。请固定到发布标签——如果没有标签,forge install 会拉取默认分支,可能不稳定。
text
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
text
@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
注意
上述重映射意味着 @openzeppelin/contracts/(包括代理合约)和 @openzeppelin/contracts-upgradeable/ 都来自 openzeppelin-contracts-upgradeable 子模块及其子目录,其中包含相同版本号的 openzeppelin-contracts 传递副本。这种格式是 Etherscan 验证所必需的。特别是,任何单独安装的 openzeppelin-contracts 副本都不会被使用。
编译器版本: OpenZeppelin Contracts v5 需要 pragma solidity ^0.8.20。如果部署到不支持 PUSH0 操作码的链(某些 L2),请在编译器配置中将 EVM 版本设置为 paris(例如,Hardhat 中设置 evmVersion: paris,foundry.toml 中设置 evm_version = paris)。
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 setup-solidity-contracts-1776078183 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 setup-solidity-contracts-1776078183 技能
skillhub install setup-solidity-contracts-1776078183
文件大小: 1.85 KB | 发布时间: 2026-4-15 14:20