화폐 형식(Currency Formats)

문자XRP Ledger에는 두 가지 종류의 디지털 자산, 즉 XRP와 토큰이 있습니다. 형식은 다르지만 두 유형 모두 정밀도가 높습니다.

비교(Comparison)

다음 표는 XRP Ledger에 있는 XRP와 토큰의 몇 가지 차이점을 요약한 것입니다:

XRP

토큰

발급자가 없습니다.

항상 XRP Ledger 계정에서 발행됩니다.

문자열로 지정됩니다.

개체로 지정됩니다.

계정에서 추적됨.

신뢰선에서 추적됨.

생성할 수 없고 파괴할 수만 있습니다.

자유롭게 발행하거나 교환할 수 있습니다.

최소값: 0. (음수가 될 수 없습니다.)

최소값: -9999999999999999e80. 0이 아닌 최소 절대값: 1000000000000000e-96.

최대값 100000000000(10 11 ) XRP. 그것은 100000000000000000(10 17 ) "드롭"입니다.

최대값 9999999999999999e80.

가장 가까운 "드롭"(0.000001 XRP)까지 정확합니다.

15자리 정밀도.

동결할 수 없습니다.

발급자는 잔액을 동결할 수 있습니다.

송금 수수료 없음; XRP 대 XRP 지불은 항상 직접적입니다.

각 발급자가 일정 비율의 이체 수수료를 부과하는 간접 경로를 사용할 수 있습니다.

지불 채널 및 에스크로에서 사용할 수 있습니다.

지불 채널 또는 에스크로와 호환되지 않습니다.

자세한 내용은 XRP와 토큰을 참조하세요.

화폐 금액 지정하기(Specifying Currency Amounts)

지정하려는 화폐 유형에 적합한 형식을 사용합니다:

  • XRP 금액.

  • 토큰 금액.

XRP 금액(XRP Amounts)

XRP의 양을 지정하려면 XRP 한 방울을 나타내는 문자열 번호를 사용하며, 각 방울은 0.000001XRP와 같습니다. 예를 들어, 13.1 XRP를 지정합니다:

"13100000"

XRP를 객체로 지정하지 마세요.

XRP 금액은 음수가 될 수 없습니다.

토큰 금액(Token Amounts)

(대체 가능한) 토큰의 금액을 지정하려면 Amount 객체를 사용합니다. 이것은 세 개의 필드가 있는 JSON 객체입니다:

Field

유형

설명

currency

문자열 - 화폐 코드

토큰의 임의 화폐 코드입니다. XRP가 될 수 없습니다.

value

문자열 번호

토큰 금액을 소수점 이하로 표시합니다. 여기에는 123,000,000,000을 의미하는 1.23e11과 같은 과학적 표기법이 포함될 수 있습니다. e와 E를 모두 사용할 수 있습니다. 잔액을 표시할 때는 음수로 표시할 수 있지만, 송금액을 지정하는 등의 다른 상황에서는 음수 값이 허용되지 않습니다.

issuer

문자열

일반적으로 이 토큰을 발행하는 계정입니다. 특수한 경우 토큰을 보유하고 있는 계정을 대신 참조할 수 있습니다.

Caution:

이러한 필드 이름은 대소문자를 구분합니다.

예를 들어 계정 r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59에서 발행한 미화 153.75달러를 나타내려면 다음과 같이 지정하면 됩니다:

{
    "currency": "USD",
    "value": "153.75",
    "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59"
}

금액 없이 지정하기(Specifying Without Amounts)

탈중앙화 거래소에서 오더북을 정의할 때와 같이 특정 금액 없이 자산(XRP 또는 토큰일 수 있음)을 정의해야 하는 경우가 있습니다.

금액 없이 토큰을 설명하려면 화폐 객체로 지정하되 값 필드는 생략합니다. 예를 들면 다음과 같습니다:

{
  "currency": "TST",
  "issuer": "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
}

금액이 없는 XRP를 설명하려면 화폐 필드만 있는 JSON 객체로 지정합니다. XRP의 경우 발행자 필드를 포함하지 마세요. 예를 들면 다음과 같습니다:

{
  "currency": "XRP"
}

문자열 숫자(String Numbers)

