트랜잭션
트랜잭션 실행과 관련된 API는 3가지로 구성됩니다.
트랜잭션에 필요한 정보 조회
/v1/tx/prepare
트랜잭션 서명하기
/v1/tx/sign
트랜잭션 전송하기
/v1/tx/broadcast
상황에 따라 필요한 API들을 순서대로 수행할 수 있습니다.
서명만 생성하는 경우 : 트랜잭션에 필요한 정보 조회 ⇒ 트랜잭션 서명하기
서명 생성 및 브로드 캐스트까지 실행하는 경우 : 트랜잭션에 필요한 정보 조회 ⇒ 트랜잭션 서명하기 ⇒ 트랜잭션 전송하기
트랜잭션에 필요한 정보 조회
트랜잭션에 필요한 수수료와 같은 정보를 조회 합니다.
Request
Parameter
Name | Type | Description | Required |
---|---|---|---|
userId | String | 로그인 후 받은 Response의 userId | O |
accountId | String | 전송할 계정 ID. | O |
contract | String | 토큰을 전송하려고 할 때, 전송할 토큰의 contract 주소 | X |
to | String | 전송 받을 주소 | O |
isNft | String |
| X |
tokenId | Number String |
| X |
amount | String | 전송할 코인 or 토큰의 개수. FT를 전송할 경우에 사용. | X |
Response
Success Response
Name | Type | Description |
---|---|---|
Name | Type | Description |
balance | String | 전송하려는 계정의 현재 Balance |
decimals | String | 전송하려는 계정 코인의 decimals |
symbol | String | 전송하려는 계정 코인의 symbol |
tokenId | Number | 전송하려는 계정이 토큰 계정인 경우 tokenId |
detail | TxData(Object) | Transaction에 필요한 데이터. 계정의 종류에 따라 다른 TxData 포맷을 가짐. |
트랜잭션 서명하기
트랜잭션에 필요한 정보 조회를 통해 조회한 데이터를 이용해서 실제 서명을 진행합니다. 필요에 따라서 TxData의 fee 값을 수정해서 서명을 진행할 수 있습니다. 서명 전에는 반드시 PIN Pad Library를 이용하여 사용자의 지갑 PIN 번호를 받아서 UVD를 함께 전송해야 합니다.
Request
Parameter
Name | Type | Description | Required |
---|---|---|---|
userId | String | 로그인 후 받은 Response의 userId | O |
type | String | 서명의 종류
• | O |
pin | UVD | 사용자의 UVD | O |
walletId | String | 사용자 지갑 ID | O |
accountId | String | 전송할 계정 ID. 트랜잭션에 필요한 정보 조회의 accountId와 동일한 값이어야 함. | O |
tokenId | String | 토큰을 전송하는 경우 tokenId | X |
isNft | String |
| X |
contract | String | 토큰을 전송하는 경우 contract 주소 | X |
txData | TxData(Object) | Transaction에 필요한 데이터. 계정의 종류에 따라 다른 TxData 포멧을 가짐. 트랜잭션에 필요한 정보 조회를 통해 조회한 데이터 값을 포함. | O |
otpCode | Object | otp 인증 정보 | X |
Response
Success Response
Name | Type | Description |
---|---|---|
signatureResult | Object | sign result 값. 전송 네트워크 별로 다른 구조. |
transaction | Object | 전송 세부 내역 |
트랜잭션 전송하기
서명된 트랜잭션을 전송합니다.
Request
Parameter
Name | Type | Description | Required |
---|---|---|---|
userId | String | 로그인 후 받은 Response의 userId | O |
type | String | 서명의 종류
• | O |
pin | UVD | 사용자의 UVD | O |
walletId | String | 사용자 지갑 ID | O |
accountId | String | 전송할 계정 ID. 트랜잭션에 필요한 정보 조회의 accountId와 동일한 값이어야 함. | O |
tokenId | String | 토큰을 전송하는 경우 tokenId | X |
contract | String | 토큰을 전송하는 경우 contract 주소 | X |
isNft | String |
| X |
signatureResult | String | Object | 이미 서명된 데이터를 Broadcast 하는 경우
서명( | X |
txData | TxData(Object) | Transaction에 필요한 데이터. 계정의 종류에 따라 다른 TxData 포멧을 가짐. 트랜잭션에 필요한 정보 조회를 통해 조회한 데이터 값을 포함. | X |
otpCode | Object | otp 인증 정보 | X |
Response
Success Response
Name | Type | Description |
---|---|---|
signatureResult | Object | sign result 값. 전송 네트워크 별로 조금씩 다른 구조. |
transaction | Object | 전송 세부 내역 |
broadcastData | String | 네트워크로 전송한 데이터 |
txid | String | Transaction ID |
Last updated