Welcome to the Decentralized Land Registry project, an open-source venture that aims to redefine land transactions with the power of blockchain. Leveraging advanced blockchain technology, this project introduces an innovative way to manage and conduct land transactions transparently, securely, and efficiently.
The traditional land registry systems are often fraught with inefficiencies, potential for fraud, and lack of transparency. Our solution, a blockchain-based land registry, addresses these issues head-on by providing an immutable and public record of land transactions, drastically reducing the potential for fraud and manipulation. By combining cryptography and consensus algorithms, blockchain technology ensures that once data is added to the blockchain, it is virtually impossible to change.
This is an example of a smart contract for a land registry system where an owner can register their land, update the land details, and even transfer ownership in a secure way. This contract makes land transactions more transparent and trustworthy.
The primary functionalities include:
-
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.
-
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.
-
Ownership Transfer: If the owner decides to transfer their land, the contract allows for a seamless and secure transfer of ownership.
This Decentralized Land Registry project is set to revolutionize how we view land transactions, bringing about a new level of transparency and security. We're excited to embark on this journey towards a more efficient, reliable, and secure system for land transactions, and we warmly invite you to explore, contribute, and grow with us in this endeavor.
Install
npm i
Compile
npm run compile
This 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, or adding events to keep track of every time a piece of land is registered or transferred.
In this contract:
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.transferLand()
allows the current owner of a land parcel to transfer it to a new owner. Emits a LandTransferred event when land is transferred.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.verifyLand()
allows anyone to verify the details of a land parcel.
Moreover:
price
on theLand struct
handles selling land parcels.onlyLandOwner
modifier to ensures that only the owner of a land parcel can perform certain actions.
There is also a PyTeal version of this smart-contract, which offers similar functionality for the Algorand blockchain.
This is an open-source project by the Block Foundation.
The 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.
website: www.blockfoundation.io
We'd love for you to contribute and to make this project even better than it is today! Please refer to the contribution guidelines for information.
Solidity |
Teal |
|
---|---|---|
Template | >>> | >>> |
Architectural Design | >>> | >>> |
Architecture Competition | >>> | >>> |
Housing Cooporative | >>> | >>> |
Land Registry | >>> | >>> |
Real-Estate Crowdfunding | >>> | >>> |
Rent-to-Own | >>> | >>> |
Self-Owning Building | >>> | >>> |
Smart Home | >>> | >>> |
A sample citation (APA 6th edition) might look like:
van Vianen, L. B. (2023). solidity-land-registry (Version 0.0.1) [Computer software].
BibTeX
@misc{van_vianen_solidity-land-registry_2023,
title = {solidity-land-registry},
copyright = {CC-BY-SA-4.0},
url = {https://github.com/block-foundation/solidity-land-registry},
abstract = {Solidity Smart Contract: Decentralized Land Registry},
urldate = {2023-07-25},
author = {van Vianen, Lars Bastiaan},
month = jul,
year = {2023},
note = {original-date: 2023-07-23T22:52:59Z},
}
Copyright 2023, Stichting Block Foundation. All rights reserved.
Except as otherwise noted, the content in this repository is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License, and code samples are licensed under the Apache 2.0 License.
Also see LICENSE and LICENSE-CODE.
Please note that this code should be audited by a professional smart-contract auditor before being used in a production environment as it is a simplified example and may not cover all potential security vulnerabilities.
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.