토큰 만들기 1에서 ERC-20 규격과 지갑설정에 대해 알아보았다ㅏㅏ
이제 진짜 ERC-20 규격을 이용해서 나만의 토큰을 만들어 보자!
먼저, ERC-20 규격 코드에서
아래의 6개 파일의 주소가 필요하다
ERC-20 Github 코드 :
https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1
ERC20.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/token/ERC20/ERC20.sol
IERC20.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/token/ERC20/IERC20.sol
Context.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/GSN/Context.sol
SafeMath.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/math/SafeMath.sol
SimpleToken.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/examples/SimpleToken.sol
ERC20Detailed.sol : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/token/ERC20/ERC20Detailed.sol
해당 코드들을
Remix라는 Solidity 개발을 위한 브라우저 기반의 IDE 에서 임포트해주자ㅏㅏ
Remix는 따로 프로그램의 설치 없이,
아래의 링크로 들어가주면 된다ㅏㅏ
첫 화면에서
GitHub 클릭!
저기 빈 공간에 주소 6개를 차례대로 넣고, ( 한번에 하나씩! )
ok를 눌러준다
그러면, 왼쪽공간에 필요한 파일들이 숑숑 생겨난다
이제, 나의 토큰에 이름과 발행량을 정해주자ㅏㅏ
SimpleToken.sol 파일을 열고,
왼쪽 사이드바에서 2번 째 아이콘을 눌러 컴파일 모드로 들어가준다
constructor () public ERC20Detailed("SimpleToken", "SIM", 18) {
_mint(_msgSender(), 10000 * (10 ** uint256(decimals())));
}
위의 코드에서
"SimpleToken" -> 토큰명
"Sim" -> 심볼
아래의 10000 -> 발행량
을 수정해준다 ( 테스트 용이니 아무렇게나 해줘도 상관없다ㅏㅏ 나의 토큰에 유니크한 이름을 붙여주쟈! )
이후,
왼쪽의 파란색 Compile 버튼을 눌러 우리가 수정한 계약을 컴파일해준다
컴파일이 끝나면,
사이드 바에서 3번 째 아이콘을 눌러 배포창으로 가자ㅏㅏ
배포창에서 ENVIRONMENT 부분을 Injected Web3으로 바꿔준다
배포와 환경에 대한 정보는 아래 링크를 참고하쟈ㅑㅑ
https://remix-ide.readthedocs.io/en/latest/run.html
이후 MetaMask에서 나의 지갑 주소에 자동 인증이 되고,
인증 완료 후에 Remix에 내 계정과 계약이 자동으로 입력된다
Contract란에서 배포할 SimpleToken을 선택하고,
아래의 주황색 Deploy 버튼을 눌러준다
토큰의 배포를 위해 소정의 가스비를 Eather로 지불해주고, ( 1Ether 소진 )
확인을 눌러주면, 계약의 배포가 이뤄진다
이후, 자동으로
테스트 환경의 사이트로 ropsten.etherscan.io 이동하여,
계약 정보가 나오는데,
거기서 Tokens Transferred 란에서 나의 토큰명을 눌러준다
그리고, 다음에 나오는 화면에서
Contranct 란의 주소를 복사해주고,
MetaMask로 돌아와 토큰 추가에 해당 주소를 붙여넣고,
다음 -> 토큰 추가 를 해주면,
짠! 나의 지갑에 예쁘게 나만의 토큰이 들어와 있다!
출처 :
https://goni9071.tistory.com/506?category=718770
'BlockChain > Ethereum' 카테고리의 다른 글
이더리움 주소, 키, 계정의 구성과 역할 이해하기 (0) | 2021.05.31 |
---|---|
Ethereum(이더리움) 투표 dApp 개발 2 (0) | 2021.05.31 |
Ethereum(이더리움) 투표 dApp 개발 1 (0) | 2021.05.31 |
이더리움- dApp 개발환경 구축하기 [Windows] (0) | 2021.05.31 |
이더리움 기반 ERC-20 규격의 토큰 만들어보기 1 (0) | 2021.05.28 |