This capstone project builds upon the knowledge gained throughout the course in order to build a decentralized housing product.
Truffle v5.1.24 (core: 5.1.24)
Node v12.16.3
truffle-compiler: 0.5.1+commit.c8a2cb62.Emscripten.clang
ZoKrates 0.5.2
truffle-hdwallet-provider@1.0.17
Compiler: Solidity - 0.5.5 (solc-js)
First the Verifier contract is deployed, then the SolnSquareVerifier contract using the Verifier address.
Verifier - https://rinkeby.etherscan.io/address/0x91eec087857e2666cD6F77a95214FD1d3B4aF825
SolnSquareVerifier - https://rinkeby.etherscan.io/address/0x00A7E913ab81B528eF99F339816B376b1C5835b0
All contract ABI are in the build folder
OpenSea MarketPlace Storefront https://rinkeby.opensea.io/assets/bkhs-erc721mintabletoken-v2
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
-
Migrate locally
ruffle migrate --network development --reset
File: TestERC721Mintable.js
Test minting functionality of tokens and transfer of tokens.
truffle test ./test/TestERC721Mintable.js
File: TestSquareVerifier.js
Verifies zkSnarks is successfully implemented.
truffle test ./test/TestSquareVerifier.js
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
2.2 set mnemonic from metamask within HDWalletProvider
2.3 set rinkeby endpoint within HDWalletProvider
2.4 set from address
-
Migrate to rinkeby
truffle migrate --network rinkeby
-
Finding ERC721 token on ether-scan
https://rinkeby.etherscan.io/token/0x00a7e913ab81b528ef99f339816b376b1c5835b0
-
Minting tokens
https://www.myetherwallet.com/interface/interact-with-contract
-
Finding tokens on rinkeby OpenSea
https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/21
-
Viewing token Storefront on Opensea
https://rinkeby.opensea.io/assets/bkhs-erc721mintabletoken-v2
https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/21 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/22 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/26 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/20 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/18 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/17 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/14 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/16 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/12 https://rinkeby.opensea.io/assets/0x00a7e913ab81b528ef99f339816b376b1c5835b0/11