메타데이터 설정
9

Enjin 플랫폼에서 만든 자산에는 ERC721 메타데이터 JSON 스키마를 기반으로 하는 메타데이터가 포함될 수 있습니다. 이 스키마에 선택적 서식 표준을 추가하여 수천 개의 항목에 대한 메타데이터를 관리해야 하는 게임의 효율성을 높이고 있습니다.

메타데이터에 관해서 다음 요구 사항을 유의하십시오.

  1. 링크(메타데이터 및 이미지 모두)는 로봇이 공개적으로 액세스할 수 있어야 합니다.
  2. uri는 요청된 파일에 적절하게 설정해야 합니다.
  3. 이미지는 유효한 이미지 파일이어야 합니다(이미지가 표시되어야 합니다).
  4. JSON은 JSON RFC 표준을 준수해야 하며, 어쨌든 준수하지 않으면 로드되지 않습니다.

ERC-1155 메타데이터에 대해 자세히 간 다음 섹션을 볼 수 있습니다.

엔진 플랫폼에서 메타데이터 설정

Enjin 플랫폼을 사용하여 자산에 고유한 메타데이터를 설정할 수 있습니다. 프로젝트와 몇 가지 에셋을 만든 후에는 새로 만든 자산을 "편집"할 수 있음을 알 수 있습니다.

이름, 자산 설명 및 이미지(권장 크기는 1000x1000(px)를 선택하기만 하면 됩니다.

다음 예제를 확인합니다.

호스팅된 메타데이터

메타데이터는 Enjin에서 호스팅되며 언제든지 자산의 메타데이터를 변경할 수 있습니다.

완료되면 Uri 알림 설정 요청이 지갑으로 전송됩니다.

지갑에서 요청을 수락해야 하며, 세트 Uri 거래는 블록체인에서 방송됩니다.

고급 편집기

또한 Enjin을 파일을 호스팅하는 서비스로 사용하지 않으려면 다른 곳에서 자산에 대한 고유한 메타데이터를 호스팅할 수도 있습니다.

많은 게임 개발자는 종종 자신의 호스팅 사이트를 사용하여 자산의 메타데이터를 저장하며, Enjin 플랫폼에서 고급 편집기를 사용할 수 있습니다.

선택적으로 자산의 이름을 설정할 수 있습니다. 마지막으로 .json 파일을 "메타데이터 URI" 필드에 붙여넣고 변경 내용을 저장해야 합니다. 완료되면 Uri 알림 설정 요청이 지갑으로 전송됩니다.

지갑에서 요청을 수락해야 하며, 세트 Uri 거래는 블록체인에서 방송됩니다.

성공하면 고유한 메타데이터가 자산에 표시됩니다.

고급 편집기

참고: 언제든지 고유한 메타데이터를 변경하고 .json 파일의 새 버전을 붙여넣기만 하고 "Uri 저장"을 클릭할 수 있습니다.

JSON 형식

고유한 메타데이터가 어떻게 보이는지에 대한 간단한 개요를 제공합니다. 필요한 주요 3가지 요소는 자산 이름, 설명 및 이미지입니다.

속성 이름, 설명 및 이미지는 ERC-721 메타데이터 스키마를 따릅니다. 속성 JSON 개체의 값은 Enjin Wallet 및 EnjinX와같은 클라이언트 응용 프로그램에서 렌더링됩니다.

예제 형식:

JSON
{
   "name": "Asset Name",
   "description": "Lorem ipsum",
   "image": "https:\/\/s3.amazonaws.com\/your-bucket\/images\/{id}.png"
}

메타데이터 유효성 검사

경우에 따라 메타데이터가 로드되지 않거나 로드하는 데 시간이 걸리는 경우 메타데이터 무효화 돌연변이를 구현했습니다.

그래프QL
mutation InvalidateTokenMetadata($id: String!) {
 InvalidateTokenMetadata(id: $id)
}

<inline-code>ID는<inline-code> 자산의 토큰 ID입니다.</inline-code></inline-code>

이 돌연변이는 플랫폼에 메타데이터를 무효화하고 서버에서 직접 다시 가져오도록 지시합니다.

새 메타데이터를 로드하는 데 무효화된 후 몇 분 정도 걸릴 수 있습니다.

또한 이 돌연변이는 토큰당 몇 분마다 한 번만 실행될 수 있습니다.

minter 역할(또는 그 이상)이 있는 응용 프로그램에 속한 토큰에서만 이 돌연변이를 실행할 수 있습니다.

특정 메타데이터 URI

모든 토큰 ID에는 ERC-1155 계약에 uri(_id)를 호출하여 검색할 수 있는 메타데이터 URI가 있을 수 있습니다.

개별 비펑식 토큰 ID에 메타데이터 URI가 정의된 경우 클라이언트 앱은 이 URI를 사용해야 합니다. 정의되지 않은 경우 클라이언트 앱은 기본 토큰 ID에서 uri(_id)를 호출하여 전체 Fungible 토큰 집합에 대한 기본 URI를 검색해야 합니다.

기본 URI

A Non-Fungible token that defines a Default URI in its base token has the option of using an {id} placeholder in the URI itself. This will get replaced with the distinct ID when accessing NFTs.

예제
yoursite.com/{id}.json -> yoursite.com/bd4818c04f57a2ebc473d74ee06d6e0600000000000000000000000000000001.json

이미지

If the Default URI contains an image property that in turn contains the {id} placeholder, the image URL will be used as the default image for all tokens of this type.

예제
yoursite.com/images/{id}.jpg -> yoursite.com/images/bd4818c04f57a2ebc473d74ee06d6e0600000000000000000000000000000001.jpg

이미지 속성은 원하는 대로 자리 표시자가 없는 정적 URI일 수도 있습니다.

GraphiQL에서는 다음 돌연변이를 사용하여 항목에 대한 URI를 설정할 수 있습니다.

그래프QL
mutation SetItemUri($identityId: Int!, $itemUriData: SetItemUriInput!) {
 CreateEnjinRequest(identity_id: $identityId, type: SET_ITEM_URI, set_item_uri_data: $itemUriData) {
   id
   encodedData
   state
 }
}

참고: URI 설정은 자산에 메타데이터가 표시되는 것을 보려면 "요청" 탭에서 Enjin Wallet에서 승인해야 하는 블록 체인 거래입니다.

이전
다음
이 페이지에서