Openzeppelin
關於如何使用 OpenZeppelin 的 SafeERC20.sol 的菜鳥問題
我想
SafeERC20.sol
在我的項目中使用,純粹是因為safeTransfer()
. 我這樣做的方式是我只是將SafeERC20.sol
文件放在我的項目文件夾中,然後使用import "./SafeERC20.sol";
文件頭部的行以及using SafeERC20 for IERC20
契約中的行。問題是,正如我所見,它SafeERC20.sol
也使用Address.sol
OpenZeppelin,所以我必須將該文件也放在我的項目文件夾中。這是導入文件的正確方法嗎?還是我應該從 OpenZeppelin 下載所有庫/文件夾並將它們放在我的項目文件夾中?如果我這樣做並且我只使用其中的 2 個,編譯器會只編譯這 2 個 OZ 文件而不是全部嗎?謝謝
您需要通過 yarn 或 npm 將 OpenZeppelin npm 包安裝到您的項目目錄中,例如:
yarn add @openzeppelin/contracts
或者
npm install --save @openzeppelin/contracts
SafeERC20.sol
然後從那些已安裝的包中導入,例如:import "@openzeppelin/contracts/<route to file>/SafeERC20.sol";
然後,您需要將其用於以下用途
IERC20
:using SafeERC20 for IERC20;
您不需要導入 OpenZeppelin 的
Address.sol
. 如果它是 的依賴項IERC20
,則在您導入時它已經被隱式導入SafeERC20.sol
。