rugged-multisig

所属分类:以太坊
开发工具:CSS
文件大小:2036KB
下载次数:0
上传日期:2022-06-11 11:51:12
上 传 者sh-1993
说明:  使用Solidity和ReactJS构建的完全去中心化的多签名钱包。
(A fully decentralized multisig wallet built with Solidity and ReactJS.)

文件列表:
.editorconfig (123, 2022-06-11)
.husky (0, 2022-06-11)
.husky\post-checkout (55, 2022-06-11)
.vscode (0, 2022-06-11)
.vscode\settings.json (1075, 2022-06-11)
ISSUE_TEMPLATE (0, 2022-06-11)
ISSUE_TEMPLATE\bug_report.md (834, 2022-06-11)
ISSUE_TEMPLATE\feature_request.md (595, 2022-06-11)
LICENSE (1072, 2022-06-11)
docker (0, 2022-06-11)
docker\setup.sh (971, 2022-06-11)
package.json (3847, 2022-06-11)
packages (0, 2022-06-11)
packages\backend (0, 2022-06-11)
packages\backend\index.js (1592, 2022-06-11)
packages\hardhat (0, 2022-06-11)
packages\hardhat\.eslintrc.js (471, 2022-06-11)
packages\hardhat\contracts (0, 2022-06-11)
packages\hardhat\contracts\MultiSigFactory.sol (2163, 2022-06-11)
packages\hardhat\contracts\MultiSigWallet.sol (5962, 2022-06-11)
packages\hardhat\contracts\TestERC20Token.sol (378, 2022-06-11)
packages\hardhat\coverage.json (10567, 2022-06-11)
packages\hardhat\deploy (0, 2022-06-11)
packages\hardhat\deploy\00_deploy_your_contract.js (336, 2022-06-11)
packages\hardhat\example.env (822, 2022-06-11)
packages\hardhat\hardhat.config.js (18578, 2022-06-11)
packages\hardhat\package.json (1637, 2022-06-11)
packages\hardhat\scripts (0, 2022-06-11)
packages\hardhat\scripts\deploy.js (5991, 2022-06-11)
packages\hardhat\scripts\publish.js (2722, 2022-06-11)
packages\hardhat\scripts\watch.js (478, 2022-06-11)
packages\hardhat\test (0, 2022-06-11)
packages\hardhat\test\MultiSigWalletTest.js (7465, 2022-06-11)
packages\react-app (0, 2022-06-11)
... ...

![multisig logo](https://github.com/shafayeatsumit/rugged-multisig/blob/master/public/multisig_logo.gif) # Rugged MultiSig A minimal clone of [gnosis-safe](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://gnosis-safe.io/) with one key difference [Rugged Multisig](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/shafayeatsumit/rugged-multisig) uses [Waku Connect](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://our.status.im/waku-decentralized-communication-for-web3/) as its indexer. The purpose of multisig wallets is to increase security by requiring multiple parties to agree on transactions before execution. Transactions can be executed only when confirmed by a predefined number of owners # [Demo Video](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://www.loom.com/share/5446aa4fc81a45f2b9de0e1a036ac722) ## ’what problem does it solve? Typical multi-sig wallets are able to achieve gas-less signatures by running a centralized indexer, aka transaction history service. This indexer is a centralized piece, critical to the wallet functionality. As of any centralized infrastructure, the indexer can be subject to censorship, DDOS attacks or hosting failure. Replacing the indexer by the decentralized Waku network would mitigate such risks. ## ¨ Features - Create wallet. - Import existing wallet. - Propose basic transactions with the frontend that sends them to the backend. - vote on the transaction as other signers. - Add/remove new signer. - Execute transaction as an active signer. ### Waku Implementation Detail This project integrates Waku to multisig wallet for initiating multi-party multi-signature transactions. When an owner of a safe initiates a Safe transaction, the transaction data will be broadcast to the Waku network with **symmetric encryption**, instead of sending to the centralized server. Other owners who need to confirm the transaction would either receive the request via: - Waku Relay, if they were online when the request was originally made, or, - Waku Store, if they were offline when the request was originall made. The content topic is versioned so that this workflow can be upgraded anytime. # Quick Start Prerequisites: [Node (v16 LTS)](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://nodejs.org/en/download/) plus [Yarn](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://classic.yarnpkg.com/en/docs/install/) and [Git](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://git-scm.com/downloads) > clone/fork : ```bash https://github.com/shafayeatsumit/rugged-multisig.git ``` > install and start your ‘· Hardhat chain: ```bash cd rugged-multisig yarn install yarn chain ``` > in a second terminal window, start your “± frontend: ```bash cd rugged-multisig yarn start ``` > in a third terminal window, ° deploy your contract: ```bash cd waku-multi-sig-wallet yarn deploy ``` “± Open http://localhost:3000 to see the app # § Test Coverage: ``` ----------------------|----------|----------|----------|----------|----------------| File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | ----------------------|----------|----------|----------|----------|----------------| contracts/ | 95.31 | 50 | 100 | 95.77 | | MultiSigFactory.sol | 100 | 50 | 100 | 100 | | MultiSigWallet.sol | 94.23 | 50 | 100 | 94.83 | 116,117,121 | TestERC20Token.sol | 100 | 100 | 100 | 100 | | ----------------------|----------|----------|----------|----------|----------------| All files | 95.31 | 50 | 100 | 95.77 | | ----------------------|----------|----------|----------|----------|----------------| ``` # “ Shout Out: - Thse project is built on top of [Scaffold-Eth](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/scaffold-eth/scaffold-eth). This boilerplate helps developer to quickly experiment with Solidity using a frontend that adapts to your smart contract. - [dec3ntraliz3d](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/dec3ntraliz3d) [Daniel](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/danielkhoo), [Soptq](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/Soptq), [Steven Slade](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/stevenpslade), [Austin Griffith](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://github.com/austintgriffith). # ’ P.S. You need an RPC key for testnets and production deployments, create an [Alchemy](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://www.alchemy.com/) account and replace the value of `ALCHEMY_KEY = xxx` in `packages/react-app/src/constants.js` with your new key. “ Make sure you update the `InfuraID` before you go to production. Huge thanks to [Infura](https://github.com/shafayeatsumit/rugged-multisig/blob/master/https://infura.io/) for our special account that fields 7m req/day!

近期下载者

相关文件


收藏者