Skip to content
OpenZeppelin starter-kit based GSN tutorial for a Chat App
JavaScript CSS HTML
Branch: master
Clone or download

GSN Chat ChatApp

(Gas Stations Network) Chat ChatApp

The GSN Chat App is an application designed to showcase the use of Meta Transaction powered smart contract backed applications. Unlike traditional Ethereum powered smart contract applications, when using Meta Transactions users are not required to have ETH or even have an Ethereum wallet to interact with smart contracts.


To learn more about Meta Transactions and the Gas Stations Network:

1–800-Ethereum: Gas Stations Network for Toll Free Transactions Ethereum Meta Transactions How Meta Transactions will Scale Ethereum

Get started


Docker OpenZeppelin SDK Truffle

Clone App

First, clone the project to your machine.

git clone

npm install

cd client

npm install

Run docker Relay instance

In a new Terminal Window, top of project:

npx gsn-dock-relay-ganache

This runs the docker instance which runs it's own copy of Ganache-cli

Deploy ChatApp

In a new terminal window, top of project:

oz compile

oz create

Select ChatApp

Network development

Select "yes" to run a function. Choose the linkRelayHub() function. You need to enter the address of your relay hub here. This tells your solidity contract where it should find the RelayHub you intend to use. You will find this at the deployment part of the docker instance.

It should be: 0x9C57C0F1965D225951FE1B2618C92Eefd687654F

Fund your App on the RelayHub

Now you need to fund you dApp:

oz send-tx --value 1000000000000000000

Select: ChatApp

Network: development

Select: deposit()

Your dapp should be funded and the relay running.

Run the Client

In a new terminal window:

cd client

npm run start

Your browser should open and take you to the App.

You can’t perform that action at this time.