Group Project 3 - December 19, 2022 - UMN Fintech
- David Garcia
- Luke Turner
- Kyle Jensen
Table of Contents
The primary goal of our project is to create a blockchain wallet with a time-lock that acts as an irrevocable trust.
It pays out to two beneficiaries from a privately held trust wallet via smart contract. Upon submitting and signing the contract to the blockchain these options will become immutable and unchanging. Following this, the contract will pay out only after the designated time-lock to the specified beneficiaries.
Adjustable Features:
- Transaction Amount
- Time-Lock Interval
- Primary Wallet Address (Trustee)
- Receiving Wallet Addresses (Beneficiaries)
- Number of Smart Contracts
- Receipt Data
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Before running or installing anything else, the following libraries need to be installed.
-
streamlit
pip install streamlit
-
web3
pip install web3==5.17
- Download and quick install Ganach at: https://trufflesuite.com/ganache/
- Clone the repo
git clone https://github.com/CincoCoding/Irrevocable-Time-Lock-Blockchain-Trust.git
- Open Ganache with access to wallets
- Locate the 'streamlitApp.py' file
- Run the app in terminal using the command
streamlit run streamlitApp.py
- Choose Trustee and copy 'Private Key' from Ganache and paste into the applicable area
- Choose Beneficiary 1 and copy 'Private Key' from Ganache and paste into the applicable area
- Choose Deposit amount
- Choose time period for Time-Lock function
- Create Contract
- Send Contract
- Sign Contract
- Wait alloted Time-Lock amount of time, then withdraw using the correct wallets (Beneficiary 1 and Beneficiary 2)
The irrevocable time-lock can be set to many different time periods, and restricts any withdrawel before the time has elapsed. The initial deposit is also variable. The contract also restricts all entities involved (trustee, beneficiaries, time-lock) to be unchanged once submitted and signed.
This project is the foundational work for a larger future project idea. As of now there are only two beneficiaries, but could be expanded to more. In the future there could also be automation added to the payout time-lock. An additional feature that could be added is that of interest or APR return to the trust and therefore beneficiaries.