XRP Ledger(XRPL) FAQ for Dev

| Phase | # | Question | Pain point | Solution | | --- | --- | --- | --- | | Beginner | 1 | Dev Docs의 구성은 잘되어 있나요? | Web3 개발자들의 피드백 결과, Docs가 개발하는데 편리하게 되어있습니다. 디스코드에서는 개발자들끼리 원활한 소통이 이루어지고 있으니 참고하시면 좋을 것 같습니다. (https://discord.gg/xrpl) | | | 2 | 스테이블 토큰이 구현 가능할까요? | 스테이블 코인은 XRPL에서 다른 Fungible 토큰과 동일하게 취급하기에 Fungible Token 토큰과 발행 방식이 같습니다. | | | 3 | Fungible 토큰 발행 개수 제한이 가능할까요? | 공급량을 제한하려면 더 이상 토큰을 발행하지 않으면 됩니다. | | | 4 | 테스트넷에서 안정적인 테스트를 진행 가능할까요? | 테스트넷은 비정기적으로 초기화 작업이 이루어지기에 안정적인 테스트를 위해서는 Devnet 이용하시면 좋습니다. | | | 5 | 지갑을 활성화 할때 Reserve인 10XRP가 꼭 필요한데 다른 지갑을 연결 할 수는 없을까요? | 기존 지갑(XAMAN, Crossmark, Gem wallet)의 API를 사용하여 기존 지갑을 연결하는 방법이 존재합니다. | | | 6 | 메인넷과 통신은 어떻게 하나요? | Js, python API를 통해 웹소켓 통신을 사용합니다. | | | 7 | 스마트 컨트랙트가 지원을 하나요? | XRPL에서 제공하는 API만 사용 가능하고 스마트 컨트랙트는 사이드 체인을 활용해야 합니다. | | | 8 | drop이란? | XRPL에서 사용되는 가장 작은 화폐 단위입니다. 1drop = 0.000001 XRP | | | 9 | XRPL을 지원하는 지갑이 있나요? | Mobile(ios, android) : Xaman, Fizz Web extention app : Crossmark, Gem wallet 위 월렛들 API 사용해서 서비스 개발할 때 연동 가능합니다.(Fizz는 API 존재 X) | | | 10 | LP Token과 Currency Token의 객체가 다른가요? | Currency Token은 Hexa값으로 인코딩, 디코딩을 하지만 LP Token은 달라 다른 방식으로 인코딩, 디코딩 필요합니다. | | | 11 | 트러스트 라인(Trust Line)이란? | 트러스트 라인(Trust Line)은 XRPL 원장에 RippleState 객체로 표시되어 관리되는 발행된 자산(일명 IOU)입니다. 비기술적 사용자의 관점에서는 이를 메인넷 계정에 토큰 계정을 추가하는 것과 유사하게 이해할 수 있습니다. 다시 말해, 트러스트 라인을 추가하는 것은 XRPL 원장(즉, 본인의 XRPL 메인넷 계정)에 Trust Asset 계정(즉, XRPL 기반 토큰 계정)을 추가하는 것입니다. 추가로, 트러스트 라인을 추가하면 원장의 공간을 차지하므로 리플 계정에 락업(Reserved)되는 XRP 수량도 증가합니다.

