밸류 전송
sendTransaction (VALUE_TRANSFER)
caver.klay.sendTransaction(transactionObject [, callback])
밸류 전송 트랜잭션을 네트워크에 전송합니다.
매개변수
sendTransaction의 매개 변수는 트랜잭션 객체와 콜백 함수입니다.
이름 | Type | 설명 |
---|---|---|
transactionObject | Object | 전송할 트랜잭션 오브젝트입니다. |
callback | Function | (선택 사항) 선택적 콜백으로, 첫 번째 매개 변수로 오류 개체를 반환하고 두 번째 매개 변수로 결과를 반환합니다. |
VALUE_TRANSFER
타입의 트랜잭션 객체는 다음과 같은 구조를 가집니다:
이름 | Type | 설명 |
---|---|---|
type | String | 트랜잭션 유형. "VALUE_TRANSFER" |
from | String | 이 트랜잭션 발신자의 주소입니다. |
to | String | 트랜잭션의 받는 사람 주소입니다. |
value | number | string | BN | BigNumber | 트랜잭션에 대해 이체된 값(peb 단위)입니다. |
gas | Number | 트랜잭션에 대해 지불할 최대 가스 금액(미사용 가스는 환불됨). |
gasPrice | Number | (선택 사항) 발신자가 제공한 가스 가격(단위: peb). 가스 가격은 Klaytn 노드에 설정된 단위가격과 동일해야 합니다. |
nonce | Number | (선택 사항) nonce의 정수입니다. 생략할 경우, caver-js가 caver.klay.getTransactionCount 를 호출하여 설정합니다. |
리턴 값
callback
은 32바이트 트랜잭션 해시를 반환합니다.
PromiEvent
: 프로미스 결합 이벤트 이미터입니다. 트랜잭션 영수증을 사용할 수 있을 때 해결됩니다. 추가로 다음과 같은 이벤트를 사용할 수 있습니다:
"transactionHash"
는String
을 반환합니다: 트랜잭션이 전송되고 트랜잭션 해시를 사용할 수 있는 직후에 발생합니다."receipt"
는Object
를 반환합니다: 트랜잭션 영수증을 사용할 수 있을 때 발생합니다."error"
는Error
를 반환합니다: 전송 중 에러가 발생하면 발생합니다. 가스 부족 오류에서 두 번째 매개 변수는 영수증입니다.
예시
const account = caver.klay.accounts.wallet.add('0x{private key}')// using the promisecaver.klay.sendTransaction({ type: 'VALUE_TRANSFER', from: account.address, to: '0x75c3098Be5E4B63FBAc05838DaAEE378dD48098d', gas: '300000', value: caver.utils.toPeb('1', `klay`),}).then(function(receipt){ ...});// using the event emittercaver.klay.sendTransaction({ type: 'VALUE_TRANSFER', from: account.address, to: '0x75c3098Be5E4B63FBAc05838DaAEE378dD48098d', gas: '300000', value: caver.utils.toPeb('1', `klay`),}).on('transactionHash', function(hash){ ...}).on('receipt', function(receipt){ ...}).on('error', console.error); // If an out-of-gas error, the second parameter is the receipt.
sendTransaction (FEE_DELEGATED_VALUE_TRANSFER)
caver.klay.sendTransaction(transactionObject [, callback])
수수료 위임 밸류 전송 트랜잭션을 네트워크로 전송합니다.
매개변수
sendTransaction의 매개 변수는 트랜잭션 객체와 콜백 함수입니다.
이름 | Type | 설명 |
---|---|---|
transactionObject | Object | 전송할 트랜잭션 오브젝트입니다. |
callback | Function | (선택 사항) 선택적 콜백으로, 첫 번째 매개 변수로 오류 개체를 반환하고 두 번째 매개 변수로 결 과를 반환합니다. |
FEE_DELEGATED_VALUE_TRANSFER
유형의 트랜잭션 객체는 다음과 같은 구조를 가집니다:
이름 | Type | 설명 |
---|---|---|
type | String | 트랜잭션 유형. "FEE_DELEGATED_VALUE_TRANSFER" |
from | String | 이 트랜잭션 발신자의 주소입니다. |
to | String | 트랜잭션의 받는 사람 주소입니다. |
value | number | string | BN | BigNumber | 트랜잭션에 대해 이체된 값(peb 단위)입니다. |
gas | Number | 트랜잭션에 대해 지불할 최대 가스 금액(미사용 가스는 환불됨). |
gasPrice | Number | (선택 사항) 발신자가 제공한 가스 가격(단위: peb). 가스 가격은 Klaytn 노드에 설정된 단위가격과 동일해야 합니다. |
nonce | Number | (선택 사항) nonce의 정수입니다. 생략하면 caver-js가 caver.klay.getTransactionCount 를 호출하여 설정합니다. |
위의 구조를 가진 FEE_DELEGATED_VALUE_TRANSFER
타입의 트랜잭션 객체 또는 FEE_DELEGATED_VALUE_TRANSFER
타입의 RLP 인코딩된 트랜잭션
을 발신자의 경우 caver.klay.accounts.signTransaction에서, 수수료 납부자의 경우 caver.klay.accounts.feePayerSignTransaction에서 매개변수로 사용할 수 있습니다.
수수료 납부자가 발신자가 서명한 RLP 인코딩 트랜잭션에 서명하고 네트워크에 전송하려면 다음 구조의 객체를 정의하고 caver.klay.sendTransaction
을 호출합니다.
이름 | Type | 설명 |
---|---|---|
feePayer | String | 트랜잭션의 수수료 납부자 주소입니다. |
senderRawTransaction | String | 발신자가 서명한 RLP 인코딩된 트랜잭션입니다. |
리턴 값
callback
은 32바이트 트랜잭션 해시를 반환합니다.
PromiEvent
: 프로미스 결합 이벤트 이미터입니다. 트랜잭션 영수증을 사용할 수 있을 때 해결됩니다. 추가로 다음과 같은 이벤트를 사용할 수 있습니다:
"transactionHash"
는String
을 반환합니다: 트랜잭션이 전송되고 트랜잭션 해시를 사용할 수 있는 직후에 발생합니다."receipt"
는Object
를 반환합니다: 트랜잭션 영수증을 사용할 수 있을 때 발생합니다."error"
는Error
를 반환합니다: 전송 중 에러가 발생하면 발생합니다. 가스 부족 오류에서 두 번째 매개 변수는 영수증입니다.
예시
const sender = caver.klay.accounts.wallet.add('0x{private key}')const feePayer = caver.klay.accounts.wallet.add('0x{private key}')// using the promiseconst { rawTransaction: senderRawTransaction } = await caver.klay.accounts.signTransaction({ type: 'FEE_DELEGATED_VALUE_TRANSFER', from: sender.address, to: '0x75c3098Be5E4B63FBAc05838DaAEE378dD48098d', gas: '300000', value: caver.utils.toPeb('1', `klay`),}, sender.privateKey)caver.klay.sendTransaction({ senderRawTransaction: senderRawTransaction, feePayer: feePayer.address,}).then(function(receipt){ ...});// using the event emitterconst { rawTransaction: senderRawTransaction } = await caver.klay.accounts.signTransaction({ type: 'FEE_DELEGATED_VALUE_TRANSFER', from: sender.address, to: '0x75c3098Be5E4B63FBAc05838DaAEE378dD48098d', gas: '300000', value: caver.utils.toPeb('1', `klay`),}, sender.privateKey)caver.klay.sendTransaction({ senderRawTransaction: senderRawTransaction, feePayer: feePayer.address,}).on('transactionHash', function(hash){ ...}).on('receipt', function(receipt){ ...}).on('error', console.error); // If an out-of-gas error, the second parameter is the receipt.
sendTransaction (FEE_DELEGATED_VALUE_TRANSFER_WITH_RATIO)
caver.klay.sendTransaction(transactionObject [, callback])
비율에 따른 수수료 위임 밸류 전송 트랜잭션을 네트워크에 전송합니다.
매개변수
sendTransaction의 매개 변수는 트랜잭션 객체와 콜백 함수입니다.
이름 | Type | 설명 |
---|---|---|
transactionObject | Object | 전송할 트랜잭션 오브젝트입니다. |
callback | Function | (선택 사항) 선택적 콜백으로, 첫 번째 매개 변수로 오류 개체를 반환하고 두 번째 매개 변수로 결과를 반환합니다. |
FEE_DELEGATED_VALUE_TRANSFER_WITH_RATIO
유형의 트랜잭션 객체는 다음과 같은 구조를 가집니다:
이름 | Type | 설명 |
---|---|---|
type | String | 트랜잭션 유형. "FEE_DELEGATED_VALUE_TRANSFER_WITH_RATIO" |
from | String | 이 트랜잭션 발신자의 주소입니다. |
to | String | 트랜잭션의 목적지 주소입니다. |
value | number | string | BN | BigNumber | 트랜잭션에 대해 전송된 값(peb 단위)입니다. |
gas | Number | 트랜잭션에 대해 지불할 최대 가스 금액(미사용 가스는 환불됨). |
gasPrice | Number | (선택 사항) 발신자가 제공한 가스 가격(단위: peb). 가스 가격은 Klaytn 노드에 설정된 단위가격과 동일해야 합니다. |
nonce | Number | (선택 사항) nonce의 정수입니다. 생략하면 caver-js가 caver.klay.getTransactionCount 를 호출하여 설정합니다. |
feeRatio | Number | 수수료 납부자의 수수료 비율입니다. 수수료 지불자의 수수료 비율. 30이면 수수료의 30%는 수수료 지불자가 부담합니다. 70%는 발신자가 부담합니다. 수수료 비율의 범위는 1~99이며, 범위를 벗어나면 트랜잭션이 승인되지 않습니다. |
위와 같은 구조의 FEE_DELEGATED_VALUE_TRANSFER_WITH_RATIO
타입의 트랜잭션 객체 또는 FEE_DELEGATED_VALUE_TRANSFER_WITH_RATIO
타입의 RLP 인코딩된 트랜잭션
을 발신자의 경우 caver.klay.accounts.signTransaction에서, 수수료 납부자의 경우 caver.klay.accounts.feePayerSignTransaction에서 매개변수로 사용할 수 있습니다.
수수료 납부자가 발신자가 서명한 RLP 인코딩 트랜잭션에 서명하고 네트워크에 전송하려면 다음 구조의 객체를 정의하고 caver.klay.sendTransaction
을 호출합니다.
이름 | Type | 설명 |
---|---|---|
feePayer | String | 트랜잭션의 수수료 납부자 주소입니다. |
senderRawTransaction | String | 발신자가 서명한 RLP 인코딩된 트랜잭션입니다. |