KAS Docs Dev
한국어
한국어
  • Introduction
  • Basics
    • KAS 콘솔
    • KAS API
  • Getting Started
    • KAS 가입, 인증, 권한, SDK 설치
    • KAS Project 생성, 수정, 관리
    • 클레이튼 계정 생성
    • API 호출
    • 마이그레이션 가이드
  • Tutorial
    • 메타 정보 조회
    • JSON-RPC API
    • 계정 생성과 관리
    • 트랜잭션 전송
      • KLAY 보내기
      • 스마트 컨트랙트 배포
      • 스마트 컨트랙트 실행
      • 보류중인 트랜잭션 취소
      • RLP 문자열 트랜잭션
      • 계정 업데이트
      • 데이터 앵커링
      • 다중 서명 트랜잭션
      • 기타
    • 토큰 정보 조회
      • 송/수신 기록 조회
      • 토큰 컨트랙트 조회
      • NFT 정보 조회
      • NFT 소유권 변동 조회
    • 데이터 앵커링
    • KAS 기반 BApp 예시
      • 명품 영수증 관리 애플리케이션
      • 커피 원격 주문 애플리케이션
    • NFT 컨트랙트 배포 및 토큰 발행/전송
    • FT 컨트랙트 배포 및 토큰 발행/전송
    • MT 컨트랙트 배포 및 토큰 발행/전송
  • API
    • Klaytn Node API
    • Token History API
    • Wallet API
    • Anchor API
    • KIP-7 API
    • KIP-17 API
    • KIP-37 API
    • Metadata API
    • API Change Log
  • SDK
    • caver-js-ext-kas
    • caver-java-ext-kas
  • 개발자 포럼
  • 개인정보처리방침
  • 서비스 이용약관
Powered by GitBook
On this page
  • 튜토리얼에 앞서
  • 오퍼레이터 만들기
  • KAS 콘솔 - Service - Anchor - Operator
  • 데이터 앵커링 트랜잭션 수수료 납부 설정
  • 오퍼레이터 생성 및 확인
  • 오퍼레이터 목록 조회
  • API 호출
  • API 응답
  • 특정 오퍼레이터 정보 조회
  • API 호출
  • API 응답
  • 데이터 앵커링 트랜잭션 전송하기
  • 페이로드
  • API 호출
  • API 응답
  • 앵커링 트랜잭션 목록 조회 - 오퍼레이터의 계정 주소로 조회
  • API 호출
  • API 응답
  • 앵커링 트랜잭션 상세 조회: 오퍼레이터 주소와 트랜잭션 해시로 페이로드 조회
  • API 호출
  • 오퍼레이터 계정 주소와 페이로드 ID로 페이로드 조회
  • API 호출

Was this helpful?

  1. Tutorial

데이터 앵커링

이 페이지는 Anchor API로 서비스 체인 데이터를 클레이튼 메인 체인에 앵커링하는 방법을 안내합니다.

PreviousNFT 소유권 변동 조회NextKAS 기반 BApp 예시

Last updated 4 years ago

Was this helpful?

튜토리얼에 앞서

  • 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)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.

서비스 체인에 관한 자세한 내용은 을 확인하십시오. 데이터 앵커링에 관한 자세한 내용은 을 확인하십시오.

오퍼레이터 만들기

KAS 콘솔 - Service - Anchor - Operator

KAS 콘솔 - Service - Anchor - Operator 메뉴에서 "생성" 버튼을 클릭합니다. 버튼을 클릭하면 아래와 같이 오퍼레이터를 생성하는 화면이 나타납니다.

데이터 앵커링 트랜잭션 수수료 납부 설정

KAS 콘솔에서 오퍼레이터를 생성하려면 아래와 같이 오퍼레이터가 보낼 데이터 앵커링 트랜잭션 수수료를 어떤 계정이 납부할 것인지 설정해야 합니다.

파라미터

