RLP 문자열 트랜잭션
이 페이지는 Wallet API로 RLP 인코딩된 문자열로 표현된 트랜잭션을 Klaytn에 보내는 방법을 안내합니다.

튜토리얼에 앞서

  • API 호출에 사용되는 x-chain-id 값은 8217(Cypress) 또는 1001(Baobab)입니다.
  • API 호출에 필요한 필수 파라미터는 각 예시에 설명됩니다.
API 호출 시 사용자가 입력해야 하는 값은 중괄호 1개({})로 표시합니다. 사용자가 입력해야 하는 값은 아래 테이블과 같습니다.
항목
비고
chain-id
8217 또는 1001
Cypress(Klaytn 메인넷) 또는 Baobab(Klaytn 테스트넷)
access-key-id
인증 아이디
KAS 콘솔 - Security - Credential에서 발급받은 accessKeyId
secret-access-key
인증 비밀번호
KAS 콘솔 - Security - Credential에서 발급받은 secretAccessKey
krn
(optional) 계정 저장소의 ID
기본 계정 저장소 사용 시 불필요
API 인증 키가 있으면 모든 KAS 서비스를 사용할 수 있으며 Wallet API를 호출해 만든 Klaytn 계정에 대한 모든 권한을 소유합니다. 모든 권한에는 Klaytn 계정의 자산(KLAY 등) 이동이나 트랜잭션 전송 및 실행 권한이 포함됩니다. 만약 API 인증 키에 타인이 접근한다면 Klaytn 계정 권한을 탈취당해 원치 않는 트랜잭션이 발생할 수 있습니다.
KAS/Klaytn 계정 보안을 위해 KAS API 인증 키(Secret Access Key)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.

전송 계정이 트랜잭션 전송 수수료 지불

RLP 트랜잭션 전송 API는 RLP 인코딩된 트랜잭션 문자열을 사용해 트랜잭션을 Klaytn에 전송합니다. Klaytn의 모든 트랜잭션은 RLP(Recursive Length Prefix) 방식으로 인코딩된 문자열로 표현할 수 있습니다. Klaytn에서는 트랜잭션 서명 RLP(SigRLP)와 트랜잭션 해시 RLP(TxHashRLP)를 사용합니다. Klaytn 트랜잭션에 관한 자세한 내용은 다음을 확인하십시오.
RLP 트랜잭션을 보내려면 Klaytn Node에 트랜잭션을 보내야 하며, 트랜잭션을 보내려면 트랜잭션 수수료를 지불해야 합니다. API를 호출하려면 계정 저장소와 계정을 생성하고 사용할 계정을 선택해야 합니다. 이 예시를 따라 RLP 트랜잭션을 보내면, 보내는 계정(Account)이 트랜잭션 수수료를 직접 부담합니다.
KAS SDK(caver-js/caver-java extension) 설치, 실행에 관한 자세한 내용은 KAS SDK를 확인하십시오. 계정 저장소 생성, 계정 생성, 계정 선택에 관한 자세한 내용은 Getting Started를 확인하십시오.

API 호출

트랜잭션 서명 RLP 또는 트랜잭션 해시 RLP를 입력하고 RLP 트랜잭션 전송 API를 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.
curl
javascript
java
1
curl --location --request POST "https://wallet-api.klaytnapi.com/v2/tx/rlp" \
2
-u {access-key-id}:{secret-access-key} \
3
--header "x-chain-id: {chain-id}" \
4
--header "Content-Type: application/json" \
5
--data-raw "{
6
"rlp": "0x10f886018505d21dba00830f4240942f...",
7
"submit": true
8
}"
Copied!
1
const rlp = '0x08f87e808505d21dba008261a89476c6b1f34562ed7a843786e1d7f57d0d7948a6f10194dbe9312beb546a5b518f8bb7ac315cc6eb96b34cf847f8458207f6a0276299929f4b805b1e1376543001652eff9f47cf34332e042c8aded29fd022fca077f1ff2f4bb668b49aa228c170e72d84ffdc456bd3ac9e5e6291d8e6cd61508b'
2
const result = await caver.kas.wallet.requestRawTransaction({ rlp, submit: true })
Copied!
1
String rlp = "0x08f8818203ba8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f5a007c5e1a9b23665b84b1bf83ffcbcce92eaa40e66d1cdf7cf89609dd9e397acf8a0095b14504ee5e486bc4ca9b6d8c1669ca855587bc6d433bb423bc2707b715d8a";
2
3
ProcessRLPRequest request = new ProcessRLPRequest();
4
request.setRlp(rlp);
5
request.setSubmit(true);
6
7
TransactionResult result = caver.kas.wallet.requestRawTransaction(request);
8
System.out.println(result);
Copied!
  • submit: false이면 트랜잭션이 전송되지 않고, 서명된 트랜잭션 RLP와 트랜잭션 정보를 반환합니다.

