Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.71 KB

README.md

File metadata and controls

35 lines (24 loc) · 1.71 KB

Relay Network

Gitter chat

Motivation

Various projects aim to improve user experience by enabling recurring fee subscriptions, delegated conditional execution or sponsored gas. These second layer execution markets all share the need for a relayer that submits signed user transactions to the network.

The aim of this project is to implement a decentralized relay network, with enough modularity that could support the various use-cases mentioned above. A prototype of this idea, with a focus on supporting Gnosis Safe as identity proxy and whisper as pubsub protocol, was recently implemented by the Hermes Network team at ETHBerlin.

Requirements

In order to run a relayer, you'll need to have an IPFS node with pubsub enabled running. Install and setup IPFS, then run daemon:

ipfs daemon --enable-pubsub-experiment

Relayer also needs access to an Ethereum chain. By default, it connects to Rinkeby, through Infura.

Clone the repository and install the dependencies via dep:

dep ensure

Usage

Relay-network currently only works with ethbase. For using with ethbase, start a relayer, which listens on a pubsub topic, and submits the logs to the ethbase contract:

MNEMONIC="____" go run cmd/relayer/main.go

Then, run ethbasepub, which subscribes to the logs emitted by event emitters registered in Ethbase, generates a proof for the log, and sends it to the relayer via IPFS pubsub.

go run cmd/ethbasepub/main.go