[Remix IDE] JavaScript를 이용한 ERC-20토큰을 생성하고 배포하는 방법

BLOCKSDK·2023년 11월 22일
0

이 글에서는 Remix와 MetaMask를 이용하여 goerli 테스트넷에 ERC-20 토큰을 생성하고 배포하는 방법을 알아봅니다. ERC-20토큰을 생성하지 않았다면 ERC-20토큰 생성 하는방법에 가서 토큰을 생성해주시기 바랍니다.

ERC-20 토큰은 이더리움 블록체인에서 가장 흔히 사용되는 토큰 표준 중 하나입니다. 이를 통해 사용자는 자신만의 디지털 자산을 생성하고 다른 사용자와 교환할 수 있습니다.

또한, 스마트 계약을 작성함으로써 우리는 ERC-20 토큰을 만들 수 있습니다. 이 토큰은 이더리움 블록체인 상에서 디지털 자산으로 존재하게 되며, 프로젝트나 아이디어에 활용될 수 있습니다.

ERC-20 토큰: 간단한 소개

ERC-20은 Ethereum Request for Comments의 약자로, 이더리움 네트워크에서 사용되는 토큰 입니다.

간단한 스마트 계약을 작성함으로써 우리는 ERC-20 토큰을 만들 수 있습니다. 이 토큰은 이더리움 블록체인 상에서 디지털 자산으로 존재하게 되며, 여러분의 프로젝트에 활용될 수 있습니다.

이제 ERC-20 토큰을 생성하고 배포하는 단계로 나아가 보겠습니다.

개발 환경 설정

먼저, 개발을 시작하기 전에 몇 가지 도구와 환경을 설정해야 합니다. 이더리움 개발에 익숙하지 않다면 리믹스(Remix)라는 온라인 개발 환경을 사용하는 것이 좋습니다.
Remix에 접속하여 새로운 파일을 생성합니다.

1. Remix IDE 홈페이지에 접속하기

Remix 웹 사이트에 접속합니다.

2. Contracts 폴더에 원하는 이름으로 .sol파일을 만들어줍니다.

Remix 에디터의 왼쪽 사이드바에서 File Explorers를 열고, contracts폴더를 클릭하여 새 파일을 생성합니다. 새 파일의 이름을 입력하고, 확장자를 .sol로 설정합니다.

저는 BlockSDKTest.sol로 파일을 생성하겠습니다.

3. ERC-20 토큰 스마트 계약 작성

2번에서 생성한 파일에 아래 예시 코드를 붙여 넣어주고 코드 블록의 주석을 확인합니다.

컴파일하는 과정에서 오류가 발생할 수 있습니다. 반드시 아래 코드와 동일하게 작성하고 컴파일 해주세요.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract MyToken {
    // 토큰의 이름과 심볼, 총 공급량을 저장하는 변수
    string public name = "MyToken";
    string public symbol = "MT";
    uint256 public totalSupply = 1000000;

    // 각 주소별 잔고를 저장하는 매핑
    mapping(address => uint256) public balanceOf;

    // 계약 생성 시 총 공급량을 계약 소유자에게 할당
    constructor() {
        balanceOf[msg.sender] = totalSupply;
    }
    
    // 다른 주소로 토큰을 전송하는 함수
    function transfer(address to, uint256 amount) external {
        // 보내는 주소의 잔고가 전송하려는 양보다 큰지 확인
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        
        // 전송
        balanceOf[msg.sender] -= amount;
        balanceOf[to] += amount;
    }
}

4. 컴파일 하기

Remix 화면의 왼쪽 사이드바에서 Solidity compiler를 선택합니다. Solidity compiler 섹션에서 Compile 버튼을 클릭하고 스마트 계약을 컴파일 합니다.

컴파일이 된 경우 화면 왼쪽 사이드바 솔리디티 아이콘에 체크가 표시됩니다.

5. 배포하기

Remix 화면의 왼쪽 사이드바에서 Deploy & run transactions를 선택합니다.

배포 시 ENVIRONMENT를 Injected Provider – MataMask로 변경합니다.

Injected Provider - MataMask로 변경 후 메타마스크로 연결화면이 나오면 다음 클릭 후 연결 버튼을 클릭합니다.

메타 마스크로 변경 시 브라우저 메타 마스크에서 로그인과 네트워크 설정이 진행 될 수 있습니다.

만약 리스트에 메타마스크가 존재하지 않는다면 메타마스크를 먼저 설치하고, goerli 테스트넷에 연결해주세요.

메타마스크에 연결이 정상적으로 이루어졌다면 배포합니다.

Deploy를 클릭하면 Gas estimation failed라는 창 하나가 뜨는데 여기서 Send Transaction을 클릭합니다.

다음은 수수료 설정창이 나오는데 Confirm을 클릭합니다.

Confirm을 클릭하면 메타마스크창이 나오는데 수수료를 지불할 계정에 수수료가 부족하면 아래 화면의 빨간색 박스의 경고메시지가 나옵니다. 반드시 수수료가 있는지 확인합니다.

수수료 확인 후 컨펌을 클릭합니다.

6. 배포 완료 확인하기

메타마스크에서 배포가 완료된 것을 확인할 수 있으며, 블록 탐색기에서 보기 클릭 시 goerli etherscan 에서 확인할 수 있습니다.

goerli etherscan에서 정상적으로 배포된 것을 확인 할 수 있으며, state에서 정보를 확인할 수 있습니다.

마무리하며

ERC-20 토큰의 생성 및 배포는 이더리움 네트워크에서 중요한 역할을 하는 기능입니다. 이 과정을 통해 개발자들은 자신의 프로젝트나 조직을 위한 맞춤형 디지털 자산을 쉽게 만들 수 있으며, 이러한 자산은 글로벌 경제에서 교환될 수 있는 실질적 가치를 지냅니다.

ERC-20 토큰은 그 유연성과 이더리움 블록체인과의 호환성 덕분에, 다양한 애플리케이션에서 널리 사용됩니다. 토큰을 이용하여 사용자들은 보다 투명하고 효율적인 방식으로 가치를 교환할 수 있으며, 프로젝트 개발자는 커뮤니티 구성원들과의 관계를 강화하고, 자금 조달을 용이하게 할 수 있습니다.

더 읽을거리

[BLOCKSDK] JAVASCRPT로 ERC-721(NFT)을 생성하고 배포하는 방법

[BlockSDK] JAVASCRIPT로 이더리움 ERC721(NFT)을 조회하는 방법

이더스캔 Verify & Publish 작성하기 (Remix IDE flatten)

profile
BLOCKSDK는 간편 코인 제작 기능 과 블록체인 서비스 개발을 단순화하여 블록체인에 전문화된 개발자 없이 빠르게 개발할수 있는 API 와 완성형 솔루션 제공 서비스입니다

1개의 댓글

comment-user-thumbnail
2024년 4월 27일

안녕하세요 코인은생성했는데 아이콘이미지를 변경할수도있을까요~?

답글 달기

관련 채용 정보