본문으로 건너뛰기

Object Display란?

Object Display는 템플릿 구문을 사용해 Sui의 모든 객체를 렌더링하는 방법이다. Sui Move 객체 값을 사람이 읽을 수 있는 문자열, JSON 또는 인코딩된 표현으로 렌더링한다. Display 객체는 key-value pair 집합을 정의하며, key와 value는 모두 format string이다.

Object Display는 타입의 오프체인 표현을 온체인에서 관리할 수 있게 한다. 객체의 데이터를 template string에 대입하여 완전히 composable하고 dynamic한 NFT를 만들 수 있다.

Object Display를 어떻게 사용할 수 있는지 보려면 interactive preview application을 확인한다.

V1 지원 종료

주의

Object Display V2는 Sui v1.68에서 사용할 수 있게 된다. v1.68을 Devnet, Testnet, Mainnet에서 사용할 수 있는 시점에 대해 더 알아보려면 release schedule을 확인한다.

Object Display V1은 이를 이미 지원하는 RPC(JSON-RPC, GraphQL)에서 2026년 7월 말까지 지원된다. 그 이후에는 온체인 V1 display 코드가 제거되며 abort를 시작한다.

Move 코드에서 display를 생성할 때는 sui::display_registry API를 사용하는 것이 권장된다. 중간 단계에서는 migrate_v1_to_v2 함수를 사용하여 legacy display를 마이그레이션하고 V2 Display<T>DisplayCap<T>를 받을 수 있다.

V2의 새로운 사항

Display V2는 더 풍부한 templating model, 개선된 rendering pipeline, 더 나은 tooling을 제공하며, 여기에는 다음이 포함된다:

  • Collection access: display template에서 vector, set, map을 직접 사용한다.

  • Dynamic field access: template에서 object의 dynamic field를 참조한다.

  • Object loading: display를 resolve할 때 object를 로드하고 참조한다.

  • GraphQL: display를 단순 rendering이 아니라 querying tool로 사용할 수 있는 풍부한 API를 제공한다.

새 템플릿 언어에 대해 더 읽고 visual display builder를 사용해 보기.