설명

feepayer

사용자의 수수료 대납 계정 주소. 자신만의 대납 계정으로 데이터 앵커링 트랜잭션 수수료를 납부할 경우 사용

useOperator

오퍼레이터가 데이터 앵커링 트랜잭션 수수료를 직접 납부할 것인지 여부

useGlobalFeepayer

KAS에서 데이터 앵커링 트랜잭션 수수료를 대납해줄 것인지 여부(트랜잭션 수수료는 사용자에게 추후 청구됨)

  • useGlobalFeepayer를 사용하면 KLAY 잔고가 부족해도 데이터 앵커링 트랜잭션을 전송

  • 3개 파라미터가 모두 다 설정되어 있지 않은 경우엔 에러를 반환

  • 1개 이상의 파라미터를 입력했다면 아래 우선 순위를 따라서 데이터 앵커링 트랜잭션 수수료를 대납

앵커링 트랜잭션 실행을 보장하려면 useGlobalFeepayer를 사용하십시오.

우선순위

파라미터

트랜잭션 수수료 대납주체

1

feepayer

사용자의 별도 대납 계정

2

useOperator

오퍼레이터

3

useGlobalFeepayer

KAS(추후 트랜잭션 수수료를 사용자에게 청구)

만약 여러분이 3개 파라미터를 모두 사용하기로 설정했다면, 우선순위가 높은 계정부터 앵커링 트랜잭션 수수료를 납부합니다. feepayer 계정 잔고가 부족하여 트랜잭션 수수료를 납부하기 어렵다면, 그 다음 순위가 오퍼레이터이므로 앵커링 트랜잭션을 전송하는 오퍼레이터가 수수료를 직접 납부합니다.

  • 파라미터 설정별 동작

useGlobalFeepayer

feepayer

useOperator

우선순위

false

X

false

에러 발생

true

X

false

KAS

false

X

true

오퍼레이터

true

X

true

오퍼레이터 > KAS

false

O

false

사용자 대납 계정

false

O

true

사용자 대납 계정 > 오퍼레이터

true

O

true

사용자 대납 계정 > 오퍼레이터 > KAS

true

O

false

사용자 대납 계정 > KAS

오퍼레이터 생성 및 확인

파라미터 설정을 마쳤으면 오퍼레이터를 만듭니다.

오퍼레이터 오퍼레이터 목록에서 생성한 오퍼레이터를 확인할 수 있습니다.

또는 모든 오퍼레이터 목록 조회 API를 호출해 조회할 수 있습니다.

오퍼레이터 목록 조회

API 호출

이미 생성된 오퍼레이터 목록과 각 오퍼레이터 설정값을 조회합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

쿼리 파라미터

파라미터 이름

설명

예시

필수

size

응답 아이템 개수 (min=1, max=1000, default=100)

size=100

False

cursor

페이지네이션으로 다음 요청을 보낼 때 필요한 커서

cursor=J9Ag...VM6z

False

to-timestamp

검색 범위: 마지막 시간의 타임스탬프 (초단위)

to-timestamp=

False

from-timestamp

검색 범위: 시작 시간의 타임스탬프 (초단위)

from-timestamp=

False

curl --location --request GET "https://anchor-api.klaytnapi.com/v1/operator?&size=100&cursor=J9Ag...VM6z&from-timestamp=1592360291&to-timestamp=15991809920" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}"
const query = { fromTimestamp: 1501576981, toTimestamp: 1601876982, size: 3, cursor: '' }
const result = await caver.kas.anchor.getOperatorList(query)
AnchorQueryOptions anchorQueryParams = new AnchorQueryOptions();
anchorQueryParams.setSize((long)3);
anchorQueryParams.setFromTimestamp((long)1592360291);
anchorQueryParams.setToTimestamp((long)15991809920);

