AQAR Token is A Real Estate Exchange contract.
This repository contains Smart Contract code in Solidity (using Truffle), tests (also using Truffle)
To install, download or clone the repo, then:
npm install
In directory eth-project/
truffle compile
To run truffle tests:
In directory eth-project/
For all tests:
truffle test
For single file tests:
truffle test test/TestERC721Mintable.js
truffle test test/TestSquareVerifier.js
truffle test test/TestSolnSquareVerifier.js
OpenSea Marketplace Storefront link's: Aqar Real Estate Exchange
Contract address: 0x1b031B79727d8Dad0bc55D0d97082d47a5e94bEA
Contract abi's: /eth-project/build/contracts/SolnSquareVerifier.json
Contract address: 0xC0eacA14c6D3dD8FED326eBcf99A0C557789EB3d
Contract abi's: /eth-project/build/contracts/Verifier.json
docker run -v <path to your project folder>:/home/zokrates/code -ti zokrates/zokrates:0.3.0 /bin/bash
cd code/zokrates/code/square/
~/zokrates compile -i square.code
~/zokrates setup
~/zokrates compute-witness -a 3 9
~/zokrates generate-proof
~/zokrates export-verifier
Update <your infura key> in
/eth-project/truffle-config.js
before migrate to Rinkeby Network.
And create a .secret
file in /eth-project/
with your mnemonic.
Start deployment
truffle migrate --network rinkeby
update <your infura key> and <your mnemonic words> in
/eth-project/scripts/secret.json
before start minting,
In directory /eth-project/scripts
, run:
node submit-sol.js <proof.json file location> <tokenId>
node mint.js <tokenId>
Aqar metadata api project: aqarnft-meadata using this startup code
- Remix - Solidity IDE
- Visual Studio Code
- Truffle Framework
- Ganache - One Click Blockchain
- Open Zeppelin
- Interactive zero knowledge 3-colorability demonstration
- Docker
- ZoKrates
squares as input to ZoKrates is not directly related to the real estate property use case. It is just meant to show how the process can be done programmatically. There might be other data that can be input to ZoKrates to verify land titles.