Giter Site home page Giter Site logo

cedarmist / opengsn-workshop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opengsn/workshop

0.0 0.0 0.0 202 KB

About A sample project to how how to add GSN to a simple Web3 project. See the PRs to see the needed changes. NOTE: the video was created for a previous version

Home Page: https://youtu.be/tb4hkbofmou

License: GNU General Public License v3.0

Shell 4.12% JavaScript 66.42% HTML 12.35% Solidity 17.11%

opengsn-workshop's Introduction

GSN v3 integration workshop

(Base branch - before adding any GSN support)

This sample dapp emits an event with the last account that clicked on the "capture the flag" button. We will integrate this dapp to work gaslessly with GSN v3. This will allow an externally owned account without ETH to capture the flag by signing a meta transaction.

To run the sample:

  1. first clone and yarn install
  2. run yarn ganache
  3. Make sure you have Metamask installed, and pointing to "localhost
  4. run truffle init and set the network in truffle-config.js
  5. In a different window, run yarn start, to deploy the contract, and start the UI
  6. Start a browser pointing to "http://localhost:3000"
  7. Click the "Capture the Flag" button. Notice that you do need an account with eth for that..

You can see the integrations as GitHub pull requests:

  1. Basic: Minimum viable GSN integration
  2. Advanced: Write your own custom Paymaster

Note: on testnet we maintain a public service "pay for everything" paymaster so writing your own is not strictly required. On mainnet, you need a custom paymaster, such as a token paymaster that allow users to pay for gas in tokens, and exchanging them for ETH ETH on Uniswap. Dapps will want to develop their own custom paymaster in order, for example to subsidize gas fees for new users during the onboarding process.

Further reading

GSNv3 integration tutorial: https://docs.opengsn.org/tutorials

Documentation explaining how everything works: https://docs.opengsn.org/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.