Operators operators = caver.kas.anchor.getOperatorList(anchorQueryParams);
System.out.println(operators);
  • x-chain-id는 오퍼레이터가 등록된 체인 ID입니다.

API 응답

오퍼레이터 목록 조회 API의 응답은 아래와 같습니다.

{
  "cursor": "",
  "items": [
    {
      "operator": "0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026",
      "setting": {
        "useGlobalFeePayer": true,
        "useOperator": true
      }
    },
    {
      "operator": "0x60A4B9342D439ED9D2DbdFf08aB9ceE1eFb73D10",
      "setting": {
        "useGlobalFeePayer": true,
        "useOperator": true
      }
    },
    {
      "operator": "0x002909B4C40a874a5587aa0D15cc847F7E79aD76",
      "setting": {
        "useGlobalFeePayer": true,
        "useOperator": true
      }
    }
  ]
}
Operators {
  cursor: 'eyJjcmVhdGVkX2F0IjoxNTk4NTk2MTMzLCJkb2NfaWQiOiJrcm46MTAwMTphbmNob3I6OGU3NmQwMDMtZDZkZC00Mjc4LThkMDUtNTE3MmQ4ZjAxMGNhOm9wZXJhdG9yLXBvb2w6ZGVmYXVsdDoweDAwODBFNDZEOEEwZmUxNGY4Mjk3OUM3MWNEZTM1QzhEN0MyYmZmOTAiLCJycG4iOiJrcm46MTAwMTphbmNob3I6OGU3NmQwMDMtZDZkZC00Mjc4LThkMDUtNTE3MmQ4ZjAxMGNhOm9wZXJhdG9yLXBvb2w6ZGVmYXVsdCIsInR5cGUiOiJPUFIifQ==',
  items: [ 
    Operator {
      createdAt: 1598596270,
      operator: '0x371E04979132C23330eE777601C981453f7f542e',
      setting: OperatorSetting { useGlobalFeePayer: true, useOperator: false }
    },
    Operator {
      createdAt: 1598596140,
      operator: '0xFb1f3B40BD102323d18ADC308D5B1bA91701156d',
      setting: OperatorSetting { useGlobalFeePayer: true, useOperator: false }
    },
    Operator {
      createdAt: 1598596133,
      operator: '0x0080E46D8A0fe14f82979C71cDe35C8D7C2bff90',
      setting: OperatorSetting { useGlobalFeePayer: true, useOperator: false }
    }
  ]
}
class Operators {
    cursor: 
    items: [class Operator {
        createdAt: 1597897525
        operator: 0x0Ea563A80f5ea22C174030416E7fCdbeD920D5EB
        setting: class OperatorSetting {
            useGlobalFeePayer: true
            useOperator: false
        }
    }, class Operator {
        createdAt: 1597897530
        operator: 0x60A4B9342D439ED9D2DbdFf08aB9ceE1eFb73D10
        setting: class OperatorSetting {
            useGlobalFeePayer: true
            useOperator: false
        }
    }, class Operator {
        createdAt: 1597897535
        operator: 0x002909B4C40a874a5587aa0D15cc847F7E79aD76
        setting: class OperatorSetting {
            useGlobalFeePayer: true
            useOperator: false
        }
    }]
}

특정 오퍼레이터 정보 조회

아니면 위에서 생성한 오퍼레이터 정보를 이 오퍼레이터의 클레이튼 계정 주소(operator-id)로 조회할 수 있습니다.

API 호출

위에서 오퍼레이터 설정 및 오퍼레이터 계정 잔액을 조회합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

curl --location --request GET "https://anchor-api.klaytnapi.com/v1/operator/0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}"
const result = await caver.kas.anchor.getOperator('0x371E04979132C23330eE777601C981453f7f542e')
Operator operator = caver.kas.anchor.getOperator("0x0Ea563A80f5ea22C174030416E7fCdbeD920D5EB");
System.out.println(operator);
  • x-chain-id는 오퍼레이터가 등록된 체인 ID입니다.

