🔑 코인 투자 추천 링크 🔑
4. openzeppelin 사용하여 ERC20 토큰 만들기
6. web3.js 와 자바스크립트를 활용한 간단한 예제
10. 솔리디티 조건문, 반복문(if, else, for)
11. 솔리디티 암호화폐 지불(호텔룸 예약하기 프로그램)
13. 리믹스 솔리디티 6.0 버전 ERC20토큰 만들기
14. web3.js 와 자바스크립트를 활용하여 (이더잔액조회) 지갑 만들기
15. 솔리디티 컨트랙트 Web.js 활용하여 웹으로 보여주기
* 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심가치 강의
내용이 어려우신 분들은 유튜브 영상 참고하세요!!
1. 리믹스에서 mytoke.sol 파일을 생성합니다.
2. github에 있는 openzeppelin 라이브러리의 erc20.sol 소스를 import합니다.
3. import후 ctrl+s 하면(컴파일) 관련 파일들을 자동으로 다운로드합니다.
4. Mytoken.sol파일에 아래와 같이 코딩해줍니다.
소스는 이렇습니다.
pragma solidity ^0.8.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20{
constructor(string memory name, string memory symbol) ERC20(name,symbol){
// mint 1000 token
_mint(msg.sender, 1000*10**uint(decimals()));
}
}
5. 컴파일 해줍니다. 버전을 8.0으로 맞춥니다.
6. Deploy를 해줍니다.
- 메타마스크가 사전에 설치되어 있어야 합니다.(이 부분은 설명은 생략합니다.)
- Injected Web3를 선택하면 메타마스크로 연결이 됩니다.
- 메타마스크를 연결하고 Ropsten 테스트넷 계정을 연결합니다.
* 혹시 Ropsten 테스트넷 계정에 이더가 없으면, 아래 사이트에서 이더를 받습니다.
https://faucet.dimensions.network/
이제 모든 준비가 끝났습니다. 마지막으로 컨트랙트 MyToken을 선택해주고 Deploy하면 Ropsten테스트넷 계정으로 컨트랙트가 배포됩니다. (delploy 오른쪽에 토큰명, 심볼을 지정해줍니다.)
Deploy를 클릭하면, 메타마스크로 자동연결이 되면서 승인을 누를것을 요청합니다. 승인해줍니다.
트랜잭션이 정상적으로 되었으면, 아래와 같이 메타마스크에서 Confirmed transaction 메세지를 보내줍니다.
해당 링크를 따라 들어가서 컨트랙트 주소를 살펴봅니다.
아래와 같이 150 MyToken(MT)이 만들어졌네요!!
와우!!!! 이제 이 MyToken을 친구들에게 보내주면 됩니다!!!!
뭔가 아쉬우니...마지막으로 리믹스로 돌아가서 기본적으로 어떤 기능을 제공하는지 살펴봅니다.
아래와 같은 기능들을 제공하고 있네요.
그런데, 우리에게는 조금 더 많은 기능이 필요합니다.
락이라든지..에어드랍이라든지..종류는 많이 있겠죠?
일단 기본적인 ERC20 토큰 생성법은 아래 메뉴얼에 잘 나와 있습니다.
docs.openzeppelin.com/contracts/3.x/erc20
기본적으로 제공하고 있는 기능과 추가적으로 제공하는 기능들은 아래와 같습니다.
ERC20 기본기능
추가적으로 사용할 수 있는 기능
ERC20Snapshot
ERC20Pausable
ERC20Burnable
ERC20Capped
SafeERC20
TokenTimelock
기본기능과 추가기능 모두 아래 API 메뉴얼을 통해서 사용법을 확인 할 수 있으니 한번씩 응용해서 토큰을 만들어보세요!!!
docs.openzeppelin.com/contracts/3.x/api/token/erc20
참고로 이 예제는 테스트넷에 배포하였는데, 메인넷 배포를 위해서는 메인넷 계정을 연결하고 Deploy하면 됩니다.
Deploy를 누르면 아래와 같은 화면이 뜹니다.
가스비가 아래와 같이 소요되네요~
트랜잭션이 성공했습니다. 10초도 안걸렸네요!!!
자, 그럼 이걸 제 지갑에 추가해야겠죠?
아래와 같이 토큰컨트랙트 주소를 추가하면 자동으로 추가됩니다.
토큰 추가 하면 제 지갑에서 토큰을 보낼 수 있습니다.
아래 이더리움 메인넷에서 제가 발행한 실제 토큰을 확인할 수 있습니다.
이제 ICO후에 상장하는 일만 남았군요!!!
블록체인 교육 문의는 아래 링크 참고 바랍니다.
댓글