From 805015184c26d0ee76483dd82f3857bd94494b97 Mon Sep 17 00:00:00 2001 From: Dror Tirosh Date: Thu, 10 Dec 2020 11:55:06 +0200 Subject: [PATCH] formatting changes --- .gitbook/assets/gsn-favicon.png | Bin 0 -> 6239 bytes README.md | 23 +++++++++++++---------- SUMMARY.md | 1 - 3 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 .gitbook/assets/gsn-favicon.png diff --git a/.gitbook/assets/gsn-favicon.png b/.gitbook/assets/gsn-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb8e28d39feb00959d0426311d0c005af82e986 GIT binary patch literal 6239 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 JPDHLkV1i;K?J)oV literal 0 HcmV?d00001 diff --git a/README.md b/README.md index db6ccb2..977c830 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,10 @@ decentralized system that improves dapp usability without sacrificing security. Example use cases for GSN: -1. *Pay gas in any token*: Allow users to pay for gas in any token -1. *Pay gas in fiat*: Allow users to pay for gas in fiat without having to go through KYC -1. *Privacy*: Enabling ETH-less withdrawal of tokens sent to stealth addresses -1. *Onboarding*: Allow dapps to subsidize the onboarding process for new users +1. **Pay gas in any token**: Allow users to pay for gas in any token +2. **Pay gas in fiat**: Allow users to pay for gas in fiat without having to go through KYC +3. **Privacy**: Enabling ETH-less withdrawal of tokens sent to stealth addresses +4. **Onboarding**: Allow dapps to subsidize the onboarding process for new users ## The problem @@ -34,12 +34,13 @@ of dollars in their wallet. *Components*: -* [*Client*: signs & sends meta transaction to relay server](#client) -* [*Relay servers*: one for all and all for one](#relayservers) -* [*Paymaster*: agrees to refund relay server for gas fees](#paymaster) -* [*Trusted Forwarder*: verifies sender signature and nonce](#forwarder) -* [*Recipient contract*: sees original sender](#recipient) -* [*RelayHub*: connecting participants trustlessly](#relayhub) +* [**Client**: signs & sends meta transaction to relay server](#client) +* [**Relay servers**: one for all and all for one](#relayservers) +* [**Paymaster**: agrees to refund relay server for gas fees](#paymaster) +* [**Trusted Forwarder**: verifies sender signature and nonce](#forwarder) +* [**Recipient contract**: sees original sender](#recipient) +* [**RelayHub**: connecting participants trustlessly](#relayhub) + ### Client: signs & sends meta transaction to relay server A meta-transaction is a fancy name for a simple idea: a relay server can send a @@ -48,6 +49,7 @@ Ethereum transaction, which would require ETH for gas, a user signs a message containing information about a transaction they would like to execute and sends it to a relay server. Before the relay server pays for gas it verifies it will get refunded by a Paymaster contract. + ### Relay servers: one for all, all for one The best practice is for every dapp to deploy their own relay servers that will @@ -61,6 +63,7 @@ are willing to serve it in exchange for an extra fee. This creates a "one for all and all for one" effect where taking down the frontend of any dapp is as hard as taking down the entire network. The more dapps participate the more robust the availability guarantee. + ### Paymaster: agrees to refund relay server for gas fees In the GSN, all access control and gas refund logic is implemented inside diff --git a/SUMMARY.md b/SUMMARY.md index 8ed98a8..450c7ad 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -7,7 +7,6 @@ * [Getting Started](javascript-client/getting-started.md) * [Preparing the environment](javascript-client/devops.md) * [Advanced configuration](javascript-client/advanced.md) -* [API Reference](javascript-client/api.md) * [GSN Frequently Asked Questions](javascript-client/gsn-faq.md) * [GSN Helpers](javascript-client/gsn-helpers.md) * [Interacting with RelayHub](javascript-client/interacting-with-relayhub.md)