API 응답

오퍼레이터 목록 조회 API의 응답은 아래와 같습니다.

{
  "operator": "0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026",
  "setting": {
    "useGlobalFeePayer": true,
    "useOperator": true
  }
}
Operator {
  createdAt: 1598596270,
  operator: '0x371E04979132C23330eE777601C981453f7f542e',
  setting: OperatorSetting { useGlobalFeePayer: true, useOperator: false }
}
class Operator {
    createdAt: 1597897525
    operator: 0x0Ea563A80f5ea22C174030416E7fCdbeD920D5EB
    setting: class OperatorSetting {
        useGlobalFeePayer: true
        useOperator: false
    }
}

데이터 앵커링 트랜잭션 전송하기

서비스 체인 데이터를 메인 체인에 앵커링 하려면 데이터 앵커링 API를 호출해야 합니다. 위에서 만든 오퍼레이터의 클레이튼 계정 주소로 데이터 앵커링 트랜잭션을 요청합니다.

페이로드

페이로드(payload)는 "메인 체인에 앵커링 하려는 데이터 자체"입니다. 아래 페이로드값에 입력한 customField1, customField2는 예시값입니다. 페이로드를 사용하시려면 여러분이 메인체인에 앵커링하기 원하는 데이터를 customField1, customField2와 같이 JSON 포맷(key:value)으로 입력하십시오.

API 호출

데이터 앵커링 API를 아래와 같이 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

curl --location --request POST "https://anchor-api.klaytnapi.com/v1/anchor" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}" \
--header "Content-Type: application/json" \
--data-raw "{
  "operator": "0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026",
  "payload": {
    "id": "{$guid}",
    "customField1": "field1",
    "customField2": "field2"
  }
}"
const data = { id: '891825', custom_field: 'This is test custom field for anchoring'}
const result = await caver.kas.anchor.sendAnchoringData('0xc8Aa073E2A924Fc469339Ff0cB2Ec4A7838888D0', data)
AnchorBlockPayload payload = new AnchorBlockPayload();
payload.put("id", Integer.toString(random.nextInt()));
payload.put("field", "1");
payload.put("filed2", 4);

AnchorBlockStatus response = caver.kas.anchor.sendAnchoringData(operatorID, payload);
System.out.println(response);

API 응답

API 응답으로 데이터 앵커링 성공 여부를 반환합니다.

{
"status": "succeed"
}
AnchorBlockStatus { status: 'succeed' }
class AnchorBlockStatus {
    status: succeed
}

앵커링 트랜잭션 목록 조회 - 오퍼레이터의 계정 주소로 조회

오퍼레이터 클레이튼 계정 주소로 이 오퍼레이터가 보낸 데이터 앵커링 트랜잭션 목록을 조회합니다.

API 호출

앵커링 트랜잭션 조회 API를 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

쿼리 파라미터

파라미터 이름

설명

예시

필수

size

응답 아이템 개수 (min=1, max=1000, default=100)

size=100

False

cursor

페이지네이션으로 다음 요청을 보낼 때 필요한 커서

cursor=J9Ag...VM6z

False

to-timestamp

검색 범위: 마지막 시간의 타임스탬프 (초단위)

to-timestamp=

False

from-timestamp

검색 범위: 시작 시간의 타임스탬프 (초단위)

from-timestamp=

False

curl --location --request GET "https://anchor-api.klaytnapi.com/v1/operator/0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026/tx?&size=100&cursor=J9Ag...VM6z&from-timestamp=1592360291&to-timestamp=15991809920" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}" \
--header "Content-Type: application/json" \
const query = { fromTimestamp: 1501576981, toTimestamp: 1601876982, size: 3, cursor: '' }
const result = await caver.kas.anchor.getAnchoringTransactionList('0xc8Aa073E2A924Fc469339Ff0cB2Ec4A7838888D0', query)
AnchorQueryOptions anchorQueryParams = new AnchorQueryOptions();
anchorQueryParams.setSize((long)3);
anchorQueryParams.setFromTimestamp((long)1599142860);
anchorQueryParams.setToTimestamp((long)1599142845);

