본문으로 건너뛰기
이 페이지는 영어로 된 기계 번역을 사용하므로 오류나 불명확한 언어가 포함될 수 있습니다. 가장 정확한 정보는 영어 원문을 참조하시기 바랍니다. 잦은 업데이트로 인해 일부 콘텐츠는 원래 영어로 되어 있을 수 있습니다. Crowdin에서 이 페이지의 번역을 개선하는 데 동참하여 도움을 주세요. (Crowdin translation page, Contributing guide)

트랜잭션 구현

이 가이드는 다양한 트랜잭션 유형, 인코딩, 서명, 네트워크 상호 작용을 다루며 Kaia 네트워크에서 트랜잭션을 구현하는 방법에 대한 포괄적인 개요를 제공합니다.

카이아 트랜잭션 구성 요소

카이아 거래에는 일반적으로 다음과 같은 구성 요소가 포함됩니다:

구성 요소설명
'부터'발신자의 주소입니다. 키 쌍과 주소의 분리로 인해 대부분의 카이아 트랜잭션 유형에 필요합니다.
to이체된 값을 받을 계정 주소입니다.
전송할 peb의 KAIA 양입니다.
'입력'트랜잭션 실행에 사용되는 트랜잭션에 첨부된 데이터입니다.
v, r, s`수신자가 발신자의 주소를 알 수 있도록 발신자가 생성한 암호화 서명입니다.
nonce발신자의 트랜잭션을 고유하게 식별하는 데 사용되는 값입니다. 발신자가 동일한 nonce를 가진 두 개의 트랜잭션을 생성한 경우 하나만 실행됩니다.
gas트랜잭션이 사용할 수 있는 최대 트랜잭션 수수료 금액입니다.
gasPrice발신자가 토큰으로 지불할 금액을 얻기 위한 승수입니다. 발신자가 지불할 토큰의 양은 gas * gasPrice를 통해 계산됩니다. 예를 들어, 가스값이 10이고 가스가격이 10^18이면 발신자는 트랜잭션 수수료로 10 KAIA를 지불하게 됩니다. KAIA의 단위는 여기에 설명되어 있습니다.

서명 유효성 검사

카이아는 주소에서 키 쌍을 분리하기 때문에 서명 검증은 일반적인 블록체인과 다릅니다. 보낸 사람` 필드는 발신자를 식별하기 때문에 매우 중요합니다. '보낸 사람' 주소와 연결된 AccountKey는 서명의 유효성을 검사하는 데 사용됩니다.

수수료 위임 및 SenderTxHash

카이아의 수수료 위임 기능을 사용하면 제3자가 거래 수수료를 대신 지불할 수 있습니다. 이를 위해서는 발신자와 수수료 납부자가 각각 한 명씩 두 명의 서명이 필요합니다. 'SenderTxHash'는 수수료 위임 거래를 추적하는 데 매우 중요합니다. 수수료 납부자의 정보가 '없는' 거래의 해시로, 발신자는 수수료 납부자가 서명하기 전에 거래를 추적할 수 있습니다. 발신자는 SenderTxHash를 사용하여 kaia_getTransactionBySenderTxHash RPC 메서드를 통해 전체 트랜잭션을 검색할 수 있습니다.

거래 유형

일반적인 블록체인 플랫폼은 단일 트랜잭션 유형을 제공하지만, 카이아는 메모리 공간과 성능을 최적화하고 새로운 기능으로 트랜잭션에 힘을 실어주는 다양한 트랜잭션 유형을 제공합니다. 다음 표는 Kaia에서 사용할 수 있는 거래 유형에 대한 개요입니다:

기본feeDelegation부분 수수료 위임
LegacyTxTypeLegacyTransactionN/AN/A
ValueTransferTxTypeValueTransferTxTypeFeeDelegatedValueTransferTxTypeFeeDelegatedValueTransferWithRatio
ValueTransferMemoTxTypeValueTransferMemoTxTypeFeeDelegatedValueTransferMemoTxTypeFeeDelegatedValueTransferMemoWithRatio
SmartContractDeployTxTypeSmartContractDeployTxTypeFeeDelegatedSmartContractDeployTxTypeFeeDelegatedSmartContractDeployWithRatio
SmartContractExecutionTxTypeSmartContractExecutionTxTypeFeeDelegatedSmartContractExecutionTxTypeFeeDelegatedSmartContractExecutionWithRatio
AccountUpdateTxTypeAccountUpdateTxTypeFeeDelegatedAccountUpdateTxTypeFeeDelegatedAccountUpdateWithRatio
CancelTxTypeCancelTxTypeFeeDelegatedCancelTxTypeFeeDelegatedCancelWithRatio
ChainDataAnchoringTxTypeChainDataAnchoringTxTypeFeeDelegatedChainDataAnchoringTxTypeFeeDelegatedChainDataAnchoringWithRatio

구현 세부 정보

  • **RLP 인코딩: ** 트랜잭션은 제출 전에 재귀적 길이 접두사(RLP) 인코딩을 사용하여 직렬화됩니다.
  • 서명: 거래는 [서명 알고리즘 지정(예: ECDSA)]을 사용하여 서명하여 신뢰성을 보장합니다.
  • 예제 및 RPC 출력: 이 섹션에서는 각 트랜잭션 유형에 대한 실제 예제 및 예상 RPC 출력을 제공합니다. (참고: TxTypeValueTransfer는 추가 데이터 없이 KAIA를 전송하는 반면, TxTypeValueTransferMemo는 전송과 함께 짧은 메모 필드를 포함할 수 있습니다).

개발자는 이러한 구성 요소와 구현 세부 사항을 이해함으로써 Kaia 네트워크에서 애플리케이션을 효과적으로 구축할 수 있습니다.

페이지를 개선해 주세요