【Ethereum/Turffle】 배포한 스마트 컨트랙트를 Etherscan으로 Verify하는 방법

개요



Ethereum에 배포한 계약을 Ethescan에서 Verify하는 방법에 대한 설명.
Truffle에서 배포한 경우를 가정합니다.
Remix에서도 가능하지만 오류가 발생할 가능성이 높습니다.

할 수 있는 일


  • Etherscan에서 계약과 상호 작용할 수 있습니다
  • Etherscan에서 계약 소스 코드를 게시 할 수 있습니다.

    절차


  • 계약의 소스 코드를 Flatten
  • 생성자에 인수가 있으면 인코딩
  • Etherscan에서 Verify

  • 1. 계약의 소스 코드를 Flatten



    계약 코드를 단일 파일로 결합하는 도구를 설치합니다.-D 에서 개발용 패키지로 설치합니다.
    $ npm install -D truffle-flattener
    

    계약을 단일 파일로 결합합니다.
    다음 명령은 계약에 대한 경로를 인수에 제공합니다.
    $ ./node_modules/.bin/truffle-flattener path/to/your/contract.sol > flat.sol
    
    flat.sol라는 파일에 기록되므로 내용을 복사합니다.

    2. 생성자에 인수가 있으면 인코딩



    constructor 에 준 인수를 16 진수 표기로 encode 합니다.
    여기 사이트에서 인코딩할 수 있습니다.
    빨간색 프레임에서 인수를 16진수로 변환할 수 있습니다.
    변환이 끝나면 복사하십시오.



    3. Etherscan으로 Verify



    Etherscan에서 Verify하려는 배포된 계약 페이지로 이동합니다.
    빨간색 프레임을 클릭합니다.


    소스 코드의 타입에 Single File를 지정해, 컴파일러의 버젼을 지정한다.


    빨간색 테두리에 flat.sol 내용을 붙여넣습니다.
    파란색 프레임에 생성자의 인수를 16진수로 인코딩한 것을 붙여넣습니다.


    Verufy & Publish를 클릭하십시오.

    문제 없으면 완료!

    Verify가 실패하면


  • 컴파일러의 버전 스펙을 검토한다
  • 최적화 옵션을 컴파일 타임에 맞추기
  • Remix로 배포하면 소스 코드가 다를 수 있습니다.

    Happy Hacking!



    참고



    htps : // 미짱 l자ㅇc 코 m / 호 w - ゔ ぇ 리 fy - s rt - t t 등 ct-
    htps : // 아비. 허리 x. 오 rg
  • 좋은 웹페이지 즐겨찾기