API 응답

RLP 트랜잭션 전송 API의 응답은 아래와 같습니다.
curl
javascript
java
1
{
2
"from": "0x325dbaf78b393dc2115138c86a58f897ed413aff",
3
"gasLimit": 1000000,
4
"gasPrice": "0x5d21dba00",
5
"input": "0x6d656d6f",
6
"nonce": 1,
7
"rlp": "0x10f886018505d21dba00830f4240942f87ba64de5526f7880f21481effbf950f70005c82010094325dbaf78b393dc2115138c86a58f897ed413aff846d656d6ff847f8458207f6a0f3d42d9f0d82f15a2acd18a5fbde0b1aff26936b89fec5151da59bdad4c4ddefa069a8b9319769c5dacffad42232d4d053d11722832169d71bca3f28b211f5f23d",
8
"signatures": [
9
{
10
"R": "0xf3d42d9f0d82f15a2acd18a5fbde0b1aff26936b89fec5151da59bdad4c4ddef",
11
"S": "0x69a8b9319769c5dacffad42232d4d053d11722832169d71bca3f28b211f5f23d",
12
"V": "0x7f6"
13
}
14
],
15
"status": "Submitted",
16
"to": "0x2f87ba64de5526f7880f21481effbf950f70005c",
17
"transactionHash": "0x62cbe2b959dd80b2dae88ccac3caba51c056989d2cb00bf7b4136c4945cc4644",
18
"typeInt": 16,
19
"value": "0x100"
20
}
Copied!
1
TransactionResult {
2
from: '0xdbe9312beb546a5b518f8bb7ac315cc6eb96b34c',
3
gas: 25000,
4
gasPrice: '0x5d21dba00',
5
nonce: 0,
6
rlp: '0x08f87e808505d21dba008261a89476c6b1f34562ed7a843786e1d7f57d0d7948a6f10194dbe9312beb546a5b518f8bb7ac315cc6eb96b34cf847f8458207f6a0276299929f4b805b1e1376543001652eff9f47cf34332e042c8aded29fd022fca077f1ff2f4bb668b49aa228c170e72d84ffdc456bd3ac9e5e6291d8e6cd61508b',
7
typeInt: 8,
8
signatures: [
9
Signature {
10
R: '0x276299929f4b805b1e1376543001652eff9f47cf34332e042c8aded29fd022fc',
11
S: '0x77f1ff2f4bb668b49aa228c170e72d84ffdc456bd3ac9e5e6291d8e6cd61508b',
12
V: '0x7f6'
13
}
14
],
15
status: 'Submitted',
16
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
17
transactionHash: '0xb8bfd2ef01bbf52cb6c50f54ff949a00387e77b0e87b0690a1d23a150af513ff',
18
value: '0x1'
19
}
Copied!
1
class TransactionResult {
2
from: 0x81ba6c299350719b18dfaec38ba566fbd5cd7202
3
gas: 100000
4
gasPrice: 0x5d21dba00
5
input: null
6
nonce: 954
7
rlp: 0x08f8818203ba8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f5a007c5e1a9b23665b84b1bf83ffcbcce92eaa40e66d1cdf7cf89609dd9e397acf8a0095b14504ee5e486bc4ca9b6d8c1669ca855587bc6d433bb423bc2707b715d8a
8
signatures: [class Signature {
9
R: 0x7c5e1a9b23665b84b1bf83ffcbcce92eaa40e66d1cdf7cf89609dd9e397acf8
10
S: 0x95b14504ee5e486bc4ca9b6d8c1669ca855587bc6d433bb423bc2707b715d8a
11
V: 0x7f5
12
}]
13
status: Submitted
14
to: 0x95e3fd82ecd2b32cae8618599971f5f47f4bc110
15
transactionHash: 0xd0084e5311d0d75d9bf6f4f1ea31218ceb105e03418599cfeabbb16987fc598e
16
typeInt: 8
17
value: 0x1
18
code: null
19
message: null
20
transactionId: null
21
accountKey: null
22
}
Copied!
이 API에 관한 자세한 내용은 다음을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.

