Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shutter-network/observer
Gnosis shutter metrics service
https://github.com/shutter-network/observer
Last synced: 20 days ago
JSON representation
Gnosis shutter metrics service
- Host: GitHub
- URL: https://github.com/shutter-network/observer
- Owner: shutter-network
- Created: 2024-06-03T17:56:30.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-01T15:58:53.000Z (about 1 month ago)
- Last Synced: 2025-01-01T16:38:21.263Z (about 1 month ago)
- Language: Go
- Size: 468 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Observer
## Description
Observer is a Gnosis chain shutter monitoring service built using Golang. It monitors the
shutter networks encrypted mempool and links encrypted transactions with original user
transactions(after decryption).## How it works
1. Users submit their encrypted transactions to shutters [sequencer contract](https://github.com/shutter-network/contracts/blob/main/src/gnosh/Sequencer.sol) (encrypted mempool).
2. These transactions once submitted to the sequencer contract are indexed by the observer.
3. Observer is also connected to the p2p network of shutter and is always listening to the new decryption keys which are being gossiped by the keypers.
4. Once the relevant decryption key for an encrypted transaction is identified, it decrypts and stores it in the DB(postgres).
5. Once all the data is available the Observer is able to identify if the users original transaction has been included according to the shutter rules and is protected from MEV.## How to run
Clone this repository and navigate to the root directory of the project:
```shell
git clone [email protected]:shutter-network/observer.git && cd observer
```
and then execute
```shell
./observer start \
--rpc-url ${RPC_URL} \
--beacon-api-url ${BEACON_API_URL} \
--sequencer-contract-address ${SEQUENCER_CONTRACT_ADDRESS} \
--validator-registry-contract-address ${VALIDATOR_REGISTRY_CONTRACT_ADDRESS} \
--p2pkey ${P2P_KEY} \
--inclusion-delay ${INCLUSION_DELAY}```
you can also run it inside docker.