OpenZeppelinをTruffleにインストールする手順を以下に示します。
- Truffleプロジェクトのディレクトリに移動します。
cd your_truffle_project_directory
- OpenZeppelinをnpmパッケージとしてインストールします。
npm install @openzeppelin/contracts
-
インストールが完了すると、Truffleプロジェクトの
contracts
ディレクトリに@openzeppelin
ディレクトリが作成され、OpenZeppelinのコントラクトファイルが含まれます。 -
Truffleのプロジェクトファイル(
truffle-config.js
またはtruffle.js
)内のcontracts_directory
セクションに、OpenZeppelinのコントラクトファイルのパスを追加します。
module.exports = {
// ...
contracts_directory: './contracts/@openzeppelin',
// ...
};
これでOpenZeppelinがTruffleプロジェクトに正しくインストールされました。
以下に、OpenZeppelinを使用したコード例を示します。
- OpenZeppelinの
ERC20
トークンを使用したスマートコントラクトの例:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor() ERC20("MyToken", "MTK") {
_mint(msg.sender, 1000000 * 10 decimals());
}
}
- OpenZeppelinの
Ownable
トレイトを使用したスマートコントラクトの例:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
contract MyContract is Ownable {
uint public myData;
function setData(uint newData) public onlyOwner {
myData = newData;
}
}
これらの例は、Truffleプロジェクト内のcontracts
ディレクトリに保存し、truffle compile
コマンドでコンパイルすることができます。
このように、OpenZeppelinをTruffleにインストールして使用することで、安全で信頼性の高いスマートコントラクトを簡単に開発することができます。