블록체인에서 자산 이전이 실행된 후, 결과 (Transaction ID) 를 전송합니다.
가상자산을 전송하는 VASP 는 블록체인 상에서 자산의 이전을 실행한 직후 해당 자산의 이전 결과 (Transaction ID) 를 본 API 를 호출해서 자산을 수신하는 VASP 로 전송해야 합니다.
이때, Txid 또는 tx hash는 반드시 블록체인 Node Output 데이터를 사용해야 합니다. '0x'를 tx hash 앞에 추가하여 사용하는 경우 tx hash 불일치가 발생할 수 있습니다. 따라서 Node Output에 없는 '0x'가 포함하지 않도록 주의해 주세요.
결과 확인하기
- '자산 이전 결과(txid) 전송'은 동기 방식으로 작동하는 API로 요청 즉시 상대방의 응답을 받아 txid 전달이 성공인지 실패인지 확인할 수 있습니다.
- 'normal' 외의 응답을 수신하는 경우 적당한 수의 retry 로직을 설계하는 것이 좋습니다.
- Retry가 완료 된 후에도 정상 응답을 수신하지 못한다면 문제가 있는지 확인이 필요합니다. 이 경우 CodeVASP 팀에게 알려주세요.
스마트 컨트랙트 트랜잭션
- 스마트 컨트랙트로 일어나는 트랜잭션은 수신하는 VASP의 정책에 따라 입고가 거절될 수 있으니, 상대 VASP의 정책을 먼저 확인해야 합니다.
- 멀티시그 트랜잭션이 대표적인 예입니다.
- 이러한 유형의 트랜잭션을 프로토콜에 맞게 처리하기 위해서 Hot Wallet을 한번 거쳐 출고하는 방법을 생각해 볼 수 있습니다.
Path Parameter
이름 | 필수 여부 | 타입 | 설명 |
---|---|---|---|
BeneficiaryVaspEntityId | 필수 | string | 수신 지갑을 소유하는 VASP의 entityId |
Request
이름 | 필수 여부 | 타입 |
---|---|---|
transferId | 필수 | string |
txid | 필수 | string |
vout | 옵션 | string |
transferId: '자산 이전 허가 요청' 에서 부여한 UUID 입니다. 해당하는 자산 이전 내역에 자산 이전 결과 (Transfer ID) 를 저장하기 위해 설정합니다.
txid: 가상자산 이전을 위해 블록체인 상에 실행된 특정한 트랜잭션을 식별하기 위한 고유한 값입니다. 블록체인 API 에 의해서 생성되며 유일한 값입니다.
vout: utxo타입 코인의 경우 복수의 블록체인 트랜잭션이 하나의 txid 를 공유하면서 그룹을 형성할 수 있습니다. 이때, 고유한 트랜잭션을 식별하기 위해 이 값을 사용합니다. 마찬가지로 블록체인 API 의 실행 결과물입니다.
{
"transferId": "b09c8d00-8da9-11ec-b909-0242ac120002",
"txid": "311BFF73D9B7969CCF1042186180159C724FAB59013A7A034A93E5FB9D6BAFE6",
"vout": ""
}
Response
이름 | 필수 여부 | 타입 |
---|---|---|
transferId | 필수 | string |
result | 필수 | string |
reasonType | 옵션 | string |
transferId: 모든 API 에서 자산 이전 트랜잭션을 구별하기 위한 ID 입니다.
result: 송금 정보 수신 결과 값입니다.
-normal
: 요청을 정상적으로 처리하여 전달받은 Transaction ID 를 저장 완료한 상태입니다.
-error
: 요청을 처리하는 VASP 에서 요청을 처리하지 못한 상태입니다.
reasonType: result 값이 error 인 경우, 상세 이유를 구분하는 값입니다.
-TXID_ALREADY_EXISTS
: 이미 txid 가 저장된 자산 이전 내역에 대해서 다른 txid 를 저장하도록 요청받은 경우입니다. txid 가 한번 생성되면 실패할 수는 있지만 변경되지는 않습니다.
-TRANSFER_ALREADY_FAILED
: txid 를 저장하려는 TransferId 에 해당하는 자산 내역이 이미 실패한 경우 txid 를 저장할 수 없습니다.
-UNKNOWN_TRANSFER_ID
: Transfer ID 를 찾을 수 없는 경우입니다.
-UNKNOWN
: 현재 이 API 에서 발생할 것으로 예상되는 에러 사유가 없습니다.