이더리움 토큰 발행 3) 토큰 Local에서 발행하기 / metamask

2021. 7. 16. 13:25블록체인/Solidity

 

1. 환경 설정 
2. 작업 폴더 생성
3. 코드 작성
4. 배포
5. 거래

 

1. 환경 설정

https://jeongjun9-diary.tistory.com/20

 

이더리움 토큰 발행 1) Solidity 개발 환경 (Ethereum/meta mask, truffle,ganache 설치 )

이더리움 솔리 디티 개발 환경 구성에 대해 시작해보겠습니다. 1. MetaMasek 설치 2. truffle, ganache 설치 크롬에서 Meta Mask 다운로드하고 가입하기 https://metamask.io/download.html MetaMask Download A c..

jeongjun9-diary.tistory.com

계정 생성까지는 동일합니다.

 

2. 작업 폴더 생성

mkdir jjtoken
cd jjtoken/
truffle init
npm init -y
npm install @openzeppelin/contracts
ganache-cli

 

3. 코드 작성 

 

1) contracts / JJToken.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import '/@openzeppelin/contracts/token/ERC20/ERC20.sol';

contract JJToken is ERC20 {
    uint public INITIAL_SUPPLY = 21000000;  //발행량 설정 (비트코인과 동일하게 설정했음)

    constructor() public ERC20("JJ TOKEN", "JJT") {    //토큰이름, 토큰 심볼 설정
        _mint(msg.sender, INITIAL_SUPPLY * 10 ** (uint(decimals())));    //발행 수 설정

    }
}

2) migrations / 2_deploy_JJToken.js

var JJToken = artifacts.require("./JJToken")

module.exports = function(deployer){
    deployer.deploy(JJToken);
}

3) truffle-config.js

development 주석 풀기
버전 설정

 

4. 배포

cd jjtoken
truffle compile
truffle migrate --reset    //--reset : deploy 다시 함

truffle migrate --reset
토큰 추가 클릭하고 contract address 입력

Metamask 접속 후  토큰 계약 주소에 contract address 입력하게 되면

설정한 토큰 이름과 소수점 자릿수가 자동으로 표기된다. 다음 클릭

토큰 생성 완료!

5) 거래

 

 

토큰 추가하고 메인으로 오면 추가된 모습을 볼 수 있다.

다음 JJT 보내기를 누른다.

 

검색창에 지갑 주소를 넣어서 전송도 가능하지만 , 계정 간 전송을 사용해보겠다.

Account 2로 보내겠다.
다음

 

Account 2로 접속을 하면 2000JJT가 들어온 것을 확인할 수 있다.

 

txinfo 까지 볼 수 있다.


metamask에서 보내기 오류가 나오는 경우가 있는데 

x 누르고 다시 실행하면 잘된다.