대납 계정이 트랜잭션 전송 수수료 지불

RLP 트랜잭션 전송 API는 RLP 인코딩된 트랜잭션 문자열을 사용해 트랜잭션을 Klaytn에 전송합니다. Klaytn의 모든 트랜잭션은 RLP(Recursive Length Prefix) 방식으로 인코딩된 문자열로 표현할 수 있습니다. Klaytn에서는 트랜잭션 서명 RLP(SigRLP)와 트랜잭션 해시 RLP(TxHashRLP)를 사용합니다. Klaytn 트랜잭션에 관한 자세한 내용은 다음을 확인하십시오.
KAS로 RLP 트랜잭션을 전송하려면 Klaytn Node에 트랜잭션을 보내야 하며, 트랜잭션을 보내려면 트랜잭션 수수료를 지불해야 합니다. API를 호출하려면 계정 저장소, 수수료 대납 계정 저장소에 각각 계정, 수수료 대납 계정을 생성하고 사용할 계정, 수수료 대납 계정을 선택해야 합니다. 이 예시를 따라 RLP 트랜잭션을 보내면, 보내는 계정(Account)이 아니라 다른 계정(여러분의 수수료 대납 계정)이 이 트랜잭션 수수료를 대신 부담합니다. KAS에서 제공하는 수수료 대납 방식에 관한 자세한 내용은 다음을 확인하십시오.
KAS SDK(caver-js/caver-java extension) 설치, 실행에 관한 자세한 내용은 KAS SDK를 확인하십시오. 계정 저장소 생성, 계정 생성, 계정 선택에 관한 자세한 내용은 Getting Started를 확인하십시오. 수수료 대납 계정 저장소 생성, FeePayerAccount 생성, FeePayerAccount 선택에 관한 자세한 내용은 Getting Started를 확인하십시오.

API 호출

