Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blockchainasset/inherichain
A wallet which has inheritance built in on the Ethereum Blockchain.
https://github.com/blockchainasset/inherichain
solidity wallet
Last synced: about 1 month ago
JSON representation
A wallet which has inheritance built in on the Ethereum Blockchain.
- Host: GitHub
- URL: https://github.com/blockchainasset/inherichain
- Owner: BlockchainAsset
- Created: 2020-10-12T10:00:35.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-20T07:29:51.000Z (10 months ago)
- Last Synced: 2024-10-15T03:30:56.669Z (3 months ago)
- Topics: solidity, wallet
- Language: JavaScript
- Size: 516 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Inherichain [![Build Status](https://travis-ci.org/remedcu/Inherichain.svg?branch=main)](https://travis-ci.org/remedcu/Inherichain) [![Coverage Status](https://coveralls.io/repos/github/remedcu/Inherichain/badge.svg?branch=main)](https://coveralls.io/github/remedcu/Inherichain?branch=main) ![](https://www.code-inspector.com/project/15933/score/svg)
![Inherichain](media/default.svg)
A wallet that has inheritance built-in on the Ethereum Blockchain.
[**Explainer Video**](https://youtu.be/-pQ-zvpdEos)
## Description
Ethereum wallets are created using a Seed or Private Key and can send and receive almost any ethereum assets and create contracts. But it lacks a significant feature, which is to retrieve the assets in case of the wallet owner's demise.
Inherichain is a Wallet Contract with almost all the features of a normal EOA (Externally Owned Account). Along with that, it also can transfer the ownership of the contract wallet to the specified Heir.
## Function List & Specification
A basic description of all the functions, modifiers, and events are specified in the doc folder [**here**](docs/Inherichain.md).
## User Specification
**Admin** can :
- Update the Backup Owner.
- Update the Heir (Resets the Claim Process).
- Update the Deadlines.
- Add new Approvers.
- Delete old Approvers.
- Interact with Other Contracts (ERC20 Transfers, etc.).
- Withdraw some or all ETH.
- Transfer some or all ETH.
- Deploy Contracts.**Backup Owner** can :
- Update the Owner.**Heir** can :
- Start the Claim.
- Access Ownership using Approver Votes or Complete Deadline.**Approver** can :
- Approve or Reject Heir.
- Initiate Charity Process.**Charity** can :
- Access Ownership after approver Initiation.**Every User** can :
- Deposit ETH and other assets.## Enhancement to do:
- Involve Kleros if heir & owner demise at the same time to choose what to do with the funds.
- Introduce Vote weightage for approvers.
- Mechanism to divide the contract asset into parts based on multiple heirs. Expanding on the same, giving different % for different Heir.## How to Run the Project
1. Create a new folder.
2. Copy the Git Clone URL from GitHub: https://github.com/remedcu/Inherichain.git
3. Clone the Repository.
`git clone https://github.com/remedcu/Inherichain.git`
4. In a command line, inside the Inherichain folder, write `npm i` or `npm install`
5. Now run `ganache-cli` and copy the mnemonic, address, and private key part for later use. (Make sure it runs on port 8545 if you intend to run the `truffle test` command).
6. In a command line, run `truffle migrate --reset`.
7. (Optional) If you want, you can run the `truffle test` to see if it passes all tests or not.
8. To run the frontend part, just use `npm start` and it will start a server in localhost.
## How to Test the Contract
1. Please follow the step 1 - 6 of *How to Run the Project*.
2. Now start the test using:
`npm run test`
**Note**: You can also use the `truffle test` to test the smart contract if you already have `ganache-cli` or Ganache GUI running in the background for testing in the local network.
## Documentation
Using solidity-docgen: [Inherichain.md](docs/Inherichain.md)