OptimismMintableERC20Factory를 통해 배포되는 표준 토큰(standard token). 이 팩토리 컨트랙트로 생성된 토큰은 Standard Bridge 시스템과 호환되며 입금(디파짓), 전송, 출금을 위한 기본 로직을 포함합니다. L2 토큰에 특수한 로직이 필요하지 않다면 이 방법을 선택하십시오.IOptimismMintableERC20인터페이스를 직접 구현하는 커스텀 토큰(custom token). 커스텀 토큰을 사용하면 토큰이 입금될 때마다 추가 로직을 트리거하는 등의 작업을 할 수 있습니다. 이와 같은 특수한 동작이 필요하다면 이 방법을 선택하십시오.
Standard Bridge는 bridge 회계 오류를 일으킬 수 있으므로 전송 수수료 토큰(fee on transfer tokens)이나 리베이싱 토큰(rebasing tokens)을 지원하지 않습니다.
OptimismMintableERC20 소개
Standard Bridge 시스템에서는 L1 토큰의 L2 표현 토큰이IOptimismMintableERC20 인터페이스를 구현해야 합니다.
이 인터페이스는 표준 ERC-20 인터페이스의 상위 집합으로, bridge가 입금/출금을 올바르게 검증하고 필요에 따라 토큰을 발행/소각할 수 있도록 하는 함수를 포함합니다.
Standard Bridge 시스템을 사용하여 브리징하려면 L2 토큰 컨트랙트가 이 인터페이스를 구현해야 합니다.
이 튜토리얼에서는 OptimismMintableERC20Factory를 통해 기본 표준 ERC-20 토큰을 배포하는 방법과, 인터페이스를 직접 구현하는 커스텀 토큰을 작성하는 방법을 보여 줍니다.
의존성
Sepolia 및 OP Sepolia에서 ETH 받기
이 튜토리얼에서는 OP Sepolia에서 브리징된 ERC-20 토큰을 생성하는 방법을 설명합니다. 두 testnet 모두에서 약간의 ETH가 필요합니다.L1 ERC-20 토큰 주소 준비
이 튜토리얼에는 L1 ERC-20 토큰이 필요합니다. 이미 Sepolia에 배포된 L1 ERC-20 토큰이 있다면 이 단계를 건너뛸 수 있습니다. 그렇지 않으면0x5589BB8228C07c4e15558875fAf2B859f678d129에 있는 테스트 토큰을 사용할 수 있습니다. 이 토큰에는 토큰을 발행하는 데 사용할 수 있는 faucet() 함수가 포함되어 있습니다.
L2 ERC-20 토큰 생성
L1 ERC-20 토큰이 준비되면 OP Sepolia에서 대응하는 L2 ERC-20 토큰을 생성할 수 있습니다. 생성하려는 토큰 종류에 맞는 탭을 선택하십시오.- 표준 토큰
- 커스텀 토큰
OptimismMintableERC20Factory를 사용하여 L2 ERC-20 토큰을 배포할 수 있습니다.
팩토리로 생성된 모든 토큰은 IOptimismMintableERC20 인터페이스를 구현하며 Standard Bridge 시스템과 호환됩니다.1
환경에 개인 키 추가
트랜잭션에 서명하려면 개인 키가 필요합니다.
export 명령으로 개인 키를 환경 변수로 설정하십시오.
이 개인 키가 OP Sepolia에서 ETH를 보유한 주소에 해당하는지 확인하십시오.이 튜토리얼을 위해 새 지갑을 만들고 싶으신가요?
cast가 설치되어 있다면 터미널에서 cast wallet new를 실행하여 새 지갑을 만들고 개인 키를 얻을 수 있습니다.2
환경에 OP Sepolia RPC URL 추가
OP Sepolia에 연결하려면 RPC URL이 필요합니다.
export 명령으로 RPC URL을 환경 변수로 설정합니다.3
환경에 L1 ERC-20 토큰 주소 추가
OP Sepolia에서 L1 ERC-20 토큰의 브리징된 표현 토큰을 생성하려면 해당 L1 토큰의 주소를 알아야 합니다.
export 명령으로 L1 ERC-20 토큰 주소를 환경 변수로 설정합니다.4
L2 ERC-20 토큰 배포
이제
OptimismMintableERC20Factory를 사용하여 L2 ERC-20 토큰을 배포할 수 있습니다.
cast 명령을 사용하여 팩토리 컨트랙트의 배포 함수를 호출합니다.
이 예제 명령은 이름이 “My Standard Demo Token”이고 심볼이 “L2TKN”인 토큰을 생성합니다.
생성된 L2 ERC-20 토큰 주소가 콘솔에 출력됩니다.토큰 브리징하기
이제 L2 ERC-20 토큰이 있으므로 L1에서 L2로 토큰을 브리징할 수 있습니다. viem을 사용하여 L1 ERC-20을 L2로 브리징하는 방법은 viem으로 ERC-20 토큰 브리징하기 튜토리얼을 확인하십시오. 이 튜토리얼의 커스텀 예제 토큰을 배포했다면 출금 단계가 동작하지 않는다는 점을 기억하십시오. 예제 컨트랙트의burn 함수는 항상 revert하며, 이것이 바로 해당 예제가 보여 주려는 내용입니다.