submit
제출 방법은 트랜잭션을 적용하고 네트워크에 전송하여 확인하여 향후 원장에 포함시킵니다.
이 명령에는 두 가지 모드가 있습니다:
Submit-only 모드는 서명되고 직렬화된 트랜잭션을 바이너리 blob으로 가져와서 그대로 네트워크에 submit합니다. 서명된 트랜잭션 객체는 변경할 수 없으므로, submit 후 트랜잭션의 어떤 부분도 수정하거나 자동으로 채울 수 없습니다.
Sign-and-submit 모드는 JSON 형식의 트랜잭션 개체를 가져와서 서명 방법과 동일한 방식으로 트랜잭션을 완성하고 서명한 다음 서명된 트랜잭션을 submit합니다. 이 모드는 테스트 및 개발용으로만 사용하는 것이 좋습니다.
트랜잭션을 최대한 강력하게 전송하려면 트랜잭션을 미리 구성하고 서명하여 정전 후에도 액세스할 수 있는 곳에 유지한 다음 tx_blob으로 submit해야 합니다. submit 후 tx method 명령으로 네트워크를 모니터링하여 트랜잭션이 성공적으로 적용되었는지 확인하고, 재시작 또는 기타 문제가 발생하면 이전 트랜잭션과 시퀀스 번호가 동일하므로 두 번 적용되지 않으므로 안전하게 tx_blob 트랜잭션을 다시 submit할 수 있습니다.
Submit-Only 모드
submit-only 요청에는 다음 매개변수가 포함됩니다:
Field
유형
필수 여부
설명
tx_blob
문자열
예
제출할 서명된 트랜잭션의 16진수 표현입니다. 이는 다중 서명된 트랜잭션 일 수 있습니다.
fail_hard
Boolean
아니요
true이고 트랜잭션이 로컬에서 실패하면 트랜잭션을 다시 시도하거나 다른 서버로 릴레이하지 않습니다. 기본값은 false입니다.
요청 형식
Sign-and-Submit 모드
이 모드는 트랜잭션에 서명하고 즉시 submit합니다. 이 모드는 테스트용으로 사용할 수 있습니다. 다중 서명 트랜잭션에는 이 모드를 사용할 수 없습니다.
기본적으로 sign-and-submit 모드는 관리자 전용입니다. 서버에서 공개 서명을 사용하도록 설정한 경우 공개 방법으로 사용할 수 있습니다.
다음과 같은 방법으로 트랜잭션에 서명하는 데 사용되는 비밀 키를 제공할 수 있습니다:
비밀값을 입력하고 key_type 필드를 생략합니다. 이 값은 XRP Ledger 베이스58 시드, RFC-1751, 16진수 또는 문자열 암호 구문으로 형식화할 수 있습니다. (SECP256K1 키만 해당)
키 유형 값과
seed
,seed_hex
또는 passphrase 중 정확히 하나를 입력합니다. 비밀 필드는 생략합니다. (명령줄 구문에서는 지원되지 않습니다.)
요청에는 다음 매개변수가 포함됩니다:
Field
유형
설명
tx_json
객체
JSON 형식의 트랜잭션 정의로, 선택적으로 자동 입력 가능한 필드를 생략할 수 있습니다.
secret
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 키입니다. 신뢰할 수 없는 서버나 보안되지 않은 네트워크 연결을 통해 비밀번호를 보내지 마세요. key_type
, seed
, seed_hex
, 또는 passphrase
와 함께 사용할 수 없습니다.
seed
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 키입니다. XRP 레저의 base58 형식이어야 합니다. 제공하는 경우 키 유형도 지정해야 합니다. secret
, seed_hex
, 또는passphrase
함께 사용할 수 없습니다.
seed_hex
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 키입니다. 16진수 형식이어야 합니다. 제공하는 경우 키 유형도 지정해야 합니다. 비밀, 시드 또는 비밀번호와 함께 사용할 수 없습니다.
passphrase
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 키(문자열 암호 구문)를 입력합니다. 제공하는 경우 key_type도 지정해야 합니다. secret, seed 또는 seed_hex와 함께 사용할 수 없습니다.
key_type
문자열
(선택 사항) 이 요청에 제공된 암호화 키의 유형입니다. 유효한 유형은 secp256k1 또는 ed25519입니다. 기본값은 secp256k1입니다. secret와 함께 사용할 수 없습니다. 주의: Ed25519 지원은 실험 단계입니다.
fail_hard
Boolean
(선택 사항) true이고 트랜잭션이 로컬에서 실패하면 트랜잭션을 다시 시도하거나 다른 서버로 릴레이하지 않습니다. 기본값은 거짓입니다.
offline
Boolean
(선택 사항) true이면 트랜잭션을 구성할 때 자동으로 값을 채우거나 유효성을 검사하지 않습니다. 기본값은 거짓입니다.
build_path
Boolean
(선택 사항) 이 필드를 제공하면 서버가 서명하기 전에 결제 트랜잭션의 경로 필드를 자동으로 채웁니다. 트랜잭션이 직접 XRP 결제이거나 결제 유형 트랜잭션이 아닌 경우 이 필드를 생략해야 합니다. 주의: 서버는 이 필드의 값이 아니라 이 필드의 유무를 확인합니다. 이 동작은 변경될 수 있습니다. (이슈 #3272 )
fee_mult_max
정수
(선택 사항) 자동 입력된 수수료 값이 기준 거래 비용 × fee_mult_max ÷ fee_div_max보다 큰 경우 서명 및 제출이 실패하고 rpcHIGH_FEE 오류가 발생합니다. 트랜잭션의 수수료 필드를 명시적으로 지정하면 이 필드는 영향을 미치지 않습니다. 기본값은 10입니다.
fee_div_max
정수
(선택 사항) 자동 입력된 수수료 값이 기준 트랜잭션 비용 × fee_mult_max ÷ fee_div_max
보다 크면 서명 및 제출이 실패하고 오류 rpcHIGH_FEE가 표시됩니다. 트랜잭션의 수수료 필드를 명시적으로 지정하면 이 필드는 영향을 미치지 않습니다. 기본값은 1입니다.
서버가 특정 필드를 자동으로 채우는 방법에 대한 자세한 내용은 서명 메소드를 참조하세요.
요청 형식
요청 형식의 예입니다:
응답 형식
성공적인 응답의 예입니다:
응답은 표준 형식을 따르며, 성공적인 결과에는 다음 필드가 포함됩니다:
Field
유형
설명
engine_result
문자열
트랜잭션의 예비 결과를 나타내는 텍스트 결과 코드(예: tesSUCCESS)
engine_result_code
정수
결과 코드의 숫자 버전. 권장하지 않습니다.
engine_result_message
문자열
트랜잭션의 예비 결과에 대한 사람이 읽을 수 있는 설명입니다.
tx_blob
문자열
16진수 문자열 형식의 전체 트랜잭션
tx_json
객체
JSON 형식의 전체 트랜잭션 객체
accepted
Boolean
account_sequence_available
숫자
account_sequence_next
숫자
applied
Boolean
broadcast
Boolean
open_ledger_cost
문자열
validated_ledger_index
정수
(서명 후 제출 모드에서는 생략) 제출 시점에 가장 최근에 유효성이 검증된 원장의 원장 인덱스입니다. 이는 이 요청의 결과로 트랜잭션이 나타날 수 있는 원장 버전에 대한 하한선을 제공합니다. (트랜잭션이 이전에 이미 제출된 적이 있다면 이 원장 버전 또는 그 이전 버전에서만 유효성을 검사할 수 있습니다.)
Warning:
웹소켓 응답에 "상태":"성공"이 있어 명령이 성공적으로 수신되었음을 나타내더라도 트랜잭션이 성공적으로 실행되었음을 나타내는 것은 아닙니다. 결제에서 두 계정을 연결하는 신뢰 라인이 부족하거나 트랜잭션이 생성된 이후 ledger의 상태가 변경되는 등 여러 가지 상황으로 인해 트랜잭션이 성공적으로 처리되지 않을 수 있습니다. 문제가 없더라도 트랜잭션이 포함된 ledger 버전을 닫고 유효성을 검사하는 데 몇 초가 걸릴 수 있습니다. 자세한 내용은 트랜잭션 응답의 전체 목록을 참조하고, 트랜잭션의 결과가 검증된 ledger 버전에 표시될 때까지 최종적인 것으로 간주하지 마세요.
Caution:
이 명령으로 오류 메시지가 표시되는 경우 요청의 비밀 키가 메시지에 포함될 수 있습니다. (서명 후 submit 모드에서만 발생할 수 있습니다.) 이러한 오류가 다른 사람에게 보이지 않는지 확인하세요.
여러 사람이 볼 수 있는 로그 파일에 비밀 키를 포함한 오류를 기록하지 마세요.
디버깅을 위해 비밀키를 포함한 오류를 공개 장소에 붙여넣지 마세요.
실수로라도 웹사이트에 비밀 키를 포함한 오류 메시지를 표시하지 마세요.
발생 가능한 오류
일반적인 오류 유형입니다.
amendmentBlocked - rippled 서버가 수정 차단되어 트랜잭션을 네트워크에 submit할 수 없습니다.
highFee - fee_mult_max 매개변수가 지정되었지만 서버의 현재 수수료 승수가 지정된 승수를 초과합니다. (서명 및 submit 모드만 해당)
internalJson - 트랜잭션을 JSON으로 직렬화할 때 내부 오류가 발생했습니다. 서명이 잘못되었거나 일부 필드가 잘못되는 등 트랜잭션의 여러 측면으로 인해 발생할 수 있습니다.
internalSubmit- 트랜잭션을 submit할 때 내부 오류가 발생했습니다. 서명이 잘못되었거나 일부 필드가 잘못되는 등 트랜잭션의 여러 측면으로 인해 발생할 수 있습니다.
internalTransaction - 트랜잭션을 처리하는 동안 내부 오류가 발생했습니다. 서명이 잘못되었거나 일부 필드가 잘못되는 등 트랜잭션의 여러 측면으로 인해 발생할 수 있습니다.
invalidParams - 하나 이상의 필드가 잘못 지정되었거나 하나 이상의 필수 필드가 누락되었습니다.
invalidTransaction - 트랜잭션이 잘못되었거나 유효하지 않습니다.
noPath - 트랜잭션에 경로가 포함되어 있지 않으며 서버에서 이 결제가 발생할 수 있는 경로를 찾을 수 없습니다. (서명 및 submit 모드만 해당)
tooBusy - 트랜잭션에 경로가 포함되어 있지 않지만 서버가 지금 너무 바빠서 경로 찾기를 수행할 수 없습니다. 관리자로 연결되어 있는 경우에는 발생하지 않습니다. (서명 후 submit 모드만 해당)
notSupported - 이 서버에서는 서명이 지원되지 않습니다(서명 및 submit 모드만 해당). 서버 관리자인 경우 관리자로 연결되어도 서명에 액세스할 수 있거나 공개 서명을 활성화할 수 있습니다. 새로운 기능: 리플 1.1.0
Last updated