EVM에 자금 입금 및 인출하기

이 튜토리얼은 인프라EVM 체인에서 자금을 입금 및 인출하는 방법을 설명합니다.

시작하기 전에

시작하기 전에 다음을 확인하세요:

주소 변환하기

인프라EVM 파라체인은 두 가지의 주소 체계를 사용하고 있습니다.

  • SS58 address

  • H160 address

SS58 address는 Substrate 레이어에서 사용하고 있으며, H160 address는 EVM 레이어에서 사용하고 있습니다.

SS58 Address → H160 Address

ss58-to-h160

SS58 address에서 H160 address로의 주소 변환은 위 이미지와 같이 이루어집니다.

SS58 address를 디코딩하여 획득한 32바이트의 버퍼 중, 앞의 20바이트만 H160 address로 사용합니다.

이를 구현해 놓은 자바스크립트 파일이 레포지토리arrow-up-right에 포함되어 있습니다.

SS58 address를 H160 address로 변환하는 방법은 아래와 같습니다.

  1. 컴퓨터의 터미널 셸을 엽니다.

  2. 다음 명령을 실행하여 인프라EVM 파라체인 저장소를 복제합니다:

    이 명령은 master 브랜치를 복제합니다.

  3. 다음 명령을 실행하여 노드 템플릿 디렉토리의 루트로 이동합니다:

    작업을 포함할 새 브랜치를 만듭니다:

    yyyy-mm-dd를 원하는 식별 정보로 바꾸세요. 숫자로 된 연도-월-일 형식을 권장합니다. 예를 들어:

  4. 다음 명령을 실행하여 주소 변환을 수행합니다:

H160 Address → SS58 Address

h160-to-ss58

H160 address에서 SS58 address로의 주소 변환은 위 사진과 같이 이루어 집니다.

"evm:" 문자열로 구성된 버퍼와 H160 address로 구성된 버퍼를 합쳐 이를 blake2 해시함수로 해시값을 획득한 뒤 획득한 해시값을 SS58 형식으로 인코딩하여 SS58 address를 획득할 수 있습니다.

이를 구현해 놓은 자바스크립트 파일이 레포지토리arrow-up-right에 포함되어 있습니다.

H160 address를 SS58 address로 변환하는 방법은 아래와 같습니다.

  1. 컴퓨터의 터미널 셸을 엽니다.

  2. 다음 명령을 실행하여 인프라EVM 파라체인 저장소를 복제합니다:

    이 명령은 master 브랜치를 클론합니다.

  3. 다음 명령을 실행하여 노드 템플릿 디렉토리의 루트로 이동합니다:

    작업을 포함할 새 브랜치를 만듭니다:

    yyyy-mm-dd를 원하는 식별 정보로 바꾸세요. 숫자로 된 연도-월-일 형식을 권장합니다. 예를 들어:

  4. 다음 명령을 실행하여 주소 변환을 수행합니다:

Substrate에서 EVM으로 자산 이동하기

  1. 위에서 설명한 방법을 사용하여 EVM에서 사용할 H160 address에 매핑된 SS58 address를 획득합니다.

  2. 획득한 SS58 address로 자산을 이동시킵니다.

    transfer-asset

    기본적으로 인프라EVM 파라체인에서는 99번 asset을 EVM의 네이티브 토큰으로 사용하도록 연동되어 있습니다.

  3. MetaMask 등의 EVM 월렛에 반영되었음을 확인합니다.

    metamask-balance

EVM에서 Substrate로 자산 이동하기

  1. 위에서 설명한 방법을 사용하여 Substrate에서 사용할 SS58 address와 매핑된 EVM address를 획득합니다.

  2. 획득한 EVM address로 자산을 이동시킵니다.

    transfer-asset
  3. 인프라블록체인 익스플로러arrow-up-right 에 접속하여 아래 과정을 따릅니다.

  • 개발자 - 익스트린식 - evm 팔레트의 withdraw 익스트린식을 선택합니다.

    아래와 같이 구성하고 익스트린식을 발생시킵니다.

    withdraw

    1번 과정에서 주소를 변환할 때 사용하였던 SS58 계정이 익스트린식을 실행시켜야 합니다.

  1. 이벤트를 확인하여 정상적으로 자산이 입금되었는지 확인합니다.

    withdraw-success

다음 단계로 넘어가기

Last updated