{"id":39710128,"url":"https://github.com/block-foundation/solidity-land-registry","last_synced_at":"2026-01-18T10:37:39.688Z","repository":{"id":183395089,"uuid":"669935056","full_name":"block-foundation/solidity-land-registry","owner":"block-foundation","description":"Solidity Smart Contract: Decentralized Land Registry","archived":false,"fork":false,"pushed_at":"2025-09-01T13:45:16.000Z","size":379,"stargazers_count":9,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-04T21:46:23.813Z","etag":null,"topics":["architecture","block-foundation","blockchain","blockfoundation","eth","ethereum","hardhat","land","land-ownership","land-registration","land-registry","real-estate","smart-contracts","sol","solidity","typescript","urbanism"],"latest_commit_sha":null,"homepage":"https://www.blockfoundation.io","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/block-foundation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":".github/GOVERNANCE.md","roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"block-foundation","open_collective":"block"}},"created_at":"2023-07-23T22:52:59.000Z","updated_at":"2025-07-12T15:44:14.000Z","dependencies_parsed_at":"2023-07-24T09:53:21.312Z","dependency_job_id":"3a7c4a8d-107b-4935-85e7-37a8ab755bee","html_url":"https://github.com/block-foundation/solidity-land-registry","commit_stats":{"total_commits":215,"total_committers":2,"mean_commits":107.5,"dds":"0.046511627906976716","last_synced_commit":"7ab297c1aa566cfdab5761a4c56dbf5c23eb3f13"},"previous_names":["block-foundation/solidity-land-registry"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/block-foundation/solidity-land-registry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-land-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-land-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-land-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-land-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/block-foundation","download_url":"https://codeload.github.com/block-foundation/solidity-land-registry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-land-registry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","block-foundation","blockchain","blockfoundation","eth","ethereum","hardhat","land","land-ownership","land-registration","land-registry","real-estate","smart-contracts","sol","solidity","typescript","urbanism"],"created_at":"2026-01-18T10:37:39.553Z","updated_at":"2026-01-18T10:37:39.660Z","avatar_url":"https://github.com/block-foundation.png","language":"Solidity","funding_links":["https://github.com/sponsors/block-foundation","https://opencollective.com/block"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"right\"\u003e\n\n[![GitHub License](https://img.shields.io/github/license/block-foundation/blocktxt?style=flat-square\u0026logo=readthedocs\u0026logoColor=FFFFFF\u0026label=\u0026labelColor=%23041B26\u0026color=%23041B26\u0026link=LICENSE)](https://github.com/block-foundation/solidity-land-registry/blob/main/LICENSE)\n[![devContainer](https://img.shields.io/badge/Container-Remote?style=flat-square\u0026logo=visualstudiocode\u0026logoColor=%23FFFFFF\u0026label=Remote\u0026labelColor=%23041B26\u0026color=%23041B26)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/block-foundation/solidity-land-registry)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv\u003e\n    \u003cimg align=\"right\" src=\"https://raw.githubusercontent.com/block-foundation/brand/master/src/logo/logo_gray.png\" width=\"96\" alt=\"Block Foundation Logo\"\u003e\n    \u003ch1 align=\"left\"\u003eDecentralized Land Registry\u003c/h1\u003e\n    \u003ch3 align=\"left\"\u003eBlock Foundation Smart Contract Series [Solidity]\u003c/h3\u003e\n\u003c/div\u003e\n\n---\n\n\u003cimg align=\"right\" width=\"75%\" src=\"https://raw.githubusercontent.com/block-foundation/brand/master/src/image/repository_cover/block_foundation-structure-03-accent.jpg\"  alt=\"Block Foundation Brand\"\u003e\n\n### Contents\n\n- [Introduction](#introduction)\n- [Colophon](#colophon)\n\n\u003cbr clear=\"both\"/\u003e\n\n---\n\n\u003cdiv align=\"right\"\u003e\n\n[![Report a Bug](https://img.shields.io/badge/Report%20a%20Bug-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-land-registry/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=bug_report.yml)\n[![Request a Feature](https://img.shields.io/badge/Request%20a%20Feature-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-land-registry/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=feature_request.yml)\n[![Ask a Question](https://img.shields.io/badge/Ask%20a%20Question-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-land-registry/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=question.yml)\n[![Make a Suggestion](https://img.shields.io/badge/Make%20a%20Suggestion-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-land-registry/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=suggestion.yml)\n[![Start a Discussion](https://img.shields.io/badge/Start%20a%20Discussion-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-land-registry/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=discussion.yml)\n\n\u003c/div\u003e\n\n**Welcome to Block Foundation's Decentralized Land Registry project as part of our Smart Contract Series. It leverages the full potential of smart contracts to deliver a secure and transparent system for land transactions.**\n\n## Introduction\n\nLand registries have long been known for their lack of transparency and the potential for fraud, with numerous cases of illegal land acquisition and property disputes marring their history [^1]. Our solution, a Decentralized Land Registry, built on the foundation of blockchain technology, addresses these issues by providing a public, transparent, and immutable record of land transactions.\n\nWith our smart contract for the land registry system, an owner can register their land, update the land details, and even transfer ownership in a seamless and secure manner. Not only does this bring about a new level of trust and reliability to land transactions, but it also significantly reduces the potential for fraudulent activities.\n\nThis smart contract for a land registry system in which land transactions are more transparent and trustworthy, and allows an owner to register their land, update the land details, and  transfer ownership in a secure way.\n\nThe primary functionalities include:\n\n1. Registration: When a user first registers a parcel of land, they are recorded as the owner of that parcel in the global state of the smart contract.\n\n2. Land Update: The owner can update the details of their registered land. Any updates are recorded in the global state, ensuring that a history of changes is kept.\n\n3. Ownership Transfer: If the owner decides to transfer their land, the contract allows for a seamless and secure transfer of ownership.\n\n## Quick Start\n\nBefore you dive in, make sure you have Node.js and npm installed. You can then proceed to install the necessary dependencies:\n\n\u003e Install\n\n``` sh\nnpm i\n```\n\n\u003e To compile the smart contract:\n\n``` sh\nnpm run compile\n```\n\n## Contract\n\nThis is a simple implementation and can be expanded to include more complex features, like adding permissions to prevent unauthorized people from registering or transferring land.\n\n### Class Overview\n\n``` mermaid\nclassDiagram \n\n    class LandRegistry {\n        -Land lands\n        +registerLand(string, string, uint256)\n        +transferLand(address, string)\n        +sellLand(address, string)\n        +verifyLand(string)\n    }\n\n    class Land {\n        -address owner\n        -string location\n        -string parcelID\n        -uint256 price\n    }\n\n\n    LandRegistry \"1\" -- \"*\" Land: has\n\n    note for LandRegistry \"can register\\ncan transfer\\ncan sell\\ncan verify\"\n    note for Land \"can be owned\\nhas a location\\nhas a name\\nhas a price\"\n\n\n```\n\n### Class Flow\n\n``` mermaid\nflowchart TD\n\n    registerLand[\"(mehod)\n    registerLand\"]:::class_dark\n    transferLand[\"(mehod)\n    transferLand\"]:::class_dark\n    sellLand[\"(mehod)\n    sellLand\"]:::class_dark\n\n    LandRegistered[\"(event)\n    LandRegistered\"]:::class_light\n    LandTransferred[\"(event)\n    LandTransferred\"]:::class_light\n\n    lands[\"(mapping)\n    lands\"]:::class_neutral\n    ownerToLands[\"(mapping)\n    ownerToLands\"]:::class_neutral\n\n    verifyLand[\"(mehod)\n    verifyLand\"]:::class_dark\n\n    registerLand --\u003e LandRegistered\n    transferLand --\u003e LandTransferred\n    sellLand --\u003e LandTransferred\n    LandRegistered --\u003e lands\n    LandTransferred --\u003e lands\n    LandRegistered --\u003e ownerToLands\n    LandTransferred --\u003e ownerToLands\n    lands \u003c--\u003e verifyLand\n    ownerToLands \u003c--\u003e verifyLand\n\n    classDef class_light fill:#FFFFFF,color:#041B26,stroke:#041B26,stroke-width:2px;\n    classDef class_neutral fill:#E1E4E5,color:#041B26,stroke:#041B26,stroke-width:2px;\n    classDef class_dark fill:#041B26,color:#FFFFFF,stroke:#041B26,stroke-width:2px;\n\n```\n\n- `registerLand()` allows an address to register a new parcel of land with its location and a unique parcel ID. Emits a `LandRegistered` event when land is registered.\n- `transferLand()` allows the current owner of a land parcel to transfer it to a new owner. Emits a `LandTransferred` event when land is transferred.\n- `sellLand()` allows a landowner to sell their land to a buyer. This also involves the transfer of Ether (the currency on Ethereum) from the buyer to the seller, representing the payment for the land.\n- `verifyLand()` allows anyone to verify the details of a land parcel.\n- `listLandsByOwner()` allows for querying all land parcels owned by a specific `address`, making it easier to get an overview of one's properties\n\nMoreover:\n\n- `price` on the `Land struct` handles selling land parcels.\n- `onlyLandOwner` modifier to ensures that only the owner of a land parcel can perform certain actions.\n\n*There is also a [PyTeal version](https://github.com/block-foundation/teal-land-registry) of this smart-contract, which offers similar functionality for the Algorand blockchain.*\n\n## Background\n\n### Evolving Land Management Systems\n\nAs we move deeper into the 21st century, traditional methods of managing land registries have proven to be insufficient, vulnerable to fraud, and fraught with red tape. In response, our project introduces a pioneering vision for the future of land management – the Decentralized Land Registry. By marrying the infallible security of blockchain with the expansive realm of property management, we're reshaping how property transactions are executed and recorded. This transformative project strives to make property transactions as seamless and as transparent as possible, thereby fortifying trust among parties involved.\n\n### Incorporating Advanced Technologies\n\nOur Decentralized Land Registry project employs advanced technologies, such as Ethereum's blockchain and Solidity, to craft a robust and secure framework for land transactions. The project is part of our Smart Contract Series that aims to demonstrate how blockchain can revolutionize various sectors and industries. The contract allows landowners to register land parcels, update details, and transfer ownership in a tamper-proof, transparent, and efficient manner.\n\n### A Step towards Greater Transparency\n\nTransparency is the cornerstone of any trusted system. Our project ensures complete transparency in land transactions, thereby minimizing disputes and fraudulent activities. By recording transactions on the blockchain, we provide a public and immutable ledger, thus instilling a greater level of confidence in the process. As a result, the Decentralized Land Registry is set to change the way we perceive land transactions, ushering in a new era of trust, transparency, and efficiency.\n\n### Open Source and Community Oriented\n\nAs an open-source project, the Decentralized Land Registry encourages community participation and contribution. We believe that the combined efforts and creativity of the global developer community can accelerate the evolution of our project and bring innovative solutions to the fore. We warmly welcome developers worldwide to join our mission, contribute to our codebase, and help us build a more transparent, efficient, and secure system for land transactions.\n\n## Development Resources\n\n### Authors\n\nThis is an open-source project by the **[Block Foundation](https://www.blockfoundation.io \"Block Foundation website\")**.\n\nThe Block Foundation mission is enabling architects to take back initiative and contribute in solving the mismatch in housing through blockchain technology. Therefore the Block Foundation seeks to unschackle the traditional constraints and construct middle ground between rent and the rigidity of traditional mortgages.\n\nwebsite: [www.blockfoundation.io](https://www.blockfoundation.io \"Block Foundation website\")\n\n### Contributing\n\nWe'd love for you to contribute and to make this project even better than it is today!\nPlease refer to the [contribution guidelines](.github/CONTRIBUTING.md) for information.\n\n### Other Repositories\n\n- https://github.com/vrii14/Land-Registration-with-Blockchain\n\n#### Block Foundation Smart Contract Series\n\n|                                   | `Solidity`  | `Teal`      |\n| --------------------------------- | ----------- | ----------- |\n| **Template**                      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-template) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-template) |\n| **Architectural Design**          | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-architectural-design) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-architectural-design) |\n| **Architecture Competition**      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-architecture-competition) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-architecture-competition) |\n| **Housing Cooporative**           | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-housing-cooperative) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-housing-cooperative) |\n| **Land Registry**                 | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-land-registry) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-land-registry) |\n| **Real-Estate Crowdfunding**      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-real-estate-crowdfunding) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-real-estate-crowdfunding) |\n| **Rent-to-Own**                   | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-rent-to-own) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-rent-to-own) |\n| **Self-Owning Building**          | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-self-owning-building) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-self-owning-building) |\n| **Smart Home**                    | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-smart-home) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-smart-home) |\n\n## Academic Resources\n\n### Citation\n\n\u003e A sample citation (APA 6th edition) might look like:  \n\n``` txt\nvan Vianen, L. B. (2023). solidity-land-registry (Version 0.0.1) [Computer software].\n```\n\n\u003e BibTeX\n\n``` bib\n@misc{van_vianen_solidity-land-registry_2023,\n\ttitle = {solidity-land-registry},\n\tcopyright = {CC-BY-SA-4.0},\n\turl = {https://github.com/block-foundation/solidity-land-registry},\n\tabstract = {Solidity Smart Contract: Decentralized Land Registry},\n\turldate = {2023-07-25},\n\tauthor = {van Vianen, Lars Bastiaan},\n\tmonth = jul,\n\tyear = {2023},\n\tnote = {original-date: 2023-07-23T22:52:59Z},\n}\n\n```\n\n---\n\n## Colophon\n\n### Authors\n\nThis is an open-source project by the **[Block Foundation](https://www.blockfoundation.io \"Block Foundation website\")**.\n\nThe Block Foundation mission is enabling architects to take back initiative and contribute in solving the mismatch in housing through blockchain technology. Therefore the Block Foundation seeks to unschackle the traditional constraints and construct middle ground between rent and the rigidity of traditional mortgages.\n\nwebsite: [www.blockfoundation.io](https://www.blockfoundation.io \"Block Foundation website\")\n\n### Development Resources\n\n#### Contributing\n\nWe'd love for you to contribute and to make this project even better than it is today!\nPlease refer to the [contribution guidelines](.github/CONTRIBUTING.md) for information.\n\n### Legal Information\n\n#### Copyright\n\nCopyright \u0026copy; 2023 [Stichting Block Foundation](https://www.blockfoundation.io/ \"Block Foundation website\"). All Rights Reserved.\n\n#### License\n\nExcept as otherwise noted, the content in this repository is licensed under the\n[Creative Commons Attribution 4.0 International (CC BY 4.0) License](https://creativecommons.org/licenses/by/4.0/), and\ncode samples are licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\n\nAlso see [LICENSE](https://github.com/block-foundation/community/blob/master/src/LICENSE) and [LICENSE-CODE](https://github.com/block-foundation/community/blob/master/src/LICENSE-CODE).\n\n#### Disclaimer\n\n**THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock-foundation%2Fsolidity-land-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblock-foundation%2Fsolidity-land-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock-foundation%2Fsolidity-land-registry/lists"}