For the complete documentation index, see llms.txt. This page is also available as Markdown.

부동산 마켓플레이스 통합

마켓플레이스에 Decentraland의 부동산을 통합하려면 알아두어야 할 중요한 사항들

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

Decentraland의 Estate는 ERC721 호환 NFT이며 Ethereum 메인넷에서 작동합니다. 따라서 많은 제3자 마켓플레이스에서 이를 거래할 수 있습니다. 이를 위해 이 마켓플레이스는 사용자에게 안전한 거래를 보장하기 위해 특정 규칙을 따라야 합니다.

아시다시피, 각 Estate 는 LANDs 와 바이트 의 해시가 그룹에 연결되어 있으며, 이를 핑거프린트. Estate에 LAND를 추가하거나 제거할 때마다 그 핑거프린트 도 변경됩니다.

마켓플레이스, 특히 에스크로 시스템이 없는 경우에는 Estate의 핑거프린트 기록을 보관하는 것을 100% 권장합니다. 누군가 이를 판매 목록에 올리거나 제안을 할 때 그렇게 하십시오. 그렇게 하면 주문/제안이 성공적으로 실행될 때 현재 소유자가 주문 실행을 앞지르려는 시도로 estate를 변경할 수 없습니다.

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

예시

Estate 핑거프린트를 사용하지 않음

  • Bob은 LAND (1,1)과 (1,2)를 가진 Estate1을 보유하고 있습니다. Estate1 핑거프린트: hash1

  • Bob이 LAND (1,3)를 Estate1에 추가합니다. Estate1에는 LAND (1,1), (1,2), (1,3)가 있습니다. Estate1 핑거프린트: hash2 (핑거프린트 변경됨)

  • Bob이 Estate1에서 LAND (1,1)를 제거합니다. Estate1에는 LAND (1,2)와 (1,3)가 있습니다. Estate1 핑거프린트: hash3 (핑거프린트 변경됨)

  • Bob이 Estate1을 판매에 내놓습니다. 목록은 Estate 스마트 계약 주소, Estate id, 가격, 만료일과 함께 Ethereum 메인넷에 온체인으로 생성됩니다.

  • Alice가 Estate를 구매하기 위한 트랜잭션을 보내며, estate id와 지불할 것으로 예상되는 가격을 지정합니다.

  • Bob은 누군가 자신의 Estate1을 사려 한다는 것을 감지하고, Alice보다 더 높은 가스 수수료를 사용한 트랜잭션을 보내 Estate1에서 LAND (1,2)와 (1,3)를 제거합니다.

  • Bob의 트랜잭션이 먼저 채굴됩니다. Estate1에는 0개의 LAND가 있습니다. Estate1 핑거프린트: hash4 (핑거프린트 변경됨)

  • Alice의 트랜잭션은 나중에 채굴됩니다. Alice는 0개의 LAND가 있는 Estate1을 구매했습니다. 이는 Alice가 Bob에게 프론트런당했으며(그리고 도난/사기당했음을) 의미합니다.

Estate 핑거프린트 사용하기

  • Bob은 LAND (1,1)과 (1,2)를 가진 Estate1을 보유하고 있습니다. Estate1 핑거프린트: hash1

  • Bob이 LAND (1,3)를 Estate1에 추가합니다. Estate1에는 LAND (1,1), (1,2), (1,3)가 있습니다. Estate1 핑거프린트: hash2 (핑거프린트 변경됨)

  • Bob이 Estate1에서 LAND (1,1)를 제거합니다. Estate1에는 LAND (1,2)와 (1,3)가 있습니다. Estate1 핑거프린트: hash3 (핑거프린트 변경됨)

  • Bob이 Estate1을 판매에 내놓습니다. 목록은 Estate 스마트 계약 주소, Estate id, 가격, 만료일과 함께 Ethereum 메인넷에 온체인으로 생성됩니다.

  • Alice가 Estate를 구매하기 위한 트랜잭션을 보내며, estate id, 지불할 것으로 예상되는 가격, 그리고 그녀가 보았던 핑거프린트(hash3).

  • Bob은 누군가 자신의 Estate1을 사려 한다는 것을 감지하고, Alice보다 더 높은 가스 수수료를 사용한 트랜잭션을 보내 Estate1에서 LAND (1,2)와 (1,3)를 제거합니다.

  • Bob의 트랜잭션이 먼저 채굴됩니다. Estate1에는 0개의 LAND가 있습니다. Estate1 핑거프린트: hash4 (핑거프린트 변경됨)

  • Alice의 트랜잭션은 스마트 계약이 Alice가 보낸 매개변수의 핑거프린트가 현재 Estate1의 핑거프린트(hash3 != hash4)와 일치하지 않는다는 것을 확인하여 되돌려집니다. 이 확인 덕분에 Alice가 원하지 않는 Estate를 구매하는 일이 방지되었습니다.

Estate 스마트 계약 핑거프린트 인터페이스

Estate의 스마트 계약은 핑거프린트 인터페이스. Estate가 판매 목록에 올라가거나 제안을 받으면, 호출하여 그 핑거프린트를 기록하십시오 getFingerprintV2(uint256 estateId) 를 호출하고 반환되는 값을 저장하십시오. 해당 주문/제안이 실행 시점에도 여전히 유효한지 확인하려면 verifyFingerprint(uint256 estateId, bytes fingerprint) 를 저장된 값과 함께 호출하십시오.

항상 getFingerprintV2에서 반환된 값을 저장하십시오. 이전의 getFingerprint 메서드는 이전 버전과의 호환성을 위해서만 유지되며 단계적으로 폐기되고 있습니다: 2026년 11월 26일부터 verifyFingerprint 는 이 메서드가 생성한 값을 더 이상 허용하지 않습니다. 새 통합은 getFingerprintV2.

작동하는 프로덕션 예제를 확인할 수 있습니다 여기.

마지막 업데이트