The capstone will build upon the knowledge you have gained in the course in order to build a decentralized housing product. This project creates ERC721 tokens for real estate titles and uses ZkSNARKs to verify before minting the token. The minted tokens are then put to sale on opensea.
Truffle v4.1.14 (core: 4.1.14) Solidity v0.4.24 (solc-js) Ganache CLI v6.2.5 (ganache-core: 2.3.3)
This repository contains Smart Contract code in Solidity (using Truffle), tests (also using Truffle) and zokrates generated contract and proofs.
To install, download or clone the repo, then:
npm install
truffle compile
Start Ganache CLI in the terminal using
ganache-cli
To run truffle tests:
In a second terminal window run the following commands
truffle test ./test/TestSquareVerifier.js
truffle test ./test/TestSolnSquareVerifier.js
truffle test ./test/TestERC721Mintable.js
To deploy to rinkeby:
Update the truggle-config.js
file to reflect your infura settings for rinkeby
In a terminal window run :
truffle migrate --network rinkeby
OpenSea Link : https://rinkeby.opensea.io/category/realestatetitle contract address: 0x4bC08D34a60b22e11ce8c2CfA731C429cfE07228 account address: 0x02dF304af8587597784d423bEC372cF51B9b739D contract ABI: /eth-contracts/build/contracts/SolnSquareVerifier.json
OpenSea Link : https://rinkeby.opensea.io/category/realestatetitle
change the configuration data in the mintConfig.json
file and then run
node mint.js
The tokens can then be put up for sale on OpenSea Marketplace.
Go to https://docs.opensea.io/docs/getting-started to see how it is done.