path_find
웹소켓 API 전용! path_find 메소드는 트랜잭션이 발생할 수 있는 경로를 검색하고, 시간이 지남에 따라 경로가 변경되면 주기적으로 업데이트를 전송합니다. JSON-RPC에서 지원하는 더 간단한 버전은 ripple_path_find 메소드를 참조하세요. XRP로만 결제하는 경우에는 XRP를 모든 계정으로 직접 송금할 수 있으므로 경로를 찾을 필요가 없습니다.
path_find 명령에는 세 가지 모드 또는 하위 명령이 있습니다. 하위 명령 매개변수로 원하는 모드를 지정하세요:
create - 경로 찾기 정보 전송 시작.
close - 경로 찾기 정보 전송 중지.
status - 현재 열려 있는 경로 찾기 요청의 정보를 가져옵니다.
rippled 서버는 결제를 위해 가장 저렴한 경로 또는 경로 조합을 찾으려고 노력하지만, 이 방법으로 반환된 경로가 실제로 최적의 경로라고 보장할 수는 없습니다. 서버 부하로 인해 경로 찾기가 최상의 결과를 찾지 못할 수도 있습니다. 또한 신뢰할 수 없는 서버의 경로 찾기 결과에 주의해야 합니다. 서버는 운영자에게 돈을 벌기 위해 최적의 경로가 아닌 경로를 반환하도록 수정될 수 있습니다. 경로 찾기를 신뢰할 수 있는 자체 서버가 없는 경우, 서로 다른 당사자가 운영하는 여러 서버의 경로 찾기 결과를 비교하여 단일 서버가 잘못된 결과를 반환하는 위험을 최소화해야 합니다. (참고: 최적의 결과보다 낮은 결과를 반환하는 서버가 반드시 악의적인 행동의 증거는 아니며, 서버 과부하로 인한 증상일 수도 있습니다.)
PATH_FIND CREATE
create 하위 명령은 특정 계정에서 다른 계정으로 원하는 금액의 특정 통화를 받을 수 있도록 결제 거래가 이루어질 수 있는 가능한 경로를 찾기 위한 지속적인 요청을 생성합니다. 초기 응답에는 원하는 금액을 받을 수 있는 두 주소 사이의 추천 경로가 포함됩니다. 그 후 서버는 추가 메시지를 보내며, "type": "path_find"를 사용하여 잠재적 경로에 대한 업데이트와 함께 추가 메시지를 보냅니다. 업데이트 빈도는 서버의 재량에 맡겨져 있지만, 일반적으로 새로운 ledger 버전이 있을 때 몇 초에 한 번씩 업데이트됩니다.
클라이언트는 한 번에 하나의 경로 찾기 요청만 열어둘 수 있습니다. 동일한 연결에 다른 경로 찾기 요청이 이미 열려 있으면 이전 요청은 자동으로 닫히고 새 요청으로 대체됩니다.
요청 형식
요청 형식의 예입니다:
요청에는 다음 매개변수가 포함됩니다:
Field
유형
설명
subcommand
문자열
create 하위 명령을 보내려면 "create"를 사용합니다.
source_account
문자열
경로를 찾을 계정의 고유 주소입니다. (즉, 결제를 송금할 계정입니다.)
destination_account
문자열
경로를 찾을 계정의 고유 주소입니다. (즉, 결제를 받을 계정입니다.)
destination_amount
문자열 또는 객체
통화 대상 계정이 트랜잭션에서 받을 금액입니다. 특수한 경우: 리플 0.30.0에 추가됨 "-1"(XRP의 경우)을 지정하거나 -1을 값 필드의 내용으로 제공할 수 있습니다(XRP가 아닌 통화의 경우). 이렇게 하면 send_max에 지정된 금액(제공된 경우) 이상을 지출하지 않으면서 가능한 한 많은 금액을 전달할 경로를 요청합니다.
send_max
문자열 또는 객체
paths
배열
(선택 사항) 확인할 결제 경로를 나타내는 객체 배열 배열입니다. 이미 알고 있는 특정 경로의 변경 사항을 계속 업데이트하거나 특정 경로를 따라 결제하는 데 드는 전체 비용을 확인하는 데 사용할 수 있습니다.
서버는 다음 필드도 인식하지만 사용 결과가 보장되지는 않습니다: source_currencies, bridges. 이러한 필드는 나중에 사용하기 위해 예약된 것으로 간주해야 합니다.
응답 형식
성공적인 응답의 예입니다:
초기 응답은 표준 형식을 따르며, 성공적인 결과에는 다음 필드가 포함됩니다:
필드
유형
설명
destination_account
문자열
거래를 받을 계정의 고유 주소입니다.
destination_amount
문자열 또는 객체
거래에서 목적지가 받게 될 통화 금액입니다.
source_account
문자열
거래를 보내는 고유 주소입니다.
full_reply
Boolean
대안 배열의 각 요소는 하나의 가능한 소스 통화(시작 계정에서 보유)에서 대상 계정 및 통화까지의 경로를 나타내는 객체입니다. 이 객체에는 다음과 같은 필드가 있습니다:
필드
유형
설명
paths_computed
배열
결제 경로를 정의하는 객체 배열의 배열
source_amount
문자열 또는 객체
대상이 원하는 금액을 받기 위해 소스가 이 경로를 따라 보내야 하는 통화 금액 입니다.
destination_amount
문자열 또는 객체
(생략 가능) 통화 이 경로를 따라 목적지가 받게 될 금액입니다. destination_amount
요청의 내용이 "-1" 특수 사례인 경우에만 포함됩니다.
발생 가능한 오류
모든 범용오류 유형입니다.
invalidParams - 하나 이상의 필드가 잘못 지정되었거나 하나 이상의 필수 필드가 누락되었습니다.
noEvents - 비동기 콜백을 지원하지 않는 프로토콜(예: JSON-RPC)을 사용하고 있습니다. (JSON-RPC와 호환되는 경로 찾기 메소드는 ripple_path_find 메소드를 참조하세요.)
비동기 후속 조치
서버는 초기 응답 외에도 유사한 형식의 메시지를 추가로 전송하여 시간이 지남에 따라 결제 경로의 상태를 업데이트합니다. 이러한 메시지에는 어떤 요청으로 인해 메시지가 전송되었는지 알 수 있도록 원래 웹소켓 요청의 ID와 "type" 필드가 포함됩니다: "경로 찾기" 필드는 추가 응답임을 나타냅니다. 다른 필드는 초기 응답과 동일한 방식으로 정의됩니다.
후속 응답에 "full_reply": true가 포함되면 현재 ledger에서 리플이 찾을 수 있는 최적의 경로입니다.
다음은 path_find 생성 요청의 비동기 후속 조치 예시입니다:
path_find 닫기
path_find의 close 하위 명령은 서버에 현재 열려 있는 경로 찾기 요청에 대한 정보 전송을 중지하도록 지시합니다.
요청 형식
요청 형식의 예입니다:
요청에는 다음 매개변수가 포함됩니다:
필드
유형
설명
subcommand
문자열
"close"
닫기 하위 명령을 보내는 데 사용됩니다.
응답 형식
경로 찾기 요청이 성공적으로 닫힌 경우 응답은 경로 찾기 생성에 대한 초기 응답과 동일한 형식에 다음 필드가 추가된 형식을 따릅니다:
필드
유형
설명
closed
Boolean
true 값은 이 응답이 경로 찾기 닫기 명령에 대한 응답임을 나타냅니다.
미종료된 경로 찾기 요청이 없는 경우 오류가 대신 반환됩니다.
발생 가능한 오류
일반적인 오류 유형입니다.
invalidParams - 필드가 잘못 지정되었거나 필수 필드가 누락된 경우.
noEvents - 비동기 콜백을 지원하지 않는 프로토콜(예: JSON-RPC)에서 이 메소드를 사용하려고 시도한 경우. (JSON-RPC와 호환되는 경로 찾기 메소드는 ripple_path_find 메소드를 참조하세요.)
noPathRequest - 열려 있는 요청이 없는데 경로 찾기 요청을 닫으려고 했습니다.
path_find 상태
status 하위 명령은 클라이언트의 현재 열려 있는 경로 찾기 요청에 대한 즉각적인 업데이트를 요청합니다.
요청 형식
요청 형식의 예입니다:
요청에는 다음 매개변수가 포함됩니다:
필드
유형
설명
subcommand
문자열
"status"를 사용하여 상태 하위 명령을 보냅니다.
응답 형식
path_find create
이 열려 있는 경우 응답은 경로 찾기 생성에 대한 초기 응답과 동일한 형식에 다음 필드가 추가된 형식을 따릅니다:
필드
유형
설명
status
Boolean
값이 true이면 이 응답이 path_find 상태 명령에 대한 응답임을 나타냅니다.
미결 경로 찾기 요청이 없는 경우 오류가 대신 반환됩니다.
발생 가능한 오류
모든 범용 오류 유형입니다.
invalidParams - 하나 이상의 필드가 잘못 지정되었거나 하나 이상의 필수 필드가 누락되었습니다.
noEvents - 비동기 콜백을 지원하지 않는 프로토콜(예: JSON-RPC)을 사용하고 있습니다. (JSON-RPC와 호환되는 경로 찾기 메소드는 ripple_path_find 메소드를 참조하세요.)
noPathRequest - 열려 있는 경로 찾기 요청이 없을 때 경로 찾기 요청의 상태를 확인하려고 했습니다.
Last updated