수표 취소(Cancel a Check)
수표 개정에 의해 추가되었습니다.
이 튜토리얼에서는 송금하지 않고 수표 객체를 ledger으로부터 제거하는 수표 취소 방법을 설명합니다.
수표를 원하지 않는 경우 수신 수표를 취소할 수 있습니다. 송금할 때 실수를 했거나 상황이 변경된 경우 보내는 수표를 취소할 수 있습니다. 수표의 유효기간이 만료된 경우에도 수표를 취소하여 ledger에서 제거해야 송금인이 소유자 reserve를돌려받을 수 있습니다.
요구 조건(Prerequisites)
이 튜토리얼에서 수표를 취소하려면 다음이 필요합니다:
현재 ledger에 있는 수표 객체의 ID가 필요합니다.
예를 들어, 이 튜토리얼에는 ID가 49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0인 수표를 취소하는 예제가 포함되어 있지만, 이 단계를 직접 수행하려면 다른 ID를 사용해야 합니다.
CheckCancel 트랜잭션을 전송할 자금이 입금된 계좌의 주소와 비밀 키입니다. 이 주소는 수표가 만료되지 않는 한 수표의 발신자 또는 수취인이어야 합니다.
트랜잭션에 서명하는 안전한 방법.
클라이언트 라이브러리 또는 HTTP 또는 웹소켓 라이브러리.
1. CheckCancel 트랜잭션 준비하기(Prepare the CheckCancel transaction)
CheckCancel 트랜잭션 필드의 값을 파악합니다. 다음 필드는 최소값이며, 다른 모든 필드는 선택사항이거나 서명할 때 자동으로 채워질 수 있습니다:
TransactionType
String
수표를 취소할 때 CheckCancel 문자열을 사용합니다.
Account
String (Address)
계정 문자열(주소) 수표를 취소하는 발신자의 주소입니다. (즉, 사용자 주소입니다.)
CheckID
String
취소할 ledger에 있는 수표 객체의 ID입니다. 이 정보는 tx 메소드를 사용하여 CheckCreate 트랜잭션의 메타데이터를 조회하거나 account_objects 메소드를 사용하여 수표를 조회하여 얻을 수 있습니다.
CheckCancel 준비 예시(Example CheckCancel Preparation)
다음 예는 수표를 취소하는 방법을 보여줍니다.
2. CheckCancel 트랜잭션에 서명하기(Sign the CheckCancel transaction)
트랜잭션에 서명하는 가장 안전한 방법은 클라이언트 라이브러리를 사용하여 로컬로 서명하는 것입니다. 또는 자체 rippled 노드를 실행하는 경우 서명 방법을 사용하여 트랜잭션에 서명할 수 있지만, 신뢰할 수 있고 암호화된 연결 또는 로컬(동일 컴퓨터) 연결을 통해 수행해야 합니다.
어떤 경우든 나중에 사용할 수 있도록 서명된 트랜잭션의 식별 해시를 기록해 두세요.
요청 예시(Example Request)
응답 예시(Example Response)
3. 서명된 CheckCancel 트랜잭션 제출하기(Submit the signed CheckCancel transaction)
이전 단계에서 서명된 트랜잭션 blob을 가져와 rippled 서버에 제출합니다. rippled 서버를 실행하지 않아도 안전하게 이 작업을 수행할 수 있습니다. 응답에는 임시 결과가 포함되며, 이 결과는 일반적으로 tesSUCCESS여야 하지만 최종 결과는 아닙니다. 대기 중인 트랜잭션은 일반적으로 다음 오픈 ledger 버전에 포함되므로(일반적으로 제출 후 약 10초 후), terQUEUED의 임시 응답도 괜찮습니다.
요청 예시(Example Request)
응답 예시(Example Response)
4. 유효성 검사 대기(Wait for validation)
라이브 네트워크(mainnet, testnet 또는 devnet 포함)에서는 ledger이 자동으로 닫힐 때까지 4~7초 정도 기다릴 수 있습니다.
stand-alone 모드에서 rippled을 실행하는 경우 ledger_accept 메소드를 사용하여 ledger를 수동으로 닫아야 합니다.
5. 최종 결과 확인(Confirm final result)
tx 메소드와 CheckCancel 트랜잭션의 식별 해시를 사용하여 트랜잭션의 상태를 확인합니다. 트랜잭션의 메타데이터에서 "TransactionResult": "tesSUCCESS" 필드와 이 결과가 최종 결과임을 나타내는 "validated": true 필드가 있는지 확인합니다.
트랜잭션 메타데이터에서 "LedgerEntryType": "Check"가 있는 DeletedNode 객체를 찾습니다. 이것은 트랜잭션이 수표 ledger 객체를 제거했음을 나타냅니다. 이 객체의 LedgerIndex는 수표의 ID와 일치해야 합니다.
요청 예시(Example Request)
응답 예시(Example Response)
Last updated