위 링크에서 체인을 검색하고 메타마스크에 쉽게 연결할 수 있다.
여기서 polygon 검색 후, mumbai testnet에 연결한다.
testnet도 노드가 있는 블록체인 네트워크이고, 코인을 무료로 받아서 test 할 수 있다.
위 링크에서 자신의 메타마스크 지갑주소를 넣어서 Test Matic 을 받을 수 있다.
받은 Test Matic 으로 개발을 진행하면 된다.
Remix 에서 솔리디티를 이용한 스마트 컨트랙트 작성이 가능하다.
좌측에서 .sol 확장자로 파일을 만들고
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
contract MintToken is ERC20Burnable {
constructor(uint256 _initialSupply, string memory _name, string memory _symbol) ERC20(_name, _symbol) {
_mint(msg.sender, _initialSupply * 10 ** 18);
}
}
코드 작성 후, 왼쪽 세번째 탭
코드를 자동 컴파일 하도록 체크.
메타마스크를 연결하고,
initial supply : 발행량
name : 토큰 이름
symbol : 토큰 심볼 ex)bitcoin = BTC
설정.
여기서 initial supply 의 단위는 정수값이 아닌 wei 단위이다.
wei란?
웨이(wei)는 이더리움에서 사용하는 암호화폐인 이더의 가장 작은 단위이다.
1 웨이 = 10-18 이더 = 0.000000000000000001 이더
1 이더 = 1018 웨이 = 1,000,000,000,000,000,000 웨이
그러므로, 10^18 = 1 이더 이다.
아래 코드에 * 10 ** 18 넣어주면 정수값 단위로 생성 가능.
_mint(msg.sender, _initialSupply * 10 ** 18);
burn 하려는 토큰 갯수를 적는데, 여기엔 0이 18자리가 들어가야 한다..
wei 의 최소단위로 계산하기 때문.
한번 배포된 토큰을 완전히 삭제할 수는 없다. 이미 블록체인 네트워크에 올라가있기 때문이다.
토큰을 burn 해서 모두 배포된 토큰 수를 0으로 만들 수는 있음.