Jakub Sokołowski
191bcf1db6
Adds `Jenkinsfile` to build and deploy the app at: https://dev-gnosis-safe.wakuconnect.dev/ Signed-off-by: Jakub Sokołowski <jakub@status.im> |
||
---|---|---|
packages | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.gitpod.yml | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
package.json | ||
yarn.lock |
README.md
Waku Powered Gnosis Safe
This project replaces Gnosis Transaction History Service with Waku to achieve full decentralization.
Waku is a decentralized network and family of protocols that enable censorship-resistant, private, peer-to-peer communication. It is the infrastructure backbone of the Status app, a Web3 decentralized messenger app. The JavaScript implementation of Waku, js-waku, enables dApps and webapps to utilize the Waku network for off-chain message transmission.
Implementation Detail
This project integrates Waku to Gnosis Safe 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 Gnosis Transaction History Service. 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.
See https://youtu.be/NoglkQAL7Mc for a simple demonstration.
Installation
git clone -b gnosis-starter-kit https://github.com/Soptq/gnosis-safe-waku.git gnosis-safe-waku
cd gnosis-safe-waku
yarn install
yarn start
👉 Visit your frontend at http://localhost:3000
Deployment
📡 deploy a safe using the frontend or enter an existing safe address:
( ⛽️ Grab Rinkeby from the faucet )
(Setup two browsers with different addresses and add them both as OWNERS
with a THRESHOLD
of 2.)
Deploy the safe in one browser and paste it into the second browser:
Send some Rinkeby to your Safe by copying the address and using the 'wallet icon' in the top right:
Propose a transaction that sends funds vitalik.eth:
The second browser can then sign the second signature:
After the threshold of signatures is met, anyone can execute the transacation:
Check the multisig balance to make sure the funds were sent:
Support
Please don't hesitate to open issues.