엔티티
세계의 각 개별 콘텐츠 조각(예: 장면이나 착용 아이템)은 하나의 엔티티를.
엔터티는 변경 불가능한 파일 포함된 데이터에서 결정적으로 도출된 고유한 문자열 식별자를 가지며, 이를 사용해 콘텐츠 서버에서 관련 파일을 찾아 다운로드할 수 있습니다.
엔터티의 주요 파일은 매니페스트, 엔터티의 일반 속성과 각 유형. 엔터티의 식별자는 실제로 파일 식별자 이 매니페스트의
엔터티는 변경 불가능하므로 전통적인 의미에서 업데이트할 수 없습니다. 대신 동일한 안정적인 포인터. 엔터티의 최신 버전은 활성 상태.
모든 엔터티는 소유자(이더리움 계정과 연결됨)에 의해 서명됩니다. 소유자는 나중에 동일한 서명 키를 사용해 엔터티의 새 버전을 업로드하고 그것이 이전 버전을 대체함을 나타낼 수 있습니다. 콘텐츠 서버는 클라이언트에서 직접 오든 다른 서버를 통해 전달되었든, 새 엔터티를 수락하기 전에 이러한 서명을 검증합니다.
실제로 배포된 엔터티는 섹션의 작동하는 코드로 스냅샷을 실험해 볼 수 있습니다. 섹션에서 설명한 것과 동일한 규칙을 따릅니다.
엔터티 유형
엔터티에는 7가지 유형이 있습니다:
장면: 세계에서 자체 오브젝트와 동작을 가진 가상 공간.
프로필: 이름과 아바타 같은 특정 플레이어에 대한 정보.
착용 아이템: 플레이어가 자신의 아바타에 추가할 수 있는 의류와 아이템.
이모트: 플레이어의 아바타가 수행할 수 있는 애니메이션.
상점: 플레이어가 구매할 수 있는 착용 아이템과 이모트의 마켓플레이스 사이트.
의상: 특정 플레이어를 위해 저장된 의상.
모든 유형은 생성, 식별, 소유권 및 호스팅에 대해 동일한 절차를 따릅니다.
공통 속성
모든 엔터티는 매니페스트에 모든 유형에 적용되는 특정 공통 속성을 가집니다. 이러한 최상위 필드는 항상 존재합니다:
의 구조와 값은 메타데이터 필드는 각 유형별 페이지에 자세히 설명되어 있습니다. 그 pointers 배열 또한 유형에 따라 서로 다른 내용을 가집니다.
다음은 엔터티를 설명하는 일반적인 JSON 매니페스트입니다:
Decentraland 프로토콜의 다른 객체와 함께 이러한 JSON 구조의 스키마는 다음에서 찾을 수 있습니다. 공통 스키마 저장소.
파일
앞서 언급했듯이, 모든 엔터티에는 적어도 하나의 연결된 파일이 있습니다. 엔터티 자체를 설명하는 JSON 매니페스트입니다. 엔터티 식별자는 실제로 파일 식별자 이 특수 파일의
이 콘텐츠 필드 안에 있는 배열은 추가 파일에 대한 참조 배열입니다. 이는 일반적으로 3D 모델과 애니메이션 같은 에셋이거나, 장면용 스크립트입니다.
모든 파일은 Decentraland의 분산 파일 시스템에 저장되며, 배열의 각 항목은 두 가지 속성을 가집니다:
파일
이 엔터티의 파일들이 서로를 참조할 때 사용하는 내부 이름.
hash
전역 이 파일의 식별자, 모든 콘텐츠에서 고유합니다.
이는 일반적으로 콘텐츠 필드에서는 다음과 같이 보입니다:
파일의 수명은 이를 포함한 엔터티와 연결됩니다. 활성 엔터티(즉, 아직 소유자에 의해 교체되지 않은 엔터티)의 경우, 콘텐츠 서버는 프로토콜상 관련된 모든 파일을 보존해야 합니다. 엔터티가 삭제되면 파일은 서버의 재량에 따라 보관하거나 폐기할 수 있습니다.
소유권 및 인증
엔터티 주변의 소유권을 증명하고 작업을 승인하기 위해, 인증 체인 메커니즘이 사용됩니다.
이 decentraland-crypto 저장소에는 모든 암호화 절차의 구현이 포함되어 있습니다.
엔터티 검색 및 다운로드
콘텐츠 서버는 다음을 사용하여 엔터티를 찾는 데 pointers사용할 수 있으며, 해당 매니페스트와 추가 파일을 다운로드할 수 있습니다.
포인터를 엔터티 ID로 해석하려면 다음을 사용할 수 있습니다.
/entities/active엔드포인트.엔터티 ID를 사용하면 다음으로 매니페스트를 다운로드할 수 있습니다.
/contents/<id>엔드포인트.특정 유형의 모든 활성 엔터티를 가져오려면, 먼저 스냅샷.
다음을 확인하세요: 섹션의 작동하는 코드로 스냅샷을 실험해 볼 수 있습니다. 섹션에서 예시와 가이드를 확인하세요.
마지막 업데이트