AnchorTransactions res = caver.kas.anchor.getAnchoringTransactionList(operatorID, anchorQueryParams);
System.out.println(res);

API 응답

앵커링 데이터 조회 API의 응답은 아래와 같습니다.

{
  "cursor": "",
  "items": [
    {
      "createdAt": 1599142860,
      "payloadId": "c61cc0d0-5878-450e-bec8-bf73d6184798",
      "transactionHash": "0x5aeb4ddc5d77b9ce977a87461573da00c0aed0ac59962892ecf58ec09296e79d"
    },
    {
      "createdAt": 1599142859,
      "payloadId": "d4f1a11f-4609-40f5-9d59-2313a5799508",
      "transactionHash": "0x70f6f6745ad0b0f4ce5908f40d20a1f44bd34871e0428be782d84f9a53ea2ba0"
    },
    {
      "createdAt": 1599142857,
      "payloadId": "48b59825-82b2-4595-abfb-c465112618cc",
      "transactionHash": "0x3f90cd2e02576fd85572ab76aff49b87b9cf3efb623f34bb8d6354ee1b88869f"
    },
    {
      "createdAt": 1599142841,
      "payloadId": "b315de34-52cb-41c0-9383-3260ceafd3b2",
      "transactionHash": "0x8a73a00f04a1f6e8d8af101487bd35f8dbcce6fcb3ddd95059f42b8f7fbc3345"
    }
  ]
}
AnchorTransactions {
  cursor: 'eyJjcmVhdGVkX2F0IjoxNTk5NjEyNzg5LCJkb2NfaWQiOiJrcm46MTAwMTphbmNob3I6OGU3NmQwMDMtZDZkZC00Mjc4LThkMDUtNTE3MmQ4ZjAxMGNhOm9wZXJhdG9yLXBvb2w6ZGVmYXVsdDoweGM4QWEwNzNFMkE5MjRGYzQ2OTMzOUZmMGNCMkVjNEE3ODM4ODg4RDA6NTI3MzM5NDUzMiIsInF1ZXJ5X2lkIjoia3JuOjEwMDE6YW5jaG9yOjhlNzZkMDAzLWQ2ZGQtNDI3OC04ZDA1LTUxNzJkOGYwMTBjYTpvcGVyYXRvci1wb29sOmRlZmF1bHQ6QU5DSF9UWDoweGM4QWEwNzNFMkE5MjRGYzQ2OTMzOUZmMGNCMkVjNEE3ODM4ODg4RDAiLCJ0eXBlIjoiQU5DSF9UWCJ9',
  items: [
    AnchorTransaction {
      createdAt: 1599626680,
      payloadId: '5593367445',
      transactionHash: '0x93607f7f3a0131f804d0b847c18311ccb8b9aa6526b21febf19db9759038b0a6'
    },
    AnchorTransaction {
      createdAt: 1599614650,
      payloadId: '6201274638',
      transactionHash: '0x0bd1961ba478aae4d64ecb6b4d45fcd0edc76249bdcf7ef0d6feb0b4b1080591'
    },
    AnchorTransaction {
      createdAt: 1599612789,
      payloadId: '5273394532',
      transactionHash: '0xd3b5de1c8e15be76491fffa58c241b292a714df91d611a26811bc0df906390b5'
    }
  ]
}
class AnchorTransactions {
    cursor: eyJjcmVhdGVkX2F0IjoxNTk4MzQ1ODYxLCJkb2NfaWQiOiJrcm46MTAwMTphbmNob3I6ZDVjMzQ2ZjUtYmI4MC00ZjQ1LTkwOTMtNTdlMjUyMDVjZGM4Om9wZXJhdG9yLXBvb2w6ZGVmYXVsdDoweDBFYTU2M0E4MGY1ZWEyMkMxNzQwMzA0MTZFN2ZDZGJlRDkyMEQ1RUI6Y3VzdG9tX2lkMTExMTE0IiwicXVlcnlfaWQiOiJrcm46MTAwMTphbmNob3I6ZDVjMzQ2ZjUtYmI4MC00ZjQ1LTkwOTMtNTdlMjUyMDVjZGM4Om9wZXJhdG9yLXBvb2w6ZGVmYXVsdDpBTkNIX1RYOjB4MEVhNTYzQTgwZjVlYTIyQzE3NDAzMDQxNkU3ZkNkYmVEOTIwRDVFQiIsInR5cGUiOiJBTkNIX1RYIn0=
    items: [class AnchorTransaction {
        createdAt: 1598345953
        payloadId: 77777
        transactionHash: 0xf2777b31f99d268eecc356409a45b2bf916cc63d629f270f21b3e197bc11e851
    }, class AnchorTransaction {
        createdAt: 1598345931
        payloadId: custom_id111115
        transactionHash: 0x534e9b6e40c483d5eec379a6bd034726daf78acb7d000b15c975606c5a7ad113
    }, class AnchorTransaction {
        createdAt: 1598345861
        payloadId: custom_id111114
        transactionHash: 0xb976f868b4b5f1208a24d783603ddb784d91d72b9643ddd64ded1e8444175dc3
    }]
}

