> For the complete documentation index, see [llms.txt](https://ground-x.gitbook.io/kas-docs-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ground-x.gitbook.io/kas-docs-dev/tutorial/klaytn-node-api-metadata.md).

# 메타 정보 조회

## 튜토리얼에 앞서 <a href="#tutorial-node-api-meta-start" id="tutorial-node-api-meta-start"></a>

* 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 등) 이동이나 [트랜잭션](/kas-docs-dev/tutorial/wallet-transaction-api.md) 전송 및 실행 권한이 포함됩니다. 만약 API 인증 키에 타인이 접근한다면 Klaytn 계정 권한을 탈취당해 원치 않는 트랜잭션이 발생할 수 있습니다.

{% hint style="danger" %}
KAS/Klaytn 계정 보안을 위해 KAS API 인증 키(Secret Access Key)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.
{% endhint %}

{% hint style="info" %}
Klaytn Node에서 Klaytn 계정 정보를 확인하려면 계정 저장소와 계정을 생성하고 사용할 계정을 선택해야 합니다.\
계정 저장소 생성, 계정 생성, 계정 선택에 관한 자세한 내용은 [Getting Started](/kas-docs-dev/getting-started/account.md)를 확인하십시오.
{% endhint %}

{% hint style="info" %}
Klaytn Node - Metadata API는 SDK(caver-js, caver-java)를 지원하지 않습니다.
{% endhint %}

이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://forum.klaytn.com/c/kas/kasko/26)을 방문해 도움을 받으십시오. <br>

## FT 컨트랙트 정보 조회 <a href="#tutorial-node-api-meta-ftcontract" id="tutorial-node-api-meta-ftcontract"></a>

