{"id":29089649,"url":"https://github.com/openzeppelin/gsn-site","last_synced_at":"2025-06-28T04:04:22.600Z","repository":{"id":40939517,"uuid":"194948051","full_name":"OpenZeppelin/gsn-site","owner":"OpenZeppelin","description":"The Ethereum Gas Station Network Alliance Landing Page and Tools","archived":false,"fork":false,"pushed_at":"2023-04-29T21:31:27.000Z","size":3547,"stargazers_count":11,"open_issues_count":16,"forks_count":15,"subscribers_count":15,"default_branch":"master","last_synced_at":"2023-08-13T00:11:01.948Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenZeppelin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-02T23:30:32.000Z","updated_at":"2023-08-13T00:11:01.949Z","dependencies_parsed_at":"2023-02-02T01:15:58.734Z","dependency_job_id":null,"html_url":"https://github.com/OpenZeppelin/gsn-site","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/OpenZeppelin/gsn-site","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fgsn-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fgsn-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fgsn-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fgsn-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/gsn-site/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fgsn-site/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262371684,"owners_count":23300595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-28T04:04:18.918Z","updated_at":"2025-06-28T04:04:22.564Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"JavaScript","readme":":warning: This project is in **maintenance mode**. All development on the GSN has been moved to the [OpenGSN](https://github.com/opengsn) organization. Please refer to the [OpenGSN site implementation](https://github.com/opengsn/gsn-site). We will only be releasing fixes for high severity issues for this project until July 2020. Read [here](https://forum.openzeppelin.com/t/doubling-down-in-security/2712) for more info.\n\n\n# Gas Station Network Site\n\nThe official front end for the [Gas Station Network](https://gasstation.network).  The staging site is [here](https://gsn-staging.netlify.com).\n\n## GSN Test Environment\n\nThe Gas Station Network is currently deployed to Rinkeby.  The addresses are:\n\n| Role | Address | Description |\n| ---- | ------- | ----------- |\n| RelayHub | [0xd216153c06e857cd7f72665e0af1d7d82172f494](https://gsn-staging.netlify.com/relay-hubs/0x4FC8ac0210527bCA8c5C66a595Da78B428862276) | Main RelayHub contract |\n| SampleRecipient | [0x9C7bd19648BF9538eE9986b0E2BF18daaA80601c](https://gsn-staging.netlify.com/recipients/0x9C7bd19648BF9538eE9986b0E2BF18daaA80601c) | Example contract that handles meta tx |\n| Relay | [0xeE90C66Ed6Aaafbf2DBcd34c84c395905B5C8f20](https://gsn-staging.netlify.com/relay-hubs/0x4FC8ac0210527bCA8c5C66a595Da78B428862276/relay?relayUrl=https://rinkeby-01.gsn.openzeppelin.org) | Relay deployed to https://rinkeby-01.gsn.openzeppelin.org |\n\n# Local Setup\n\nThe GSN site can be run locally using just a few commands:\n\n```\n# install dependencies\nyarn\n```\n\n```\n# Setup environment variables.  See the file for more info.\ncp .envrc.example .envrc\n# allow environment variables\ndirenv allow\n```\n\n```\n# Start up the local server\nyarn dev\n```\n\nNow navigate to [localhost:3000](http://localhost:3000) in your browser.  You'll be able to build against test nets such as Rinkeby.\n\nFor full control over the smart contracts you'll want to setup the Gas Station Network locally.\n\n## Gas Station Network Local Test Environment\n\nSetup a local clone of [tabookey-gasless](https://github.com/tabookey/tabookey-gasless).  \n\nOnce the dependencies are set up you can run:\n\n```\n./restart-relay.sh\n```\n\nThis will start up a local ganache, deploy the contracts, create a sample recipient, and create a relay.  You may need to run this command a couple of times; it was a little flakey at the time of this writing.\n\nTo mint Ether to yourself on the ganache instance, use the command:\n\n```\n./scripts/ganache-fund.js 10 0x1234...\n```\n\nReplace `0x1234...` with your address.\n\nIn your browser simply use the network `Localhost 8545`.  You may need to reset the account.\n\nYou'll find Tabookey has cleverly deployed consistent addresses.\n\n| Role | Address | Description |\n| ---- | ------- | ----------- |\n| RelayHub | [0xCfEB869F69431e42cdB54A4F4f105C19C080A601](http://localhost:3000/relay-hubs/0xCfEB869F69431e42cdB54A4F4f105C19C080A601) | Main RelayHub contract |\n| SampleRecipient | [0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B](http://localhost:3000/recipients/0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B) | Example contract that handles meta tx |\n| Relay | [0xeE90C66Ed6Aaafbf2DBcd34c84c395905B5C8f20](http://localhost:3000/relay-hubs/0xCfEB869F69431e42cdB54A4F4f105C19C080A601/relay?relayAddress=0xeE90C66Ed6Aaafbf2DBcd34c84c395905B5C8f20) | Relay deployed to http://localhost:8090 |\n\n# Production Deployment\n\nThe app can currently be deployed to Netlify.  Url re-write rules are required so that static pages can serve dynamic urls.  The url re-write configuration lives in `netlify.toml`.\n\nTo build the production version of the site run:\n\n```\n$ yarn dist\n```\n\n# Configuring the built-in RelayHub addresses\n\nThe directory `networks` contains a configuration file for each network the contracts are deployed to.  Network files are named according to the network id: contracts for mainnet live in `networks/1.json`, contracts for rinkeby live in `networks/4.json` etc.\n\nNetwork files are JSON formatted and the expected structure is an array of objects.  For example:\n\n```\n[\n  {\n    \"contractName\": \"RelayHub\",\n    \"address\": \"0x4FC8ac0210527bCA8c5C66a595Da78B428862276\"\n  }\n]\n```\n\nYou can add and edit the network config files to add new RelayHubs.  Only one RelayHub per network is supported by the application.\n\n##### Made with :heart: by [Delta Camp](https://delta.camp)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fgsn-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenzeppelin%2Fgsn-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fgsn-site/lists"}