앵커링 트랜잭션 상세 조회: 오퍼레이터 주소와 트랜잭션 해시로 페이로드 조회

오퍼레이터 주소(오퍼레이터 ID)와 트랜잭션 해시를 사용해 앵커링 트랜잭션 상세 정보를 조회합니다. 페이로드 내용을 조회할 수 있습니다.

API 호출

앵커링 트랜잭션 상세 조회 API를 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

curl --location --request GET "https://anchor-api.klaytnapi.com/v1/operator/0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026/tx/0xf7db6019fcb9621ed01baf7d27d2f8cfd58b9aa24e5a1e73276ed84e254b54c0" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}"
const result = await caver.kas.anchor.getAnchoringTransactionByTxHash('0xc8Aa073E2A924Fc469339Ff0cB2Ec4A7838888D0', '0x9b67fb089d942af13db118932d62a605371978df754d1a97807df305d6a1a08f')
String operatorID = "0x0Ea563A80f5ea22C174030416E7fCdbeD920D5EB";
String txHash = "0x74ee2fcf41b7bee3cb6ff0e9d5facb877cf9da178236d5ccc371318cbf09d6de";

AnchorTransactionDetail res = caver.kas.anchor.getAnchoringTransactionByTxHash(operatorID, txHash);
System.out.println(res);

API 응답

앵커링 트랜잭션 상세 조회 API의 응답은 아래와 같습니다.

{
  "payload": {
    "customField1": "field1",
    "customField2": "field2",
    "id": "c61cc0d0-5878-450e-bec8-bf73d6184798"
  },
  "transactionHash": "0x5aeb4ddc5d77b9ce977a87461573da00c0aed0ac59962892ecf58ec09296e79d"
}
AnchorBlockTransactions {
  payload: { 
    custom_field: 'This is test custom field for anchoring',
    id: '891825'
  },
  transactionHash: '0x9b67fb089d942af13db118932d62a605371978df754d1a97807df305d6a1a08f'
}
class AnchorTransactionDetail {
    payload: class AnchorBlockPayload {
        {filed2=4.0, field=1}
    }
    transactionHash: 0x74ee2fcf41b7bee3cb6ff0e9d5facb877cf9da178236d5ccc371318cbf09d6de
}

오퍼레이터 계정 주소와 페이로드 ID로 페이로드 조회