FT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 [대체 가능 토큰](https://ko.docs.klaytn.com/smart-contract/token-standard#fungible-token-standard-kip-7)(Fungible Token, FT)을 발행, 삭제, 전송하는 기능을 제공합니다.

조회할 FT 컨트랙트는 반드시 ERC-20 또는 KIP-7 표준을 지켜야 하며 `name()`, `symbol()`, `decimals()` 함수들을 반드시 미리 구현해야합니다. 반드시 미리 구현해야 할 함수에 관한 더 자세한 정보는 [ERC-20](https://eips.ethereum.org/EIPS/eip-20), [KIP-7](https://kips.klaytn.com/KIPs/kip-7)를 확인하십시오.

### API 호출

```
curl --location --request GET "https://node-api.klaytnapi.com/v2/metadata/ft/0x3b3b30a76d169f72a0a38ae01b0d6e0fbee3cc2e" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
```

{% hint style="info" %}
컨트랙트가 클레이튼상에 없다면 컨트랙트 주소를 제외한 모든 응답값은 빈 문자열 또는 0/-1입니다.\
ERC-20/KIP-7 표준을 따르지 않으면 컨트랙트에 따라 다른 응답값이 반환됩니다.\
필수 함수를 구현하지 않으면 응답값에서 해당 함수가 채워주는 필드들은 빈 문자열 또는 0/-1입니다.
{% endhint %}

{% hint style="warning" %}
이 API는 컨트랙트가 올바른 ERC-20/KIP-7 표준인지 검증하지 않습니다.\
패스 파라미터에 NFT 컨트랙트 주소를 입력하지 않도록 주의하십시오.
{% endhint %}

### API 응답

```javascript
{
    "address": "0x3b3b30a76d169f72a0a38ae01b0d6e0fbee3cc2e",
    "decimals": 18,
    "name": "TEMCO",
    "symbol": "TEMCO",
    "totalSupply": "0x1363156bbee3016d70000000"
}
```

이 API에 관한 자세한 내용은 [다음](https://refs.klaytnapi.com/ko/node/latest#operation/FT%EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8%EC%A1%B0%ED%9A%8C)을 확인하십시오.\
이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://forum.klaytn.com/c/kas/kasko/26)을 방문해 도움을 받으십시오.

## NFT 컨트랙트 정보 조회 <a href="#tutorial-node-api-meta-nftcontract" id="tutorial-node-api-meta-nftcontract"></a>

NFT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 [대체 불가 토큰](https://ko.docs.klaytn.com/smart-contract/token-standard#non-fungible-token-standard-kip-17)(Non-Fungible Token, NFT)을 발행, 삭제, 전송하는 기능을 제공합니다.

조회할 NFT 컨트랙트는 반드시 ERC-721 또는 KIP-17 표준을 지켜야 하며 `name()`, `symbol()`, `totalSupply()` 함수들을 반드시 미리 구현해야합니다. 반드시 미리 구현해야 할 함수에 관한 더 자세한 정보는 [ERC-721](https://eips.ethereum.org/EIPS/eip-721), [KIP-17](https://kips.klaytn.com/KIPs/kip-17)을 확인하십시오.

### API 호출

```javascript
curl --location --request GET "https://node-api.klaytnapi.com/v2/metadata/nft/0x369611bc873b38175b91d6cc8c4018bdd3068b86" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
```

{% hint style="info" %}
컨트랙트가 클레이튼상에 없다면 컨트랙트 주소를 제외한 모든 응답값은 빈 문자열 또는 0/-1입니다.\
ERC-721/KIP-17 표준을 따르지 않으면 컨트랙트에 따라 다른 응답값이 반환됩니다.\
필수 함수를 구현하지 않으면 응답값에서 해당 함수가 채워주는 필드들은 빈 문자열 또는 0/-1입니다.
{% endhint %}

{% hint style="warning" %}
이 API는 컨트랙트가 올바른 ERC-721/KIP-17 표준인지 검증하지 않습니다.\
패스 파라미터에 FT 컨트랙트 주소를 입력하지 않도록 주의하십시오.
{% endhint %}

### API 응답

API가 성공적으로 실행되면 다음과 같은 응답을 받습니다.

```javascript
{
    "address": "0x369611bc873b38175b91d6cc8c4018bdd3068b80",
    "name": "Test NFT",
    "symbol": "TNC",
    "totalSupply": "0x86"
}
```

이 API에 관한 자세한 내용은 [다음](https://refs.klaytnapi.com/ko/node/latest#operation/NFT%EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8%EC%A1%B0%ED%9A%8C)을 확인하십시오.\
이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://forum.klaytn.com/c/kas/kasko/26)을 방문해 도움을 받으십시오.

## NFT 정보 조회 <a href="#tutorial-node-api-meta-nft" id="tutorial-node-api-meta-nft"></a>

NFT 정보를 조회합니다. NFT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 [대체 불가 토큰](https://ko.docs.klaytn.com/smart-contract/token-standard#non-fungible-token-standard-kip-17)(Non-Fungible Token, NFT)을 발행, 삭제, 전송하는 기능을 제공합니다.

정보를 불러오려는 NFT의 토큰 ID값과 이 NFT를 발행한 NFT 컨트랙트 주소값을 입력하고 정보를 불러옵니다. 이 NFT 컨트랙트는 반드시 ERC-721 또는 KIP-17 표준을 지켜야 하며, 올바른 정보 반환을 위해 `tokenUri()` 함수를 반드시 구현해야합니다.

### API 호출

```javascript
curl --location --request GET "https://node-api.klaytnapi.com/v2/metadata/nft/0x369611bc873b38175b91d6cc8c4018bdd3068b80/0x1" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
```

* 조회하려는 NFT를 발행한 NFT 컨트랙트 주소값 `0x369611bc873b38175b91d6cc8c4018bdd3068b80`은 예시값입니다.
* 조회하는 토큰 ID값 `0x1`은 예시값입니다.

### API 응답

API가 성공적으로 실행되면 다음과 같은 응답을 받습니다.

```javascript
{
    "uri": "https://media.nft.com/card_asset/165616/cced4c1b-6407-45a4-b6d9-ec040870df5e.json",
    "owner": "0x3cb01b8f935069b3f3d57cff07be4e4c09164f71"
}
```

이 API에 관한 자세한 내용은 [다음](https://refs.klaytnapi.com/ko/node/latest#operation/NFT%EC%A1%B0%ED%9A%8C)을 확인하십시오.\
이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://forum.klaytn.com/c/kas/kasko/26)을 방문해 도움을 받으십시오.
