solidity - 테스트넷 simple token 배포하기 - 2 / 2 편

이번편에는 필요한 준비물이 두개 있습니다. 하나는 메타스크지갑(ropsten)이고,
둘은 remix 연동입니다. 만약 준비물이 이미 준비가 되어있다면 배포하기로 넘어가서
진행하시면 될 것 같습니다.

목차

  1. 준비물
    1. 메타마스크 설치
    2. 메타마스크 테스트 지갑 열기
    3. remix와 메타마스크 연동
    4. Ropsten 테스트넷 이더리움 받기!
  2. 배포하기
    1. 소스코드 컴파일 및 배포
    2. 정상작동 확인

준비물

[1]메타마스크 설치

메타마스크에 접속해 크롬에 추가 버튼을 누릅니다.

메타마스크 설치

[2]메타마스크 설정

1.초기 시작

크롬 extension에 보면 메타마스크 아이콘이 나옵니다. 따라서, 이것을 클릭하면 웹페이지가 열리며, 시작하기 버튼이 있습니다. 여기서 지갑이 없는 경우 지갑 생성하시고, 비밀키가 있는 경우는 지갑 가져오기 누르시면 됩니다. 저는 지갑 생성을 누르겠습니다. 또한, 저는 메타마스크 개선에 참여하지 않겠습니다.

첫 시작

2.암호 생성

암호 생성은 원하는 암호를 넣고 이용약관 확인 후에 생성 버튼을 누르시면 됩니다. 버튼을 누르면 나오는 지갑 보호 영상을 보고, 지갑 보안 사항에 유의해주세요. 그리고나서, 다음 버튼을 눌러주시면 됩니다!

3.Secret 복구 구문

Secret Recovery Pharase는 지갑을 다시 복구하기 위한 키며, 누구에게도 공개하면 안되는 키입니다. 따라서 암호화된 외장 드라이브나 숨겨진 곳에 잘 보관해야합니다. 그리고, 다음에 나오는 구문에 잘 맞춰서 잘 넣어서 해결해주세요, 이 지갑 복구 키는 꼭 잘 챙겨야 합니다!

복구키 생성

4.테스트넷 설정

메인넷에서 토큰을 발행하려면 가스비가 들어가기 때문에 테스트 용도로 쓰려면, 테스트넷에서 테스트를 진행하는 것이 좋습니다. 따라서 실습은 테스트넷에서 진행하므로, 테스트넷을 설정하도록 합니다. 클릭을 하면 설정창이 나옵니다. 여기서, 고급탭에 들어가서 show test networks을 활성화하고, Ropsten 테스트 네트워크로 수정해줍니다. 그렇게하면 지갑설정은 완료되었습니다!

아!, 그리고 지속적으로 메타마스크를 쓸 예정이면 pin을 해두시는게 좋습니다.

핀 설정

[3] REMIX 설정

리믹스는 브라우저에서 솔리디티 프로그래밍 언어로 스마트 계약 개발과 구측을 지원하는 통합 개발 환경 IDE입니다. 따라서, 작성한 코드를 스마트 계약으로 배포와 테스트를 진행할 수 있습니다. 따라서 https://remix.ethereum.org/ 이곳에 접속합니다.

1. REMIX 작성파일 올리기

1편에서 작성한 소스코드에 복사하여 contract 폴더안에 파일을 만들어서 작성한 코드를 붙여넣도록 하겠습니다. 먼저, contract 폴더를 누르고, 우클릭, 파일을 생성하고, 생성한 파일에 코드를 붙여넣습니다. 저는 파일의 이름은 4.SimpleToken.sol이라고 지었습니다. 확장자명은 꼭 .sol로 통일해주세요.

파일 올리기

[4]Ropsten 테스트넷 이더리움 받기!

테스트 환경에서 진행할 때는 가스비가 필요합니다. 따라서, 테스트넷 이더리움을 받기위해서는 다양한 방법이 가능합니다. 테스트 이더 사이트에 접속해서, 개인 주소를 복사후에 칸에 기입해서 테스트 이더를 받겠습니다, 버튼 클릭후, 시간이 좀 지난후에 지갑에 이더리움 테스트넷 코인이 들어옵니다, 너무 느리다면, https://faucet.egorfine.com/ 여기서 받아도 됩니다!

테스트넷 이더리움 받기

 

배포하기

이제 지갑, 파일, 이더리움 가스비까지 모든 준비를 마쳤습니다.

작성한 것을 컴파일하여 배포하고, 정삭작동하는지 확인하겠습니다.

 

[1].컴파일 및 배포

컴파일을 하기 위해서는 컴파일 탭에 들어가서, 컴파일러 버전과, 언어, evm 버전을 확인하고, complile을 눌러줍니다. 
컴파일을 해서 컴퓨터가 이해하기 쉽게 만드는 과정이라고 생각하면 됩니다. 

컴파일

 

이제 배포를 위한 모든 준비가 완료되었습니다. 배포를 진행해보겠습니다,   배포탭에가서, injected Web3, Ropsten 테스트 넷 지갑주소, 그리고 컴파일한 계약 이름 SimpleToken과 마지막으로 발행할 토큰 이름과, 심볼이름을 정해줍니다. 저는 둘다 ALGO로 진행했습니다. 그리고 배포를 눌러주도록 합니다.

배포

[2].정상 작동확인 

 배포를 완료했습니다. 이제 토큰이 정상적으로 발행되었고, 송금이 되는지 확인해보겠습니다. 그럴려면, 내 지갑에
발행한 토큰을 import 시켜줘야하고, 상대방 지갑도 필요합니다. 과정을 진행해보겠습니다. 발행한 스마트 계약  토큰을 import 시켜주기 위해서는 계약 주소를 알아야 합니다.

 

transection hash값을 복사을 복사하고,  ether scan사이트로 이동해서, 값을 붙여넣고 계약주소를 알아냅니다.

복사 후,  이더 스캔 사이트에서 계약 주소를 알아냄

 

import token 버튼을 누르고, 계약 주소를 넣고,  정상적으로 계약 토큰이 들어왔는지 확인합니다.

 

 

새로운 계정을 만들어줍니다, 그리고 새로운 계정에도 똑같이, import token을 해줍니다. 이더스캔에서 가져왔었던, 계약 주소를 넣어주고, 확인 버튼을 누릅니다.

 

 

 

이제 다시 account1 계정으로 돌아가서, account2 계정으로 생성한 토큰 ALGO를 10개 보내주도록하겠습니다. , account2의 주소는  아까 클립보드에 복사했던 것으로 보내주면 됩니다.

 

 

 

account2로 가니, ALGO 10개가 들어온 것을 보니 가시적으로 스마트 컨트랙트가 배포되었음을 확인할 수 있었습니다.

 

 

이제, 스마트 컨트랙트를 배포완료 했지만, 여전히 보완해야할 점이 있습니다. 그렇기 때문에 여러 문서를 보면서 수정하실 것을 추천드립니다. 

 

추천 문서

- erc-20 표준 문서

https://ethereum.org/ko/developers/docs/standards/tokens/erc-20/