수수료 대납 방식 RLP 트랜잭션 전송 API를 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.
curl
javascript
java
1
curl --location --request POST "https://wallet-api.klaytnapi.com/v2/tx/fd-user/rlp" \
2
-u {access-key-id}:{secret-access-key} \
3
--header "x-chain-id: {chain-id}" \
4
--header "Content-Type: application/json" \
5
--data-raw "{
6
"rlp": "0x49f8c8048505d21dba00830f4240...",
7
"feePayer": "0x85B98485444c89880cD9C48807CEF727C296F2da",
8
"feeRatio": 10,
9
"submit": true
10
}"
Copied!
1
const rlp = '0x09f8dc808505d21dba0082c3509476c6b1f34562ed7a843786e1d7f57d0d7948a6f1019418aa5d1726d42a16e53eea8e1eda13f5f3d18bf4f847f8458207f6a0620fa593f92d9697ff4a4ce10e7d7edb443903c80b972c18fa1b71b58666dfd0a0208e2ea6f0a357000c5b2926ea86f7cef7237dca9a6c2a102fac9b36f282b1669444ee3906a7a2007762e9d706df6e4ef63fa1eda8f847f8458207f6a013a4969b6edad58dd526db2495aa68d25a3f0d105ec6d6e6feba34d1f6c20573a00275cbcb9aa3a7dbb38619e5e54b8398cc9893ea73b5d1b2184d3de9dc929f1c'
2
const result = await caver.kas.wallet.requestFDRawTransactionPaidByUser({ rlp, feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8', submit: true })
Copied!
1
String rlp = "0x09f8df8203bb8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f5a0bd2d872691092acb24b9d60f2e4c1297ffdacc02ab1a88b0f6638920befd32afa03ec029244f94204901d5d4c86c44f57afb5cdbea0c8939350a702d8ed4e350d69431d845ac80a0b2a38f6267cabcf34f8fa9dcd2b7f847f8458207f6a0b600f4a349d139febecdb79eaf563e0f0b4c106f8f3354789ee3c9ccc9086d58a0531564ad071241a3f0dbce487b55a19e7da595789404e0b1b33d906b9121e9bf";
2
3
FDUserProcessRLPRequest processRLPRequest = new FDUserProcessRLPRequest();
4
processRLPRequest.setRlp(rlp);
5
processRLPRequest.setFeePayer(userFeePayer);
6
processRLPRequest.setSubmit(true);
7
8
FDTransactionResult resultRLP = caver.kas.wallet.requestFDRawTransactionPaidByUser(processRLPRequest);
9
System.out.println(resultRLP);
Copied!
  • submit: false이면 트랜잭션이 전송되지 않고, 서명된 트랜잭션 RLP와 트랜잭션 정보를 반환합니다.
  • feePayer: 사용자가 트랜잭션 수수료를 대납하는 계정을 별도로 사용할 때, 이 계정 주소를 여기에 입력합니다. KAS에서 먼저 수수료를 대납해주는 방식을 사용하려면 feePayer 파라미터 자체를 사용하지 않습니다.
  • feeRatio: 트랜잭션 수수료 전체에서 feePayer가 납부할 비율(1%~99%)입니다. 나머지 비율은 트랜잭션을 Klaytn에 보내는 from이 직접 납부합니다.
    • 사용자 대납 계정으로 납부하거나 KAS에서 수수료를 대납하는 2가지 방식 모두, feeRatio를 사용할 수 있습니다.

API 응답

수수료 대납 RLP 트랜잭션 전송 API의 응답은 아래와 같습니다.
curl
javascript
java
1
{
2
"feePayer": "0xe8ab1729ab614551021cf5cc22c0e037f5a82930",
3
"from": "0x9c56b45b7443bc73f47234199982481c64807f78",
4
"gasLimit": 1000000,
5
"gasPrice": "0x5d21dba00",
6
"input": "0x",
7
"nonce": 4,
8
"rlp": "0x49f8c8048505d21dba00830f4240949c56b45b7443bc73f47234199982481c64807f7880f847f8458207f5a0dd824552d22d8bbb55fa36c0717d1f69305fe26c483d161f30cec3d9fd9aad1da0708b3c3a3b0030ad281ae414ec73f1c05d5095043f13e8a53b396db48c98cd6594e8ab1729ab614551021cf5cc22c0e037f5a82930f847f8458207f6a0e23bcc4cf32afbc3c3b362bd8c774cd33d5d3cba7eb4dc45b25dde28543bfd59a061a52ef000023d9ba61ef9d17546e4d2d3f9bbdf893c5192add8be24a07182a2",
9
"signatures": [
10
{
11
"R": "0xdd824552d22d8bbb55fa36c0717d1f69305fe26c483d161f30cec3d9fd9aad1d",
12
"S": "0x708b3c3a3b0030ad281ae414ec73f1c05d5095043f13e8a53b396db48c98cd65",
13
"V": "0x7f5"
14
}
15
],
16
"status": "Submitted",
17
"transactionHash": "0x366f4f11918ef23314e3d35b1d5bee1067a2d599359fd920f867aa0a3b31d2a2",
18
"typeInt": 73
19
}
Copied!
1
FDTransactionResult {
2
feePayer: '0x44ee3906a7a2007762e9d706df6e4ef63fa1eda8',
3
from: '0x18aa5d1726d42a16e53eea8e1eda13f5f3d18bf4',
4
gas: 50000,
5
gasPrice: '0x5d21dba00',
6
nonce: 0,
7
rlp: '0x09f8dc808505d21dba0082c3509476c6b1f34562ed7a843786e1d7f57d0d7948a6f1019418aa5d1726d42a16e53eea8e1eda13f5f3d18bf4f847f8458207f6a0620fa593f92d9697ff4a4ce10e7d7edb443903c80b972c18fa1b71b58666dfd0a0208e2ea6f0a357000c5b2926ea86f7cef7237dca9a6c2a102fac9b36f282b1669444ee3906a7a2007762e9d706df6e4ef63fa1eda8f847f8458207f6a082fc2dc3e022f5f31c0e9a33e8601fa7861dda8421456fe346cd450a85809967a058bada64856d4739b5512da275c55facb9e592ababde0525af87f15f18d75cf7',
8
typeInt: 9,
9
signatures: [
10
Signature {
11
R: '0x620fa593f92d9697ff4a4ce10e7d7edb443903c80b972c18fa1b71b58666dfd0',
12
S: '0x208e2ea6f0a357000c5b2926ea86f7cef7237dca9a6c2a102fac9b36f282b166',
13
V: '0x7f6'
14
}
15
],
16
status: 'Submitted',
17
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
18
transactionHash: '0x4fadb2c881168e7a101e4abec3fe2ebb9cac9711071179b6ef8ca551a5744545',
19
value: '0x1'
20
}
Copied!
1
class FDTransactionResult {
2
feePayer: 0x31d845ac80a0b2a38f6267cabcf34f8fa9dcd2b7
3
from: 0x81ba6c299350719b18dfaec38ba566fbd5cd7202
4
gas: 100000
5
gasPrice: 0x5d21dba00
6
input: null
7
nonce: 955
8
rlp: 0x09f8df8203bb8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f5a0bd2d872691092acb24b9d60f2e4c1297ffdacc02ab1a88b0f6638920befd32afa03ec029244f94204901d5d4c86c44f57afb5cdbea0c8939350a702d8ed4e350d69431d845ac80a0b2a38f6267cabcf34f8fa9dcd2b7f847f8458207f6a00efcd393bd8194185a654b1772a729ddb360c0daf20b08dfa56cb988d00ad8b9a02f400dba3de72e82a994dd5b91d16633bd2437f85662ab39cce42b540f4de6bd
9
signatures: [class Signature {
10
R: 0xbd2d872691092acb24b9d60f2e4c1297ffdacc02ab1a88b0f6638920befd32af
11
S: 0x3ec029244f94204901d5d4c86c44f57afb5cdbea0c8939350a702d8ed4e350d6
12
V: 0x7f5
13
}]
14
status: Submitted
15
to: 0x95e3fd82ecd2b32cae8618599971f5f47f4bc110
16
transactionHash: 0x3e3dd7a553a31a002e93731660172390035541393db605ffac01302c34f2e652
17
typeInt: 9
18
value: 0x1
19
feeRatio: null
20
transactionId: null
21
accountKey: null
22
}
Copied!
typeInt 변수는 트랜잭션 종류를 구별하는 값입니다. 트랜잭션의 종류에 관한 자세한 내용은 다음을 확인하십시오.
이 API에 관한 자세한 내용은 다음을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.

KAS에서 트랜잭션 전송 수수료 지불

RLP 트랜잭션 전송 API는 RLP 인코딩된 트랜잭션 문자열을 사용해 트랜잭션을 Klaytn에 전송합니다. Klaytn의 모든 트랜잭션은 RLP(Recursive Length Prefix) 방식으로 인코딩된 문자열로 표현할 수 있습니다. Klaytn에서는 트랜잭션 서명 RLP(SigRLP)와 트랜잭션 해시 RLP(TxHashRLP)를 사용합니다. Klaytn 트랜잭션에 관한 자세한 내용은 다음을 확인하십시오.
KAS로 RLP 트랜잭션을 전송하려면 Klaytn Node에 트랜잭션을 보내야 하며, 트랜잭션을 보내려면 트랜잭션 수수료를 지불해야 합니다. API를 호출하려면 계정 저장소에 계정을 생성하고 사용할 계정을 선택해야 합니다. 이 예시를 따라 Klay를 보내면, KLAY를 보내는 계정(Account)이 아니라 다른 계정(KAS의 글로벌 수수료 대납 계정)이 이 트랜잭션 수수료를 대신 부담합니다. KAS 글로벌 수수료 대납 계정(KAS GlobalFeePayer)이 트랜잭션을 전송하는 Klaytn 계정을 대신해 부담한 수수료는 추후 여러분의 KAS 계정에 청구됩니다. KAS에서 제공하는 수수료 대납 방식에 관한 자세한 내용은 다음을 확인하십시오.
KAS SDK(caver-js/caver-java extension) 설치, 실행에 관한 자세한 내용은 KAS SDK를 확인하십시오. 계정 저장소 생성, 계정 생성, 계정 선택에 관한 자세한 내용은 Getting Started를 확인하십시오.

API 호출

KAS GlobalFeePayer 수수료 대납 방식 RLP 트랜잭션 전송 API를 호출합니다. API 호출 시 REST API를 사용할 수 있습니다.
curl
javascript
java
1
curl --location --request POST "https://wallet-api.klaytnapi.com/v2/tx/fd/rlp" \
2
-u {access-key-id}:{secret-access-key} \
3
--header "x-chain-id: {chain-id}" \
4
--header "Content-Type: application/json" \
5
--data-raw "{
6
"rlp": "0x49f8c8048505d21dba00830f4240...",
7
"feeRatio": 10,
8
"submit": true
9
}"
Copied!
1
const rlp = '0x0af8de018505d21dba00830111709476c6b1f34562ed7a843786e1d7f57d0d7948a6f101944c11080ccdbc63ae369b4baf44bee383779123d863f847f8458207f5a099855401a5cb69181c252d183af8281eea35767040f9526a0f6305b9c593f0a8a0276d996d4b7e4c68e7fa1571b4d4b753958cca1192701b67c9aaef7cd50a4754941b71a63903e35371e2fc41c6012effb99b9a2c0ff847f8458207f5a076d33208facdb2f45dba5ba82bebb84a4df0311b66ebea2e27796df97f863868a01a2ddad4029ce983f885a69c433e701bc32f4d51f598ada490565e77ebb936d6'
2
const result = await caver.kas.wallet.requestFDRawTransactionPaidByGlobalFeePayer({ rlp:, submit: true, feeRatio: 99 })
Copied!
1
String rlp = "0x09f8df8203bc8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f6a0b7f7e60352eb112a7ca2da53a447c34d2efa2560b3ca2cf3c5b3a75de7371a82a02632b2e9f8f5862cdf37b3526dff7d7883bbb60294509b0fa9d54f6c1fe25195941b71a63903e35371e2fc41c6012effb99b9a2c0ff847f8458207f6a0bbeb7b0e4d12236145d1130530f1b3638cf4e0cbf58dabaa976b2973fd1d0f07a042456bbb1e642f88e2ca027ea8725eeb54cc9c4d35b8ee3f44f0de08c5e6ebe5";
2
3
FDProcessRLPRequest requestRLP = new FDProcessRLPRequest();
4
requestRLP.setRlp(rlp);
5
requestRLP.setSubmit(true);
6
7
FDTransactionResult result = caver.kas.wallet.requestFDRawTransactionPaidByGlobalFeePayer(requestRLP);
8
System.out.println(result);
Copied!
  • submit: false이면 트랜잭션이 전송되지 않고, 서명된 트랜잭션 RLP와 트랜잭션 정보를 반환합니다.
  • feeRatio: 트랜잭션 수수료 전체에서 feePayer가 납부할 비율(1%~99%)입니다. 나머지 비율은 트랜잭션을 Klaytn에 보내는 from이 직접 납부합니다.
    • 사용자 대납 계정으로 납부하거나 KAS에서 수수료를 대납하는 2가지 방식 모두, feeRatio를 사용할 수 있습니다.

API 응답

KAS GlobalFeePayer 수수료 대납 RLP 트랜잭션 전송 API의 응답은 아래와 같습니다.
curl
javascript
java
1
{
2
"feePayer": "0x85b98485444c89880cd9c48807cef727c296f2da",
3
"feeRatio": 10,
4
"from": "0x9c56b45b7443bc73f47234199982481c64807f78",
5
"gasLimit": 1000000,
6
"gasPrice": "0x5d21dba00",
7
"input": "0x",
8
"nonce": 4,
9
"rlp": "0x49f8c8048505d21dba00830f4240949c56b45b7443bc73f47234199982481c64807f7880f847f8458207f5a0dd824552d22d8bbb55fa36c0717d1f69305fe26c483d161f30cec3d9fd9aad1da0708b3c3a3b0030ad281ae414ec73f1c05d5095043f13e8a53b396db48c98cd6594e8ab1729ab614551021cf5cc22c0e037f5a82930f847f8458207f6a0e23bcc4cf32afbc3c3b362bd8c774cd33d5d3cba7eb4dc45b25dde28543bfd59a061a52ef000023d9ba61ef9d17546e4d2d3f9bbdf893c5192add8be24a07182a2",
10
"signatures": [
11
{
12
"R": "0xdd824552d22d8bbb55fa36c0717d1f69305fe26c483d161f30cec3d9fd9aad1d",
13
"S": "0x708b3c3a3b0030ad281ae414ec73f1c05d5095043f13e8a53b396db48c98cd65",
14
"V": "0x7f5"
15
}
16
],
17
"status": "Submitted",
18
"transactionHash": "0x366f4f11918ef23314e3d35b1d5bee1067a2d599359fd920f867aa0a3b31d2a2",
19
"typeInt": 73
20
}
Copied!
1
FDTransactionResult {
2
feePayer: '0x1b71a63903e35371e2fc41c6012effb99b9a2c0f',
3
from: '0x4c11080ccdbc63ae369b4baf44bee383779123d8',
4
gas: 70000,
5
gasPrice: '0x5d21dba00',
6
nonce: 1,
7
rlp: '0x0af8de018505d21dba00830111709476c6b1f34562ed7a843786e1d7f57d0d7948a6f101944c11080ccdbc63ae369b4baf44bee383779123d863f847f8458207f5a099855401a5cb69181c252d183af8281eea35767040f9526a0f6305b9c593f0a8a0276d996d4b7e4c68e7fa1571b4d4b753958cca1192701b67c9aaef7cd50a4754941b71a63903e35371e2fc41c6012effb99b9a2c0ff847f8458207f5a081e3f03427b0bd41668b2f43fbd87e946bad1b29308c9c5568a282d1c5b9c1b5a07c58152f927a2229784fbdf5566ee1bfd79f7bdb91b26052204e025eef2b0f01',
8
typeInt: 10,
9
signatures: [
10
Signature {
11
R: '0x99855401a5cb69181c252d183af8281eea35767040f9526a0f6305b9c593f0a8',
12
S: '0x276d996d4b7e4c68e7fa1571b4d4b753958cca1192701b67c9aaef7cd50a4754',
13
V: '0x7f5'
14
}
15
],
16
status: 'Submitted',
17
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
18
transactionHash: '0x6c2224b458b242602cce3d51cc27b373d7167509f38e3f46c84cd2bc1f746c7f',
19
value: '0x1',
20
feeRatio: 99
21
}
Copied!
1
class FDTransactionResult {
2
feePayer: 0x1b71a63903e35371e2fc41c6012effb99b9a2c0f
3
from: 0x81ba6c299350719b18dfaec38ba566fbd5cd7202
4
gas: 100000
5
gasPrice: 0x5d21dba00
6
input: null
7
nonce: 956
8
rlp: 0x09f8df8203bc8505d21dba00830186a09495e3fd82ecd2b32cae8618599971f5f47f4bc110019481ba6c299350719b18dfaec38ba566fbd5cd7202f847f8458207f6a0b7f7e60352eb112a7ca2da53a447c34d2efa2560b3ca2cf3c5b3a75de7371a82a02632b2e9f8f5862cdf37b3526dff7d7883bbb60294509b0fa9d54f6c1fe25195941b71a63903e35371e2fc41c6012effb99b9a2c0ff847f8458207f6a0c3f1a7cc897e802c5d8a08aed83d314b274e1750b60054fa0e0b8f7f00935f33a0332cd62697579b1524c117d77fb9d0e7f5d62582f77fb6849672ee64a7eb501b
9
signatures: [class Signature {
10
R: 0xb7f7e60352eb112a7ca2da53a447c34d2efa2560b3ca2cf3c5b3a75de7371a82
11
S: 0x2632b2e9f8f5862cdf37b3526dff7d7883bbb60294509b0fa9d54f6c1fe25195
12
V: 0x7f6
13
}]
14
status: Submitted
15
to: 0x95e3fd82ecd2b32cae8618599971f5f47f4bc110
16
transactionHash: 0xfc1056decf9ab222325a1ffa096d53db160f506a2e40ecdf8dacff4e4439a5cd
17
typeInt: 9
18
value: 0x1
19
feeRatio: null
20
transactionId: null
21
accountKey: null
22
}
Copied!
typeInt 변수는 트랜잭션 종류를 구별하는 값입니다. 트랜잭션의 종류에 관한 자세한 내용은 다음을 확인하십시오.
이 API에 관한 자세한 내용은 다음을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.