ERC-20 토큰 브릿징은 L1StandardBridge 컨트랙트를 통해 이루어져요. 이를 위해 필요한 함수 ABI들도 같이 정의해요.
ABI가 뭔가요?
ABI(Application Binary Interface)는 스마트 컨트랙트와 상호작용할 때 필요한 인터페이스에요. 특정 스마트 컨트랙트의 함수 이름, 파라미터, 반환값 등이 포함되어 있어요. Client나 SDK 등에서 컨트랙트를 호출할 때 ABI를 사용해 정확한 호출을 수행할 수 있습니다.
L1 faucet 토큰 받기
Deposit (이더리움 -> GIWA) 을 위해 이더리움 세폴리아 네트워크에서 faucet 토큰이 필요해요. 위에서 정의한 레이어 1 토큰에는 claimFaucet 함수가 구현되어있어요. 아래 코드를 실행해서 claimFaucet 을 실행하고 레이어 1 facuet 토큰을 받으세요.
1
코드 작성하기
2
실행하기
Deposit ERC-20 Token (이더리움 -> GIWA)
이제 이더리움에서 GIWA로 위에서 받은 Faucet 토큰을 브릿징 해볼까요?
아래 코드를 실행하면 이더리움에 있던 여러분의 Faucet 토큰이 실제로는 L1StandardBridge 컨트랙트로 전송되고, 전송한 수량만큼 여러분의 GIWA 지갑으로 전송되는 것을 확인할 수 있어요. 이러한 방식을 Lock-and-Mint 라고 해요.
이더리움에서 GIWA로 ERC-20 토큰이 잘 전송되었나요? 이제 반대로 GIWA에서 이더리움으로 ERC-20 토큰을 브릿징해요.
아래 코드를 실행하면 GIWA에 있던 여러분의 ERC-20 토큰이 소각(burn)되고, 전송한 수량만큼 여러분의 이더리움 지갑으로 전송되는 것을 확인할 수 있어요. 이때는 Deposit에 의해 L1StandardBridge 컨트랙트에 Lock되어있던 ERC-20 토큰이 다시 Unlock되는 형태에요. 이러한 방식을 Burn-and-Unlock 이라고 합니다.
1
구성
레이어 2에서 withdrawal 개시 트랜잭션 전송
레이어 1에서 withdrawal 증명 트랜잭션 전송
레이어 1에서 withdrawal 완료 트랜잭션 전송
Withdrawal 완료
2
코드 작성하기
3
실행하기
더 알아보기
ETH, ERC-20 토큰과 같은 자산 외에도 데이터를 브릿징하고 싶나요? OP 스택 문서를 읽고 여러분이 직접 구현해보세요.