Gnosis Shutter enhances transaction privacy and security on the Gnosis Chain. It allows users to encrypt their transactions to prevent frontrunning and censorship, with decryption and execution only occurring when they are ready to be included in a blockchain block.
- Encryption of Transactions: Users can encrypt transactions using a public 'eon key' before submission.
- Decentralized Decryption: Managed by a group of nodes called keypers, who ensure secure transaction decryption.
- Enhanced Security: Transactions are decrypted only when they are ready to be included in a block, enhancing security and privacy.
- Opt-in System: Users can choose between sending encrypted transactions or using the standard plaintext format.
- Shutter Timer: Track when next shutter validator will include transactions from sequencer to the block.
- Node.js (version 22.3.0)
- A compatible wallet (e.g., Brave Wallet)
-
Clone the repository:
git clone https://github.com/yourusername/gnosis-shutter.git cd gnosis-shutter
-
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env
Running the Application To start the application, run the following command:
npm run dev
To submit an encrypted transaction:
- Connect your Brave Wallet.
- Select the Gnosis Chain or Chiado.
- Choose transfer tokens or advanced transaction (you need to copy build transaction from metamask)
- Sign transaction.
- Submit transaction to shutter sequencer contract.
Transactions will be encrypted client-side and sent to the Sequencer Contract for processing.
For more detailed information about the Gnosis Shutter system and its components, visit the following links:
- Shutter Network.
- Shutterized Gnosis Chain -- High Level Overview
- Shutterized Gnosis Chain -- Low Level Specification
If you need help or have any questions, please file an issue here.