> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-ko/marketplace/estates-marketplace-integrations.md).

# 에스테이트 마켓플레이스 통합

마켓플레이스에 Decentraland의 에스테이트를 통합하고 싶다면 고려해야 할 중요한 사항

## 마켓플레이스에 Decentraland의 Estate를 통합하기

Decentraland의 Estate는 ERC721 규격을 준수하는 NFT이며 Ethereum 메인넷에서 동작합니다. 따라서 많은 서드파티 마켓플레이스에서 이를 거래할 수 있습니다. 이를 위해 이 마켓플레이스는 사용자들의 거래를 안전하게 유지하기 위해 몇 가지 규칙을 따라야 합니다.

아시다시피, 각 [Estate](https://docs.decentraland.org/decentraland/faq/#what-is-an-estate) 는 다음의 집합입니다 [LANDs](https://docs.decentraland.org/decentraland/faq/#what-is-land) 그리고 그것은 하나의 *바이트* 그룹과 연결된 해시를 가지며, 이를 *`fingerprint`*. Estate에 LAND를 추가하거나 제거할 때마다, 그 *`fingerprint`* 도 함께 변경됩니다.

마켓플레이스, 특히 에스크로 시스템이 없는 곳에서는 Estate의 *`fingerprint`* 누군가 이를 판매 등록하거나 제안을 할 때의 기록을 보관하는 것이 100% 권장됩니다. 그렇게 하면 주문/제안이 성공적으로 실행될 때, 현재 소유자는 주문 실행을 선점하려고 시도하여 에스테이트를 변경할 수 없습니다.

비어 있는 Estate를 등록하는 것은 권장되지 않습니다. Estate 스마트 계약에는 다음 메서드가 있습니다 `getEstateSize` 이는 Estate의 LAND 수를 반환합니다. 결과가 `0`, 이 Estate를 등록하지 않는 것을 권장합니다. 그래도 등록하려면 다음과 같은 이미지를 보게 됩니다:

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-cc72f276a0f7c5a7aa5eb2dab3a3d1213e96fb0e%2Fdissolved_estate.png?alt=media\&token=e063628d-c3f8-40b2-b51e-0b344158847f)

## 예시

### Estate fingerprint를 사용하지 않음

* Bob은 LAND (1,1)과 (1,2)를 가진 Estate1을 보유하고 있습니다. Estate1 fingerprint: hash1
* Bob은 Estate1에 LAND (1,3)을 추가합니다. Estate1에는 LAND (1,1), (1,2), (1,3)가 있습니다. Estate1 fingerprint: hash2 (Fingerprint가 변경됨)
* Bob은 Estate1에서 LAND (1,1)을 제거합니다. Estate1에는 LAND (1,2)와 (1,3)가 있습니다. Estate1 fingerprint: hash3 (Fingerprint가 변경됨)
* Bob은 Estate1을 판매 등록합니다. 목록은 Ethereum 메인넷의 온체인에서 Estate 스마트 계약 주소, Estate id, 가격, 만료일과 함께 생성됩니다.
* Alice는 지불할 것으로 예상되는 가격과 estate id를 지정하여 Estate를 구매하는 트랜잭션을 보냅니다.
* Bob은 누군가 자신의 Estate1을 사려 한다는 것을 감지하고, Alice보다 더 높은 가스 수수료로 Estate1에서 LAND (1,2)와 (1,3)을 제거하는 트랜잭션을 보냅니다.
* Bob의 트랜잭션이 먼저 채굴됩니다. Estate1에는 0개의 LAND가 있습니다. Estate1 fingerprint: hash4 (Fingerprint가 변경됨)
* Alice의 트랜잭션은 나중에 채굴됩니다. Alice는 LAND가 0개인 Estate1을 샀습니다. 이는 Alice가 Bob에게 프론트런당했고(그리고 도난/사기를 당했다는) 뜻입니다.

### Estate fingerprint 사용하기

* Bob은 LAND (1,1)과 (1,2)를 가진 Estate1을 보유하고 있습니다. Estate1 fingerprint: hash1
* Bob은 Estate1에 LAND (1,3)을 추가합니다. Estate1에는 LAND (1,1), (1,2), (1,3)가 있습니다. Estate1 fingerprint: hash2 (Fingerprint가 변경됨)
* Bob은 Estate1에서 LAND (1,1)을 제거합니다. Estate1에는 LAND (1,2)와 (1,3)가 있습니다. Estate1 fingerprint: hash3 (Fingerprint가 변경됨)
* Bob은 Estate1을 판매 등록합니다. 목록은 Ethereum 메인넷의 온체인에서 Estate 스마트 계약 주소, Estate id, 가격, 만료일과 함께 생성됩니다.
* Alice는 Estate를 구매하는 트랜잭션을 보내며, estate id, 지불할 것으로 예상되는 가격, 그리고 **그녀가 본 fingerprint(hash3)**.
* Bob은 누군가 자신의 Estate1을 사려 한다는 것을 감지하고, Alice보다 더 높은 가스 수수료로 Estate1에서 LAND (1,2)와 (1,3)을 제거하는 트랜잭션을 보냅니다.
* Bob의 트랜잭션이 먼저 채굴됩니다. Estate1에는 0개의 LAND가 있습니다. Estate1 fingerprint: hash4 (Fingerprint가 변경됨)
* Alice의 트랜잭션은 되돌려집니다. 스마트 계약이 Alice가 보낸 매개변수의 fingerprint가 현재 Estate1 fingerprint(hash3 != hash4)와 일치하지 않는 것을 확인했기 때문입니다. 이 검사는 Alice가 원하지 않는 Estate를 구매하는 것을 방지했습니다.

## Estate 스마트 계약 Fingerprint 인터페이스

Estate의 스마트 계약은 다음을 준수합니다 [fingerprint 인터페이스](https://github.com/decentraland/land/blob/master/contracts/estate/EstateStorage.sol#L19). Estate가 판매 등록되거나 제안을 받으면, 다음을 호출하여 fingerprint를 기록하세요 *`getFingerprintV2(uint256 estateId)`* 그리고 반환된 값을 저장하세요. 해당 주문/제안이 실행 시점에도 여전히 유효한지 확인하려면 다음을 호출하세요 *`verifyFingerprint(uint256 estateId, bytes fingerprint)`* 를 저장된 값과 함께.

항상 다음이 반환한 값을 저장하세요 *`getFingerprintV2`*. 이전의 *`getFingerprint`* 메서드는 하위 호환성을 위해서만 유지되며 단계적으로 제거되고 있습니다. 2026년 11월 26일부터 *`verifyFingerprint`* 는 이 메서드가 생성한 값을 더 이상 수용하지 않습니다. 새로운 통합에서는 다음을 사용해야 합니다 *`getFingerprintV2`*.

작동 중인 프로덕션 예제를 확인할 수 있습니다 [여기](https://github.com/decentraland/marketplace-contracts/blob/master/contracts/marketplace/MarketplaceV2.sol#L382).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-ko/marketplace/estates-marketplace-integrations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
