A decentralized house listing service to prevent title issues that could be mitigated by blockchain technology.
truffle: Truffle v5.0.24
truffle-compiler: 0.5.1+commit.c8a2cb62.Emscripten.clang
Note: SolnSquareVerifier inherits all other contracts except verifier.sol
Completed contract that inherits the ERC721 token backed through zkSnarks that enhances privacy and scalability.
Implements Succinct Zero-knowledge proofs (zkSnarks).
-
cd into project repro & install modules
cd Blockchain-Capstone-Real-Estate-Marketplace npm install
-
Compile Contracts
truffle compile
-
Start ganache (CLI or GUI)
ganache-cli
-
Mirgrate locally
truffle migrate --network development --reset
Testing ERC721
File: TestERC721Mintable.js
Test minting functionality of tokens and transfer of tokens.
truffle test ./test/TestERC721Mintable.js
Test zkSnarks
File: TestSquareVerifier.js
Verifies zkSnarks is successfully implemented.
truffle test ./test/TestSquareVerifier.js
Testing ERC721 token with zkSnarks
File: TestSolnSquareVerifier.js
Test minting with zkSnarks.
truffle test ./test/TestSolnSquareVerifier.js
-
Make a new project with Infura
Infura: https://infura.io
-
Setup truffle-config
2.1 set infuraKey (line 22)
2.2 set mnemonic from metamask within HDWalletProvider (line 53)
2.3 set rinkeby endpoint within HDWalletProvider (line 53)
2.4 set from address (line 57)
-
Migrate to rinkeby
truffle migrate --network rinkeby
-
Finding ER721 token on ether-scan
https://rinkeby.etherscan.io/token/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d
- Minting tokens
https://www.myetherwallet.com/interface/interact-with-contract
- Finding tokes on rinkeby OpenSea
https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/1
- Viewing token Storefront on Opensea
https://rinkeby.opensea.io/assets/hst-erc721mintabletoken-v2
https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/0 https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/1 https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/2 https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/3 https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/4 https://rinkeby.opensea.io/assets/0x9bb4b411b7ccf04fcfc04a17179db3aa45f6b55d/5