Skip to content

manel1874/threshold-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a simple prototype of an Ethereum crypto wallet that uses ZenGo-X implementation of {t,n}-Threshold ECDSA based on the GG20 algorithm. We point to their Binance academy article for an exmplanation of threshold signatures.

The prototype has the following features:

  • For every wallet, n key shares are generated.
  • Any n-t out of the n shares can sign a transaction.
  • A private key is never generated to create a new wallet.
  • The private key doesn’t need to be reconstructed to sign a transaction. \end{enumerate}

Installation

  1. Install ZenGo-X implementation in your Home directory.
  • Install Rust
  • Install GMP library (optionally)
  • Clone the repo from manel1874 fork. (Note: this takes into account the updates by narayanprusty)
git clone https://github.com/manel1874/multi-party-ecdsa.git
  • Build the project
cargo build --release --examples

For further guidance we refer to ZenGo-X library.

  1. Install Python dependencies

Python version: 3.5.* and above.

pip install pycryptodome pycoin nummaster Flask==1.1.4
  1. Clone this repo.

Run prototype

  • Inside the threshold-wallet main folder run:
python webapp.py

Demo

You can see a demo on YouTube.

About

A simple threshold wallet prototype

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published