ex) A가 B에게 "ABC"라는 토큰 전송을 할 때, B는 "ABC"라는 토큰을 받기 위해 "ABC"라는 토큰을 몇 개까지 받을건지 트러스트 라인을 통해 설정해야 합니다. | | | 12 | EVM sidechain 메인넷이 나온다면 EVM과 완전히 호환이 가능한가요? | XRPL EVM sidechain은 evm과 fully 호환됩니다. | | | 13 | 리저브 및 수수료 대납 서비스 기능 여부 | 현재 XLS-68d 제안으로 다른 계정으로부터 거래 수수료나 리저브를 대납받을 수 있는 기능을 도입하려고 커뮤니티에서 논의되고 있습니다. | | | 14 | 스마트컨트랙트 구현을 위해서는 EVM-EVM Pallet을 사용해야하는 걸까요? | The Root Network(TRN)에서 개발을 하신다면 TRN의 EVM-Pallet를 사용하시면 됩니다. 또한 Evm sidehchain을 활용하셔도 됩니다. 그리고 Grant 지원 템플릿에 Evm Sidechain을 활용하는지 묻는 질문도 있기 때문에 XRPL<>TRN 연동한 서비스도 좋지만 XRPL<>Evm sidechain을 활용하시는 것도 좋은 전략이 될 수 있습니다. | | | 15 | 개발 문서 상에는 스마트 컨트랙트 개념에 대해서는 없는 것 같고, 네이티브 체인에서 다루는 것들만 있는 것 같은데 맞을까요? | 네 맞습니다. 참고로 XRPL사이드체인인 Evm sidehchain과 The Root Network(TRN)는 코스모스 생태계처럼 병렬적인 메인넷 구조이며 XRPL 표준인 Cross-Chain Bridge(XLS-38)로 연결되어 있습니다. 따라서 evm Layer 2 개념과는 다르게 XRPL 사이드체인의 블록 검증을 XRPL에서 진행하지 않습니다. | | | 16 | 개발문서 상에서 XRPL은 자체적으로 Stable Coin의 개념을 제공해주는 것 같은데(like Terra/LUNA) 맞나요? | XRPL는 자체적으로 stablecoin의 개념을 제공합니다. 하지만 이는 Terra/LUNA 모델과 근본적으로 다릅니다. XRPL은 Issued Currencies기능을 통해 stablecoin을 생성할 수 있습니다. 이 기능은 외부 가치에 페그된 자산을 발행하는 것을 허용하며, 이는 예를 들어 Fiat 통화나 commodities 등을 대표할 수 있습니다.

XRPL에는 스마트 컨트랙트 등이 없기 때문에 신뢰할 수 없는 방식/탈중앙화된 방식으로 이를 수행할 수 없습니다. 따라서 중앙 집중식 솔루션이 가능합니다. 본질적으로 법정 화폐에 “페깅”하는 것이 훨씬 쉽습니다. 따라서 XRPL에는 USD가 있지만, 보통 중앙화된 발행자가 발행합니다. XRP가 아닌 실제 USD로 뒷받침됩니다.

Terra/LUNA와의 비교: Terra/LUNA는 UST의 가격을 안정화하기 위해 이중 토큰 시스템과 알고리즘적 시장 조작을 사용했습니다. 이는 수요에 따라 동적으로 공급을 조정하기 위한 UST와 LUNA의 발행 및 소멸 메커니즘을 포함합니다.

XRPL Stablecoin은 알고리즘적 가격 안정화 대신 신뢰와 예비금에 의존하는 전통적인 방식입니다. 발행자는 stablecoin을 지원하는 예비금을 관리하고 유지하기 위해 신뢰를 얻어야 하며, Terra와 같이 공급을 조정하는 자동 메커니즘은 없습니다.

| | | | | | | Advanced Beginner | 1 | 토큰 메타데이터를 XRPL 표준 API에서 제공하지 않는데 어디서 얻을 수 있나요? | xrplmeta.org 에서 XRPL의 토큰 메타데이터를 제공합니다. | | | 2 | NFT 컬렉션 정보를 XRPL 표준 API에서 제공하지 않는데 어디서 얻을 수 있나요? | bithomp api 에서 NFT 컬렉션 정보데이터를 제공합니다. | | | 3 | Currency symbol(=티커, Currency Codes) 표준이 있나요? | Standard Currency Codes는 USD와 같은 3자리 문자열입니다. ISO 4217 화폐 코드를 사용하는 것이 의도되어 있습니다.

