Skip to content

Latest commit

 

History

History
43 lines (27 loc) · 1.86 KB

File metadata and controls

43 lines (27 loc) · 1.86 KB

TitleChain: The Decentralized Property Ledger

TitleChain is a decentralized application (Dapp) built on the Sepolia blockchain Testnet that enables secure and transparent recording of property titles. Using OpenZeppelin ERC721 Standard, this Dapp allows users to tokenize property titles into NFTs (Non-Fungible Tokens) along with associated metadata. Furthermore, it leverages IPFS for immutable and decentralized storage of essential documents. The Dapp includes a feature to filter titles based on the instrument number. It also implements a role-based access control system, allowing authorized users to approve property titles after verifying associated documents and information.

Propertytitle

Contract Functions:

Modifiers

  • onlyManager()
  • onlyOwner()

Contract Initialization

  • constructor()

Property Functions

  • createProperty(string memory tokenURI, uint256 instrumentNum)
  • setTokenURI(uint256 tokenId, string memory _tokenURI)
  • recordProperty(uint256 tokenId, uint256 instrumentNum)

Data Retrieval Functions

  • fetchAllPropertiesByManagers()
  • fetchAllProperties()
  • fetchPropertiesByNum(uint256 _instrumentNum)
  • fetchUserProperty()

Manager Functions

  • addManager(address _newManager)
  • approvedPropertyStatus(uint256 tokenId)

Contract Address

View Property Title Recorder Smart Contract on Sepolia Testnet

Foundry Test

Follow the instructions to install Foundry.

Clone and install dependencies: git submodule update --init --recursive
Test Contract: forge test --contracts ./src/test/PropertyRecorder.t.sol -vvvv