sign
sign 메소드는 JSON 형식의 트랜잭션과 시드 값을 받아 트랜잭션의 서명된 바이너리 표현을 반환합니다. 다중 서명된 트랜잭션에 하나의 서명을 제공하려면 sign_for 메소드를 대신 사용하세요.
기본적으로 이 메소드는 관리자 전용입니다. 서버 관리자가 공개 서명을 사용하도록 설정한 경우 공개 메소드로 사용할 수 있습니다.
요청 형식
요청 형식의 예입니다:
트랜잭션에 서명하려면 트랜잭션을 인증할 수 있는 비밀 키를 제공해야 합니다. 일반적으로 서버가 비밀 키를 도출하는 시드 값을 제공합니다. 몇 가지 방법으로 이 작업을 수행할 수 있습니다:
비밀 필드에 시드를 입력하고 key_type 필드를 생략합니다. 이 값은 XRP Ledger base58 시드, RFC-1751, 16진수 또는 문자열 암호 구문으로 포맷할 수 있습니다. (SECP256K1 키만 해당)
key_type 값과
eed
,seed_hex
,passphrase
중 정확히 한 가지를 입력합니다. 비밀 필드는 생략합니다. (커맨드라인 구문에서는 지원되지 않습니다.)
요청에는 다음 매개변수가 포함됩니다:
Field
유형
설명
tx_json
객체
secret
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 시드입니다. 신뢰할 수 없는 서버나 보안되지 않은 네트워크 연결을 통해 비밀번호를 보내지 마세요. key_type
, seed
, seed_hex
또는 passphrase
와 함께 사용할 수 없습니다.
seed
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 시드입니다. XRP 원장의 base58 형식이어야 합니다. 제공된 경우 키 유형도 지정해야 합니다.ecret
, seed_hex
또는 passphrase
과 함께 사용할 수 없습니다.
seed_hex
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 시드입니다. 16진수 형식이어야 합니다. 제공하는 경우 key_type도 지정해야 합니다. secret
, seed
또는 passphrase
구문과 함께 사용할 수 없습니다.
passphrase
문자열
(선택 사항) 트랜잭션에 서명하는 데 사용되는 트랜잭션을 제공하는 계정의 비밀 시드를 문자열 비밀번호 구문으로 입력합니다. 제공하는 경우 key_type도 지정해야 합니다. secret, seed 또는 seed_hex와 함께 사용할 수 없습니다.
key_type
문자열
(선택 사항) 제공된 암호화 키 쌍의 서명 알고리즘입니다. 유효한 유형은 secp256k1 또는 ed25519입니다. 기본값은 secp256k1입니다. secret과 함께 사용할 수 없습니다.
offline
Boolean
(선택 사항) 참이면 트랜잭션을 구성할 때 트랜잭션 세부 정보를 자동으로 채우려고 시도하지 않습니다. 기본값은 false입니다.
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입니다.
자동 채우기 필드
tx_json(트랜잭션 객체)의 특정 필드를 생략하면 서버가 자동으로 채우려고 시도합니다. 요청에서 오프라인을 true로 지정하지 않는 한 서버는 서명하기 전에 다음 필드를 제공합니다:
시퀀스 - 서버는 발신자의 계정 정보에서 다음 시퀀스 번호를 자동으로 사용합니다.
Fee - Fee 매개변수를 생략하면 서버가 적절한 트랜잭션 비용을 자동으로 입력하려고 시도합니다. 프로덕션 XRP Ledger에서는 적절한 fee_mult_max 값을 제공하지 않으면 rpcHIGH_FEE로 실패합니다.
fee_mult_max과 fee_div_max 매개변수는 참조 트랜잭션 비용에 적용되는 로드 스케일링 승수에 따라 자동으로 제공되는 트랜잭션 비용이 얼마나 높을 수 있는지를 제한합니다. 기본 설정은 자동 제공된 값이 10배 이상의 승수를 사용하는 경우 오류를 반환합니다. 그러나 프로덕션 XRP Ledger은 일반적으로 1000배의 로드 승수를 사용합니다.
커맨드라인 구문은 fee_mult_max 및 fee_div_max를 지원하지 않습니다. 프로덕션 XRP Ledger의 경우 수수료 값을 제공해야 합니다.
Paths - 결제 유형 트랜잭션(XRP에서 XRP로 이체 제외)의 경우, ripple_path_find 메소드를 사용한 것처럼 경로 필드를 자동으로 채울 수 있습니다. 빌드 경로가 제공된 경우에만 채워집니다.
응답 형식
성공적인 응답의 예입니다:
응답은 표준 형식을 따르며, 성공적인 결과에는 다음 필드가 포함됩니다:
Field
유형
설명
tx_blob
문자열
정규화되고 서명된 트랜잭션을 16진수로 한바이너리 표현
tx_json
객체
여러 사람이 볼 수 있는 로그 파일에 이 오류를 기록하지 마세요.
디버깅을 위해 이 오류를 공개 장소에 붙여넣지 마세요.
실수로라도 웹사이트에 오류 메시지를 표시하지 마세요.
발생 가능한 오류 유형
일반적인 오류 유형입니다.
invalidParams - 하나 이상의 필드가 잘못 지정되었거나 하나 이상의 필수 필드가 누락되었습니다.
highFee - 트랜잭션 비용에 대한 현재 로드 기반 승수가 자동으로 제공되는 트랜잭션 비용의 한도를 초과합니다. 요청에 더 높은 fee_mult_max(최소 1000)를 지정하거나 tx_json의 수수료 필드에 값을 수동으로 입력합니다.
tooBusy - 트랜잭션에 경로가 포함되지 않았지만 서버가 너무 바빠서 지금 경로 찾기를 수행하지 못합니다. 관리자로 연결되어 있는 경우에는 발생하지 않습니다.
noPath - 트랜잭션에 경로가 포함되지 않았으며 서버에서 이 결제가 발생할 수 있는 경로를 찾을 수 없습니다.
Last updated