We believe in using new technologies to influence the financial ecosystem. Over the summer, we built our own PCs. We noticed that GPU prices has increased drastically due to Ethereum mining. As a result, we decided to learn more about cryptocurrencies, the blockchain and Ethereum. Both of our parent's have mortgages and we have seen the amount of paperwork that is involved in one. When we learned that Fannie Mae was offering the Blockchain Challenge, we leaped on the opportunity to learn smart contracts and the blockchain ledger during HackTJ.

What it does

QuickMortgage is an Ethereum smart contract that stores cryptographically secure important parts of individual mortgages. The smart contract can also handle payments to the bank, interest accruement, and loan payoff. The contract serves as an immutable proof of an agreement between the customer and the bank. In addition, we allow others to develop clients off of our smart contract.
One of the unique features of the QuickMortgage smart contract is a personally-identifiable information hash (PII HASH). When a contract is created, the creator has the opportunity to submit a hash onto the chain. We hope that this hash can be used to store certain sensitive information. For example, the hash of the mortgagee's name and physical address can be stored on the chain and later used to prove that a mortgage is associated with a specific person. However, without the input behind the hash, malicious third parties can not figure out the input to the hash.

How we built it

We wrote QuickMortgage in the language Solidity, the language of choice for smart contract development. We used Remix as an IDE for testing and development. We used Python to generate random test data for testing, We utilized Infura and MetaMask to interact with the Rinkeby Test Network.

Challenges we ran into

We initially thought we could integrate a Python Flask app to serve as a front end to our contract. Unfortunately, web3.js, the Ethereum API recommended for use, did not allow for client side JavaScript generation. Therefore, we had to switch our direction midway through the hackathon. We encountered issues with NodeJS and NPM installation processes, which took up a lot of our time. Therefore, we could not generate our own front end. We also had to learn Stolidity in less than 24 hours which posed a challenge.

Accomplishments that we're proud of

We are proud that we were able to develop a functional smart contract which can actually be deployed on an Ethereum network.

What we learned

We learned how to write in Solidility, more about the Ethereum network, and how to write smart contracts.

What's next for QuickMortgage

We hope to develop a user interface to interact with our smart contract and to add additional functionality to handle unique use cases.

Share this project: