Write a Smart Contract
In this section, we'll learn how to write a smart contract using the OpenZeppelin library and Solidity. OpenZeppelin is widely used for its secure, community-vetted, and standardized codebase, which simplifies developing robust and secure smart contracts.
Create a Smart Contract​
Step 1: Install OpenZeppelin Contracts​
Run the following command to install the OpenZeppelin's library of reusable smart contracts.
npm install @openzeppelin/contracts
Step 2: Create a Token Contract​
- Navigate to the
contracts
directory in the root directory of quick start project:
cd contracts
- In the contracts directory, open the
MyToken.sol
file for your token contract:
To configure an ERC20 token, copy the code snippet below and paste it in your token file or view the complete MyToken.sol
file on GitHub.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
_mint(msg.sender, initialSupply);
}
}
This contract defines an ERC20
token named MyToken
with the symbol MTK
, using OpenZeppelin's ERC20 standard implementation.
Compile the Contract​
To build the contract, run the following command in the project's root directory.
npx hardhat compile
This will compile your smart contracts and generate artifacts:
% npx hardhat compile
Downloading compiler 0.8.20
Compiled 6 Solidity files successfully (evm target: paris).
Next​
- Test your Smart Contract to ensure it's working as expected.