About XRPL
home

XRPL Axelar XRPL EVM Sidechain 크로스체인 전송 시스템

목차

개요

이 문서는 Axelar의 공식 샘플 코드를 기반으로, XRPL(XRP Ledger)에서 발행한 토큰을 Axelar Interchain Token Service(ITS)를 활용해 EVM 사이드체인으로 전송하는 전체 흐름을 구현 및 정리한 문서입니다.
전체 전송 과정과 트랜잭션 구조를 중심으로, 실제 테스트넷 환경에서 실행 가능한 예시 코드와 함께 실전 적용에 필요한 내용을 설명합니다.

Explanation

목적

XRPL(XRP Ledger)에서 발행한 스테이블코인(IOU)을 Axelar Interchain Token Service(ITS)를 통해 XRPL EVM Sidchain으로 안전하게 전송하는 과정을 실제 코드로 구현하고, 실전에 적용할 수 있도록 문서화
Shell
복사

핵심 용어

1. XRPL - XRP Ledger, Ripple의 퍼블릭 블록체인 네트워크
2. XRP - XRPL의 네이티브 토큰, 계정 활성화/수수료에 사용
3. IOU - XRPL에서 발행자가 발행하는 토큰(예: RLUSD, USD 등)
4. Drops - XRP의 최소 단위(1 XRP = 1,000,000 drops)
6. Memo - 트랜잭션에 부가 정보를 담는 필드, 크로스체인 메타데이터 전달에 사용
7. Multisig Account - 여러 명이 서명해야 트랜잭션이 실행되는 XRPL 계정, Axelar Gateway 역할
8. Axelar Gateway - XRPL과 타 체인(EVM 등) 간 크로스체인 전송 중계의 주체
9. ITS - Axelar의 크로스체인 토큰화 전송 프로토콜
10. GMP - Axelar의 크로스체인 메시지/컨트랙트 호출 프로토콜

전체 흐름

이 시스템은 XRPL에서 발행한 IOU 토큰을 다른 체인(XRPL EVM Sidechain)으로 전송하기 위해, Axelar의 Interchain Token Service(ITS)를 활용합니다.
전송 흐름은 다음과 같습니다:
1.
IOU 발행
XRPL 상의 관리자(admin)는 자신이 발행한 IOU(예: USD)를 사용자(user) 계정으로 전송함으로써, 해당 자산을 사용자에게 지급합니다. 이 과정을 통해 user는 실제로 전송 가능한 IOU를 보유하게 됩니다.
2.
사용자 전송
XRPL 상에서 사용자는 발행된 IOU를 Axelar의 Gateway 주소(멀티시그 계정)로 전송합니다.
이때 트랜잭션의 Memo 필드에 목적 체인, 수신자 주소 등 크로스체인 전송에 필요한 정보를 포함합니다.
3.
Axelar 감지 및 확인
Axelar 네트워크는 XRPL Gateway로 들어온 트랜잭션을 자동으로 감지하고,
Memo 필드의 내용을 기준으로 목적지 체인과 수신자 정보를 확인합니다.
4.
릴레이 전송
확인된 트랜잭션은 Axelar의 Relayer에 의해 처리되어, 목적 체인(XRPL EVM Sidechain)으로 메시지가 전달됩니다.
5.
XRPL EVM Sidechain에서 토큰 발행(Mint)
목적지 체인에서는 Interchain Token Service 컨트랙트가 실행되어,
목적지 주소로 Wrapped IOU가 발행됩니다.
이 전 과정은 신뢰 불필요(trustless)한 상태에서 이뤄지며, 사용자는 XRPL 상의 IOU를 EVM 체인에서 활용할 수 있게 됩니다.
이는 발행된 스테이블코인이 단일 네트워크에 종속되지 않고, 다중 체인 간 상호운용성(interoperability)을 확보한 상태에서 EVM 기반의 결제, 금융, 자산 운용 인프라에 유연하게 통합될 수 있는 기반을 제공합니다.
특히, 기관이 발행한 토큰을 규제 요건에 맞춰 체계적으로 관리하고, 온체인 자산 흐름을 명확히 추적할 수 있는 구조를 구현할 수 있습니다.

Tutorial

설치 및 환경설정

npm install
Shell
복사
package.json에 명시되어 있는 axelar, xrpl, typescript 등 개발 도구 설치

크로스체인 전송 데모 (3단계)

# 1. 지갑 생성 및 펀딩 npx ts-node src/wallet/generate-wallet.ts npx ts-node src/wallet/faucet.ts -- --amount 10 # 2. XRP 전송 (gas 포함), 0xYourEvmAddress를 본인의 XRPL EVM Sidechain 주소로 변경(필수) npx ts-node src/transactions/interchain-transfer.ts -- XRP 5 xrpl-evm 0xYourEvmAddress --gasFeeAmount 300000 # 3. 결과 확인 https://testnet.axelarscan.io
Shell
복사
프로젝트 시나리오 중 ‘크로스체인 전송’만 실험하는 간단한 3단계 실행 플로우입니다.
(전체 시나리오는 How-to-Guide 참고)
XRPL에서 지갑 생성 - 10 XRP 충전 동시에 계정 활성화 - XRPL EVM Sidechain으로 5 XRP 전송
XRPL EVM Sidechain 주소는 본인의 Metamask 지갑 주소를 XRPL EVM Sidechain에 연결해 사용하시면 됩니다. (링크 들어가서 여우 버튼 클릭 → 메타마스크에서 연결)

How-to-Guide

1. 지갑 생성

2. 토큰 발행

3. 크로스체인 전송 및 결과 확인

Reference

Interchain Transfer Internals

Interchain Transfer Flow Diagram
Token Setup on XRPL: Issuance, Trustline, Flags
Cross-Chain Transfer: XRPL → Axelar → EVM Chain

기술 스택

Blockchain: XRPL, Ethereum, Axelar
Language: TypeScript
Libraries:
xrpl: XRPL 공식 JS/TS 라이브러리
ethers: Ethereum 인터페이스

참고 자료/공식 문서

주의사항(Gotcha & Tips)

#1. JS → TS 변환 시 주의사항
#2. WalletfromSeed() 오류

API Docs

XRPL 핵심 코드 및 설명

Axelar 핵심 코드 및 설명

프로젝트 소스코드