Loading...
Loading...
Compare original and translation side by side
hardhat.config.*foundry.tomlhardhat.config.*foundry.tomlnpx hardhat init # Hardhat v2
npx hardhat --init # Hardhat v3npm install @openzeppelin/contractsnpm install @openzeppelin/contracts-upgradeablenpx hardhat init # Hardhat v2
npx hardhat --init # Hardhat v3npm install @openzeppelin/contractsnpm install @openzeppelin/contracts-upgradeablecurl -L https://foundry.paradigm.xyz | bash
foundryupforge init my-project
cd my-projectforge install OpenZeppelin/openzeppelin-contracts@v<VERSION>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,pulls the default branch, which may be unstable.forge install
remappings.txt@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/remappings.txt@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(including proxy contracts) and@openzeppelin/contracts/come from the@openzeppelin/contracts-upgradeable/submodule and its subdirectories, which includes its own transitive copy ofopenzeppelin-contracts-upgradeableof the same release version number. This format is needed for Etherscan verification to work. Particularly, any copies ofopenzeppelin-contractsthat are installed separately are NOT used.openzeppelin-contracts
curl -L https://foundry.paradigm.xyz | bash
foundryupforge init my-project
cd my-projectforge install OpenZeppelin/openzeppelin-contracts@v<VERSION>forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v<VERSION>可从https://github.com/OpenZeppelin/openzeppelin-contracts/releases查询当前版本。请固定到某个发布标签——如果不指定,`forge install`会拉取默认分支,该分支可能不稳定。
remappings.txt@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/remappings.txt@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的传递副本。这种格式是为了让Etherscan验证能够正常工作。特别注意:单独安装的任何openzeppelin-contracts副本都不会被使用。openzeppelin-contracts
@openzeppelin/contracts/token/ERC20/ERC20.sol@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol@openzeppelin/contracts/token/ERC20/ERC20.sol@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol