Skip to content

shutter-network/encrypting-rpc-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encrypting RPC Server

This server is using Gnosis Chain Configuration and Shutter Network Mempool encryption to protect your transactions against MEV.

Requirements

To deploy and use for requests other than eth_sendRawTransaction

  • Ganache
  • Foundry

To start and build the server:

  • Docker

How to run example

  1. First you need to use below command to get submodules: git submodule update --init
  2. Start a ganache server by: ganache -b 5 -t 2021-12-08T20:55:40 --wallet.mnemonic brownie
  3. Deploy contracts in /src folder by using: make compile-contracts && make deploy
  4. Build the container image: docker build . -t encrypting-rpc-server
  5. Run the server: docker run -p 8546:8546 encrypting-rpc-server --signing-key bbfbee4961061d506ffbb11dfea64eba16355cbf1d9c29613126ba7fec0aed5d --key-broadcast-contract-address {KEY_BROADCAST_CONTRACT_ADDRESS} --sequencer-address {SEQUENCER_CONTRACT_ADDRESS} --keyper-set-manager-address {KEYPER_SET_MANAGER_CONTRACT_ADDRESS} --rpc-url http://host.docker.internal:8545

Contract addresses can be obtained from gnosh-contracts/broadcast/deploy.s.sol/1337/run-latest.json. There are CREATE transactionType and select contractName as what you need then you have the contractAddress.

There are other options you can use like:

  • rpc-url: RPC URL from alchemy/infura or other providers. Default: http://localhost:8545
  • http-listen-address: Which address this server runs. Default: :8546
  • keyper-set-change-look-ahead: How much ahead your transactions should be revealed.

About

An Ethereum JSON RPC server for Shutterized Gnosis Chain that encrypts transactions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published