OP Stack 상호운용성(interop)은 Lagoon 하드포크와 함께 활성화됩니다.
이 튜토리얼은 OP Stack 상호운용성 클러스터의 한 체인에서 다른 체인으로 ETH를 보내는 방법을 단계별로 안내합니다.
개념적인 개요는
상호운용 가능한 ETH 설명을 참조하십시오.
개요
OP Stack 체인 간의 크로스체인 ETH 전송은 SuperchainETHBridge 컨트랙트를 통해 이루어집니다. 이 튜토리얼에서는 한 체인에서 다른 체인으로 ETH를 보내는 방법을 살펴봅니다. 이 작업은 Supersim에서 수행할 수 있으며, 프로덕션이 출시되면 프로덕션에서도 수행할 수 있습니다.만들게 될 것
- 체인 간에 ETH를 전송하는 TypeScript 애플리케이션
배우게 될 것
- 블록체인 상에서, 그리고 블록체인 간에 ETH를 보내는 방법
- 체인 간에 메시지를 릴레이하는 방법
사전 요구 사항
이 튜토리얼을 시작하기 전에 개발 환경이 다음 요구 사항을 충족하는지 확인하십시오.기술 지식
- 중급 수준의 TypeScript 지식
- 스마트 컨트랙트 개발에 대한 이해
- 블록체인 개념에 대한 친숙함
개발 환경
- Unix 계열 운영 체제(Linux, macOS 또는 Windows용 WSL)
- Node.js 버전 16 이상
- 버전 관리를 위한 Git
필수 도구
이 튜토리얼에서는 다음과 같은 주요 도구를 사용합니다.- Foundry: 스마트 컨트랙트 개발용
- Supersim: 로컬 블록체인 시뮬레이션용
- TypeScript: 구현용
- Viem: 블록체인 상호작용용
1
2
네트워크 구성
이 튜토리얼은 로컬에서 실행하는 Supersim 또는 Interop devnet을 사용하여 실행할 수 있습니다.
해당하는 탭을 선택하고 안내를 따르십시오.
- Supersim
- Interop Devnets
- Supersim 설치를 따라 Interop이 적용된 블록체인을 실행할 수 있도록 Supersim을 설정합니다.
-
Supersim을 시작합니다.
-
Supersim은 Foundry의
anvil블록체인을 사용하며, 이 블록체인은 사전에 자금이 충전된 10개의 계정으로 시작합니다. L2 블록체인에서 이 계정 중 하나에 접근할 수 있도록 다음 환경 변수를 설정합니다. -
체인의 URL을 지정합니다.
정상 동작 확인
정상 동작 확인
소스 체인과 대상 체인 모두에서 주소의 ETH 잔액을 조회합니다.
3
Foundry를 사용하여 ETH 전송
다음 명령을 실행합니다.
4
TypeScript 프로젝트 생성
Interop devnet에서는 메시지가 자동으로 릴레이됩니다.
1
새 TypeScript 프로젝트 생성
2
SuperchainETHBridge ABI 다운로드
3
src/transfer-eth.mts 생성
transfer-eth.mts 설명
transfer-eth.mts 설명
@eth-optimism/viem에서 모든 체인 정의를 가져옵니다.anvil에서 사전에 자금이 충전된 주소 중 하나인 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266이면 Supersim을 사용하는 것으로 간주합니다.
그렇지 않으면 Interop devnet을 사용합니다.@eth-optimism/viem을 사용하여 실행 메시지(executing message)를 생성하는 방법입니다.5
예제 실행
-
예제를 실행합니다.
-
결과를 확인합니다.
초기 상태입니다. 주소는 개인 키에 따라 달라지므로 여기에 표시된 주소와 다를 것입니다.시작 메시지(initiating message) 이후 소스 체인의 잔액이 즉시 감소합니다. 0.001 ETH를 보내지만 소스 체인의 잔액은 그보다 조금 더(여기서는 약 67 gwei) 감소한다는 점에 유의하십시오. 이는 소스 체인에서 시작 트랜잭션에 드는 비용입니다. 물론 대상 체인에서는 아직 트랜잭션이 발생하지 않았으므로 해당 잔액은 변하지 않습니다.이제 대상 체인의 잔액이 0.001 ETH보다 약간 적게 증가합니다. 실행 메시지에도 트랜잭션 비용(이 경우 약 180gwei)이 발생합니다.
다음 단계
- 자세한 내용은 SuperchainETHBridge 가이드를 확인하십시오.
- 상호운용성에 관한 일반적인 질문에 대한 답변은 OP Stack 상호운용성 설명을 검토하십시오.