✔️ OpenZeppelin 라이브러리
기본적이고 많이 사용되는 스마트컨트랙트 코드를 모아놓은 라이브러리
pragma solidity ^0.8.0;
import "<https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol>";
// ERC20 컨트랙트에 contract 부분을 덮어쓰겠다.
contract tanktoken is ERC20{
// contructor는 스마트컨트랙트가 생성될 때 딱 1회 호출되는 함수
// contructor 함수 내부에 선언된 행동들이 스마트컨트랙트가 생성될 때 함께 이루어짐
// 여기서 ERC20 컨트랙트에 정의된 _mint 함수를 사용
constructor(string memory name, string memory symbol) ERC20(name,symbol){
_mint(msg.sender, 1000*10**uint(decimals()));
}
}
tanktoken.sol 작성
0.8.0 버전으로 컴파일
metamask와 연결 후 계정 선택 → 배포 시 이더 필요
✔️ Deploy시 name과 symbol 작성 가능
name: 토큰 이름
symbol: 토큰 단위
Deploy 하면 저절로 오른쪽과 같이 metamask 승인 창 생성