사용 가능 문자: 대문자 및 소문자 알파벳, 숫자, 그리고 특수 문자 (?, !, @, #, $, %, ^, &, *, <, >, (, ), {, }, [, ], |)가 허용됩니다. 대소문자 구분: 화폐 코드는 대소문자를 구분합니다. XRP 코드 사용 금지: XRP Ledger 프로토콜에서 실제 XRP는 화폐 코드를 사용하지 않으며, "XRP"라는 코드는 사용할 수 없습니다. 직렬화 형식: 프로토콜 수준에서 이 형식은 0x00으로 시작하는 160비트 이진 값으로 직렬화됩니다.

Nonstandard Currency Codes는 40자리 16진수 문자열은 XRPL에서 사용자 정의 토큰이나 다른 디지털 자산을 나타내는 데 사용됩니다. 이러한 코드는 특정 자산을 고유하게 식별하는 데 필요한 정보를 담고 있습니다.

사용 이유: 표준 3자리 화폐 코드(예: USD, EUR)는 국제적으로 인정받는 통화를 나타내지만, XRPL은 사용자가 자체적으로 토큰을 생성하고 거래할 수 있는 기능을 제공합니다. 이 때, 40자리 16진수 문자열을 사용하여 이러한 사용자 정의 토큰을 표현합니다. 구조: 첫 8비트가 0x00이 아닌 것으로 시작하여, "표준" 화폐 코드와 구별됩니다. 이는 XRPL에서 특정 자산을 유니크하게 식별하는 데 중요한 역할을 합니다.

예를 들어, 015841551A748AD2C1F76FF6ECB0CCCD00000000와 같은 코드는 XRPL 내에서 특정 사용자 정의 토큰을 나타낼 수 있습니다. 이러한 코드를 통해 XRPL은 다양한 디지털 자산의 생성, 전송, 거래를 가능하게 합니다. 40자리 16진수 문자열 화폐 코드는 XRPL의 유연성과 확장성을 보여주는 좋은 예입니다. 사용자는 이를 통해 자신만의 디지털 자산을 생성하고, 이를 XRPL 상에서 자유롭게 거래할 수 있습니다. | | | 4 | ERC 20의 EVM sidechain ->XRPL 메인넷으로 토큰 전송 과정은 어떻게 이루어 지나요? | EVM sidechain에서 발행되고 소각되는 자산이고, IOU-IOU 브릿지의 경우 Door 계정에서만 자산이 발행가능합니다. | | | 5 | 객체를 받고 보낼 때 XRP와 Currency Token(XRP 외 다른 Token)의 형식이 다른가요? | 네 맞습니다. 형식이 달라서 데이터를 주고 받을 때 주의하셔야 합니다. XRP는 String 타입 + Drop 형식(XRP 1개면 "0.000001" 입출력), Currency Token은 String + 일반 정수(토큰 1개면 "1" 입출력) 형태로 되어있습니다. | | | 6 | 게이트웨이(Gateway)란 무엇인가요? | Stablecoin은 XRP Ledger 외부에 있는 가치 자산을 보유하고 원장에서 동등한 가치를 나타내는 토큰을 발행합니다. 이러한 유형의 발행자는 서비스를 통해 XRP Ledger로 통화가 들어오고 나갈 수 있기 때문에 게이트웨이 라고도 합니다 . | | | 7 | 오퍼(Offers)는 무엇을 의미하나요? | 사용자는 오퍼 생성 트랜잭션을 사용해 통화를 매수 또는 매도하는 오퍼를 생성할 수 있습니다. 이러한 오퍼는 오더북에 등록됩니다. | | | 8 | XRPL Dex 시스템은 어떻게 구성되어 있나요? | Ledger-Based Order Books: XRPL에는 주문이 원장에 직접 저장되는 탈중앙화 거래소가 내장되어 있습니다. 각 통화 쌍에는 자체 오더북이 있습니다. | | | 9 | XRPL Dex에 유동성을 공급할 수도 있나요? | 사용자는 DEX에서 오퍼를 통해 유동성을 공급하여 시장 조성에 참여할 수 있습니다. | | | 10 | 오토브릿징(Autobridging)이란? | XRPL의 오토브릿징은 XRP를 공통 분모로 하는 두 통화 쌍을 포함하는 오퍼를 자동으로 연결하여 유동성을 개선할 수 있습니다. | | | 11 | 패스 파인딩(Pathfinding)이란? | XRPL의 패스 파인딩은 여러 통화와 발행자가 관련된 복잡한 결제 경로를 찾을 수 있으며, 잠재적으로 오더북의 오퍼를 결제 경로의 일부로 사용할 수 있습니다. | | | 12 | 토큰 전송 수수료(Transfer Fees)는 어떻게 설정하나요? | 발행자는 발행 통화에 대한 이체 수수료를 설정할 수 있으며, 이는 DEX에서 이체 및 거래 시 자동으로 적용됩니다. | | | 13 | NFT API가 존재하나요? | XRPL service API: https://xrpl.services/nft-api (Swagger UI) Bithomp API : https://docs.bithomp.com/#nft-xls-20-xls-35 (Moralis와 비슷한 UI) 위 두가지 NFT API가 존재합니다. 구성한 방식이 조금씩 달라 확인해보시고 알맞은 API 사용하시면 좋을 것 같습니다. |