← 返回
开发者工具 中文

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 OpenZe...
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 OpenZe...
samledger67-dotcom
开发者工具 clawhub v1.0.1 2 版本 100000 Key: 无需
★ 0
Stars
📥 519
下载
💾 7
安装
2
版本
#latest

概述

Solidity Setup

For existing projects, detect the framework by looking for hardhat.config.* (Hardhat) or foundry.toml (Foundry). For new projects, ask the user which framework they prefer.

Hardhat Setup

  • Initialize project (only if starting a new project)
npx hardhat init        # Hardhat v2
npx hardhat --init      # Hardhat v3
  • Install OpenZeppelin Contracts:
npm install @openzeppelin/contracts
  • If using upgradeable contracts, also install the upgradeable variant:
npm install @openzeppelin/contracts-upgradeable

Foundry Setup

  • Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
  • Initialize project (only if starting a new project)
forge init my-project
cd my-project
  • Add OpenZeppelin Contracts:
forge install OpenZeppelin/openzeppelin-contracts@v<VERSION>
  • If using upgradeable contracts, also add the upgradeable variant:
forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v<VERSION>

> Look up the current version from https://github.com/OpenZeppelin/openzeppelin-contracts/releases. Pin to a release tag — without one, forge install pulls the default branch, which may be unstable.

  • remappings.txt (if not using upgradeable contracts)
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
  • remappings.txt (if using upgradeable contracts)
@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/

> Note

> The above remappings mean that both @openzeppelin/contracts/ (including proxy contracts) and @openzeppelin/contracts-upgradeable/ come from the openzeppelin-contracts-upgradeable submodule and its subdirectories, which includes its own transitive copy of openzeppelin-contracts of the same release version number. This format is needed for Etherscan verification to work. Particularly, any copies of openzeppelin-contracts that are installed separately are NOT used.

> Compiler version: OpenZeppelin Contracts v5 requires pragma solidity ^0.8.20. If deploying to chains that do not support the PUSH0 opcode (some L2s), set the EVM version to paris in the compiler configuration (e.g., evmVersion: "paris" in Hardhat, evm_version = "paris" in foundry.toml).

Import Conventions

  • Standard: @openzeppelin/contracts/token/ERC20/ERC20.sol
  • Upgradeable: @openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol
  • Use upgradeable variants only when deploying behind proxies; otherwise use standard contracts.

版本历史

共 2 个版本

  • v1.0.1 当前
    2026-05-01 18:02 安全 安全
  • v1.0.0
    2026-03-20 03:10 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 667 📥 323,812
data-analysis

Financial Analysis Agent

samledger67-dotcom
面向AI智能体的财务分析技能,涵盖差异分析、现金流预测、月结自动化、CFO评述生成及13周现金流等内容。
★ 2 📥 1,570
developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,731