XRP Ledger API는 일반적으로 기본 JSON 숫자가 아닌 문자열을 사용해 XRP와 토큰 모두의 화폐 금액을 숫자로 표현합니다. 이는 자동으로 모든 JSON 숫자를 부동소수점 형식으로 표현하려고 시도할 수 있는 JSON 파서를 사용할 때 정밀도가 손실되는 것을 방지합니다. 문자열 값 내에서 숫자는 기본 JSON 숫자와 동일한 방식으로 직렬화됩니다:

  • Base-10.

  • 0으로 시작하지 않습니다.

  • 소수점으로 .을 포함할 수 있습니다. 예를 들어 ½은 0.5로 표시됩니다. (유럽식이 아닌 미국식)

  • 음수 금액은 - 문자로 시작합니다.

  • 10의 거듭제곱(과학적 표기법)으로 올라갔음을 나타내기 위해 E 또는 e를 포함할 수 있습니다. 예를 들어 1.2E5는 1.2×105 또는 120000에 해당합니다. 음수 지수도 가능합니다.

  • 쉼표(,) 문자는 사용되지 않습니다.

XRP 정밀도(XRP Precision)

XRP는 64비트 부호 없는 정수와 동일한 정밀도를 가지며, 각 단위는 0.000001 XRP에 해당합니다. 정수 수학을 사용하므로 한 방울보다 작은 금액은 반내림됩니다.

토큰 정밀도(Token Precision)

토큰은 일반적으로 아주 작은 단위 또는 아주 큰 단위로 측정되는 자산을 포함해 다양한 자산을 나타낼 수 있습니다. 이 형식은 과학 표기법과 유사한 방식으로 유효 자릿수와 10의 거듭제곱 지수를 사용합니다. 이 형식은 지정된 범위 내에서 양수 및 음수의 유효 자릿수와 지수를 지원합니다. 정수가 아닌 숫자의 일반적인 부동소수점 표현과 달리 이 형식은 모든 계산에 정수 수학을 사용하므로 항상 소수점 이하 15자리의 정밀도를 유지합니다. 곱셈과 나눗셈에는 최하위 자릿수의 반올림을 보정하기 위한 조정 기능이 있습니다.

XRP Ledger의 P2P 네트워크에서 토큰 금액을 전송할 때 서버는 해당 금액을 64비트 바이너리 값으로 직렬화합니다.

Tip:

전혀 나눌 수 없는 토큰은 대체 불가능한 토큰(NFT)을 참조하세요.

화폐 코드(Currency Codes)

HTTP/웹소켓 API는 두 가지 형식의 화폐 코드를 지원합니다:

  • 표준 화폐 코드: "EUR" 또는 "USD"와 같은 3자 문자열입니다.

  • 비표준 화폐 코드: 160비트 16진수 문자열(예: "0158415500000000C1F76FF6ECB0BAC600000000"). 이는 흔하지 않습니다.

동일한 코드를 가진 토큰은 연결된 trust lines에서 파급될 수 있습니다. 화폐 코드에는 XRP Ledger에 내장된 다른 동작이 없습니다.

표준 화폐 코드(Standard Currency Codes)

화폐 코드의 표준 형식은 USD와 같은 3자 문자열입니다. 이는 ISO 4217 화폐 코드와 함께 사용하기 위한 것입니다. 다음 규칙이 적용됩니다:

  • 화폐 코드의 길이는 정확히 3 ASCII 문자여야 합니다. 모든 대문자 및 소문자, 숫자, 기호 ?, !, @, #, $, %, ^, &, *, <, >, (, ), {, }, [, ], | 등이 허용됩니다.

  • 화폐 코드는 대소문자를 구분합니다.

  • 화폐 코드 XRP(모두 대문자)는 허용되지 않습니다. 실제 XRP는 일반적으로 XRP Ledger 프로토콜에서 화폐 코드를 사용하지 않습니다.

프로토콜 수준에서 이 형식은 0x00으로 시작하는 160비트 바이너리 값으로 직렬화됩니다.

비표준 화폐 코드(Nonstandard Currency Codes)

015841551A748AD2C1F76FF6ECB0CCCD00000000과 같은 160비트(40자) 16진수 문자열을 화폐 코드로 사용할 수도 있습니다. 이것이 '표준' 화폐 코드로 취급되지 않도록 하려면 처음 8비트는 0x00이 아니어야 합니다.

사용되지 않음: 일부 이전 버전의 rippled 라이브러리에서는 "이자 부담" 또는 "이자 부담" 화폐 코드 유형을 지원했습니다. 이러한 코드는 처음 8비트가 0x01입니다. 디머리지/이자 부담 화폐는 더 이상 지원되지 않지만, ledger 데이터에서 해당 화폐를 찾을 수 있습니다. 자세한 내용은 데머리지에서 확인하세요.

Last updated