1. My_Token.sol ์์ฑ
contracts ํด๋์ ์์ฑ
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20{
uint public INITIAL_SUPPLY = 120000;
constructor() public ERC20("My Token","MT"){
_mint(msg.sender, INITIAL_SUPPLY);
} // ์๋ก ๋ค๋ฅธ ์ํธํํ๊ฐ ์๋ ์ฒด์ธ์ ์์ฑ๋๊ณ ๊ตํ๋๋ ๋ฏผํ
๊ตฌํ
}
- ERC20.sol ํ์ผ ๋ถ๋ฌ์์ _mint ๊ธฐ๋ฅ ์ถ๊ฐ
- ์ ํ ํฐ์ ์์ฑํ๋ ์ปจํธ๋ํธ ๋ฐฐํฌ ์ ๋ฏธ๋ฆฌ ์ ์๋ ์์ ํ ํฐ์ ๋ฐํํ๊ธฐ ์ํด _mint ํจ์ ํธ์ถ
2. 3_deploy_MyToken.js ์์ฑ
migrations ํด๋์ ์์ฑ
var MyToken = artifacts.require("MyToken");
module.exports = function(deployer){
deployer.deploy(MyToken);
};
3. truffle-config ๋ณ๊ฒฝ
์ปดํ์ผ๋ฌ ๋ฒ์ ๋ณ๊ฒฝ
4. ๋ฐฐํฌ
ganache-cli ์คํ
๋ค๋ฅธ ํฐ๋ฏธ๋์์ truffle migrate --reset ์ ๋ ฅ
MyToken ์ ๋ณด๊ฐ ์์ ๊ฐ์ด ์์ฑ๋จ
5. MyEtherWallet์ ์ฐ๊ฒฐ
migrate ํ ์์ฑ๋๋ contract address์ MyToken.json์์ abi ๊ฐ ์ ๋ ฅ ํ interact
initial supply, total supply ๋ฑ ๊ธฐ๋ฅ ๋ฐฐํฌ ํ์ธ ๊ฐ๋ฅ
6. ์์ฑํ ์ฌ์ฉ์์ ์ ํ ํฐ์ MetaMask์ ์ฐ๊ฒฐ
account ๊ณ์ ์ ๋ง๋ Private Key๋ก ๊ณ์ ๊ฐ์ ์ค๊ธฐ (ganache-cli ์คํ ์ ๋์ค๋ account์ private key)
๊ณ์ ๊ฐ์ ธ์จ ํ ํ ํฐ ๊ฐ์ ธ์ค๊ธฐ
ERC20 ํ์ค MyToken ์์ฑ ์๋ฃ
728x90
'WEB3' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
web3.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ (0) | 2023.09.24 |
---|---|
๋ฆฌ๋ฏน์ค ์๋ฆฌ๋ํฐ 8.0 ๋ฒ์ ERC20 ํ ํฐ ๋ง๋ค๊ธฐ (0) | 2023.09.24 |
Private Network์ ์ค๋งํธ์ปจํธ๋ํธ ๋ฐฐํฌ (0) | 2023.09.24 |
์๋์ฐ ๋ธ๋ก์ฒด์ธ Private Network ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ (node.js, npm, truffle, ganache, metamask, myetherwallet) (0) | 2023.09.24 |
์ด๋๋ฆฌ์๊ณผ ๋นํธ์ฝ์ธ, ์ด๋๋ฆฌ์ ํ ํฐ ํ์ค (0) | 2023.09.24 |