오퍼레이터 클레이튼 계정 주소(오퍼레이터 ID)와 페이로드 ID를 사용해 앵커링 트랜잭션 상세 정보와 페이로드 내용을 조회할 수 있습니다.

API 호출

앵커링 트랜잭션 상세 조회 API를 호출합니다. API 호출 시 REST API 또는 SDKs(caver-js, caver-java extensions)를 사용할 수 있습니다.

curl --location --request GET "https://anchor-api.klaytnapi.com/v1/operator/0x6945B46Add33ABD0576b4D99B4c86Fe28c0Ad026/payload/c61cc0d0-5878-450e-bec8-bf73d6184798" \
-u {access-key-id}:{secret-access-key} \
--header "x-chain-id: {chain-id}"
const result = await caver.kas.anchor.getAnchoringTransactionByPayloadId('0xc8Aa073E2A924Fc469339Ff0cB2Ec4A7838888D0', '891825')
String operatorID = "0x0Ea563A80f5ea22C174030416E7fCdbeD920D5EB";
String payloadId = "0xca0577c2f7f2537d499357c2bd08c72a808d7bb718a336b69fd37f640c73ba6d";

AnchorTransactionDetail res = caver.kas.anchor.getAnchoringTransactionByPayloadId(operatorID, payloadId);

API 응답

앵커링 트랜잭션의 페이로드 상세 조회 API의 응답은 아래와 같습니다.

{
  "payload": {
    "customField1": "field1",
    "customField2": "field2",
    "id": "c61cc0d0-5878-450e-bec8-bf73d6184798"
  },
  "transactionHash": "0x5aeb4ddc5d77b9ce977a87461573da00c0aed0ac59962892ecf58ec09296e79d"
}
AnchorBlockTransactions {
  payload: { 
    custom_field: 'This is test custom field for anchoring',
    id: '891825'
  },
  transactionHash: '0x9b67fb089d942af13db118932d62a605371978df754d1a97807df305d6a1a08f'
}
class AnchorTransactionDetail {
    payload: class AnchorBlockPayload {
        {filed2=4.0, field=1}
    }
    transactionHash: 0x74ee2fcf41b7bee3cb6ff0e9d5facb877cf9da178236d5ccc371318cbf09d6de
}

feepayer를 사용하려면 먼저 을 만들어야 합니다. feepayer를 사용하려면 수수료 대납 계정 주소(address)와 수수료 대납 계정이 소속된 수수료 대납 계정 저장소 KRN값이 필요합니다.

이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

여러분은 을 사용해 API 응답값을 받아올 수 있습니다. 검색 범위를 초단위로 지정할 수 있습니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

id 필드에 문자열을 입력하면 이 문자열로 이 할 수 있습니다.

데이터 앵커링에 관한 자세한 내용은 을 확인하십시오.

수수료 대납 방식을 사용하려면 API 호출 전에 KAS 콘솔 - Anchor - Operator 메뉴에서 수수료 대납 계정을 설정하십시오. 앵커랭 트랜잭션 전송을 보장하려면 API 호출 전에 하십시오.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오. ㅏ

여러분은 을 사용해 API 응답값을 받아올 수 있습니다. 검색 범위를 초단위로 지정할 수 있습니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오. ㅏ

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

트랜잭션
다음
다음
개발자 포럼
다음
개발자 포럼
다음
개발자 포럼
다음
다음
개발자 포럼
다음
개발자 포럼
다음
개발자 포럼
다음
개발자 포럼
앵커링 트랜잭션의 페이로드 정보를 조회
커서 방식 페이지네이션
UseGlobalFeePayer를 설정
커서 방식 페이지네이션
수수료 대납 계정 저장소와 수수료 대납 계정
Service - Anchor - Operator
오퍼레이터 생성 및 파라미터 설정 화면
feepayer와 global_feepayer만을 사용하는 예시
생성된 오퍼레이터 정보 확인