diff --git a/docs/02-developers/06-integrate/01-rif-relay/architecture.md b/docs/02-developers/06-integrate/01-rif-relay/architecture.md index 7db7557d..ba918f55 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/architecture.md +++ b/docs/02-developers/06-integrate/01-rif-relay/architecture.md @@ -2,10 +2,11 @@ sidebar_label: Architecture sidebar_position: 980 title: RIF Relay - Architecture +description: RIF Relay Architeture. tags: [rif, envelope, relay, integrate] -description: RIF Relay Architeture --- + The RIF Relay system is designed to achieve transaction sponsorship at a low cost. The cost of the relay service provided by the “sponsors” is agreed upon among the parties off-chain. The low cost of transactions on Rootstock (RSK) contributes to keeping overall service costs low as well. The RIF Relay system is made up of various components, some of which are essential and others which are auxiliary. diff --git a/docs/02-developers/06-integrate/01-rif-relay/contracts.md b/docs/02-developers/06-integrate/01-rif-relay/contracts.md index 2cfb4ad5..107054d7 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/contracts.md +++ b/docs/02-developers/06-integrate/01-rif-relay/contracts.md @@ -2,10 +2,11 @@ sidebar_label: Contracts sidebar_position: 700 title: RIF Relay - Contracts +description: RIF Relay Contracts. tags: [rif, envelope, relay, integrate] -description: RIF Relay Contracts --- + ## Mainnet ### Version 1 diff --git a/docs/02-developers/06-integrate/01-rif-relay/deployment.md b/docs/02-developers/06-integrate/01-rif-relay/deployment.md index ff89784b..5c599147 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/deployment.md +++ b/docs/02-developers/06-integrate/01-rif-relay/deployment.md @@ -2,10 +2,11 @@ sidebar_label: RIF Relay Deployment sidebar_position: 500 title: RIF Relay Deployment +description: RIF Relay deployment process. tags: [rif, envelope, relay, integration guide] -description: RIF Relay deployment process --- + ## Set Up RIF Relay Contracts and Server ### Deploy Contracts diff --git a/docs/02-developers/06-integrate/01-rif-relay/develop.md b/docs/02-developers/06-integrate/01-rif-relay/develop.md index 8033e65d..cec4b06c 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/develop.md +++ b/docs/02-developers/06-integrate/01-rif-relay/develop.md @@ -2,10 +2,11 @@ sidebar_label: Develop sidebar_position: 600 title: RIF Relay Develop +description: RIF Relay deployment process. tags: [rif, envelope, relay, user, guide] -description: RIF Relay deployment process --- + ## Initializing the project To use RIF Relay, follow these steps to build the project. diff --git a/docs/02-developers/06-integrate/01-rif-relay/gas-costs.md b/docs/02-developers/06-integrate/01-rif-relay/gas-costs.md index 7b37fb83..f146f194 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/gas-costs.md +++ b/docs/02-developers/06-integrate/01-rif-relay/gas-costs.md @@ -2,10 +2,11 @@ sidebar_label: Gas Costs sidebar_position: 950 title: RIF Relay - Gas Costs +description: RIF Relay Gas Costs. tags: [rif, envelope, relay, integrate] -description: RIF Relay Gas Costs --- + The overhead gas cost is the extra amount of gas required to process the relay call requested by the user. Let's call **X** the gas consumed by the destination contract method call, and **Y** the total gas consumed by the relay call, then the relay call cost (i.e. overhead gas cost) is: **Z = Y - X**. ## SmartWallet templates diff --git a/docs/02-developers/06-integrate/01-rif-relay/installation-requirements.md b/docs/02-developers/06-integrate/01-rif-relay/installation-requirements.md index 73a7836e..27ed26cc 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/installation-requirements.md +++ b/docs/02-developers/06-integrate/01-rif-relay/installation-requirements.md @@ -2,10 +2,11 @@ sidebar_label: Setup sidebar_position: 300 title: RIF Relay Installation Requirements +description: Requirements for installing RIF Relay. tags: [rif, envelope, relay, user, guide] -description: Requirements for installing RIF Relay --- + To set up the RIF Relay system running locally there are some tools that are required. All of these tools are open source and have their own support page. The functionality of RIF Relay does not depend on these technologies and could be updated or replaced, if necessary. ## Hardware Requirements diff --git a/docs/02-developers/06-integrate/01-rif-relay/integrate.md b/docs/02-developers/06-integrate/01-rif-relay/integrate.md index 51bec9da..f651264e 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/integrate.md +++ b/docs/02-developers/06-integrate/01-rif-relay/integrate.md @@ -2,10 +2,11 @@ sidebar_label: Integrations sidebar_position: 200 title: RIF Relay Integration +description: Integrating RIF Relay in a dApp. tags: [rif, envelope, relay, integration guide] -description: Integrating RIF Relay in a dApp --- + This guide goes over the exposed RIF Relay methods that dApps and wallets can consume to provide relaying as a service, with the purpose of allowing users to pay transaction fees with tokens in a particular system. ## Introduction diff --git a/docs/02-developers/06-integrate/01-rif-relay/overview.md b/docs/02-developers/06-integrate/01-rif-relay/overview.md index 1057dbe3..ee04133a 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/overview.md +++ b/docs/02-developers/06-integrate/01-rif-relay/overview.md @@ -2,10 +2,15 @@ sidebar_label: Overview sidebar_position: 100 title: RIF Relay - Overview +description: RIF Relay Overview. tags: [rif, envelope, relay, integrate, integration guide] -description: RIF Relay Overview --- +:::info[Note] +If you wish to suggest changes on this document, please open a PR on the [Rif Relay Repository](https://github.com/rsksmart/rif-relay.git) +::: + +# RIF Relay Most blockchains have native cryptocurrency to pay for transaction fees and gas consumption; this simple design has many benefits. First, to bootstrap an economy, the native cryptocurrency model creates an initial demand for it. Second, it simplifies the interaction between users and miners because it forces them to use the same means of payment. Third, it reduces the complexity of the consensus rules. Finally, it provides Denial of Service (DoS) protection to the network as full nodes can pay what the miners expect to include a received transaction. This way nodes can decide to propagate a transaction or not, preventing the free consumption of network bandwidth, and stop spam transactions. Cryptocurrencies tend to be associated with volatility and to counter measure this fact, Stablecoins were introduced. Stablecoins bridge the worlds of cryptocurrency and everyday fiat currency because their prices are pegged to a reserve asset like the U.S. dollar or gold. @@ -15,3 +20,23 @@ But with the advent of Decentralized Finance (DeFi), several stable coins have b With this in mind, the main goal of the RIF Relay Project is to **provide the Rootstock (RSK) ecosystem with the means to allow blockchain applications and end-users (wallet-apps) to transact without needing RBTC**. The system should allow Rootstock (RSK) users to pay transaction fees with methods of payment (i.e., tokens) other than RBTC while maintaining their accounts as transaction senders. RIF Relay takes its inspiration from the [Gas Station Network (GSN) project](https://github.com/opengsn/gsn). GSN is a decentralized system that improves dApp usability without sacrificing security. In a nutshell, GSN abstracts away gas (used to pay transaction fees) to minimize onboarding and UX friction for dApps. With GSN, "gasless clients" can interact with smart contracts paying for gas with tokens instead of native-currency. + + +## Modules + +RIF Relay is built in modules, the entire system is made up by 3 modules. + +1. [RIF Relay Contracts](https://github.com/rsksmart/rif-relay-contracts) contains all the contracts used by the RIF Relay System. +2. [RIF Relay Client](https://github.com/rsksmart/rif-relay-client) contains a library to interact with the relay server. +3. [RIF Relay Server](https://github.com/rsksmart/rif-relay-server) has all the relay server code. You can run the server directly from there. + +Each module has instructions for development and usage. + +[Deprecated Docs](docs/README.md) + + +## Contribution Guidelines +* Please refer to the Rootstock Contribution Guidelines for more information on how to contribute to this project. + +## License: +MIT License - Copyright (c) 2023 Rootstock \ No newline at end of file diff --git a/docs/02-developers/06-integrate/01-rif-relay/sample-dapp.md b/docs/02-developers/06-integrate/01-rif-relay/sample-dapp.md index 7a2f10b9..4bf9afbf 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/sample-dapp.md +++ b/docs/02-developers/06-integrate/01-rif-relay/sample-dapp.md @@ -2,10 +2,11 @@ sidebar_label: RIF Relay Sample dApp sidebar_position: 400 title: How to use the RIF Relay Sample dApp SDK +description: RIF Relay Sample dApp SDK Starter kit. tags: [rif, envelope, relay, integration guide] -description: RIF Relay Sample dApp SDK Starter kit --- + ## Getting Started This guide helps to quickly get started with setting up your environment to use RIF Relay and also use the sample dApp to test relay services. diff --git a/docs/02-developers/06-integrate/01-rif-relay/smart-wallets.md b/docs/02-developers/06-integrate/01-rif-relay/smart-wallets.md index e02316b2..e507561a 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/smart-wallets.md +++ b/docs/02-developers/06-integrate/01-rif-relay/smart-wallets.md @@ -1,11 +1,12 @@ --- sidebar_label: Smart Wallets -sidebar_position: 700 +sidebar_position: 800 title: RIF Relay Smart Wallets +description: RIF Relay Smart Wallets. tags: [rif, envelope, relay, user, guide] -description: RIF Relay Smart Wallet --- + This guide is intended to explain more about the interaction and deployment of the Smart Wallets. We will be using additional testing contracts that were included in the project, like the `UtilToken(ERC20)`. All the utils scripts are executed from the account[0] from the regtest network. ## Prerequisites diff --git a/docs/02-developers/06-integrate/01-rif-relay/versions.md b/docs/02-developers/06-integrate/01-rif-relay/versions.md index cceccc30..67c2baaa 100644 --- a/docs/02-developers/06-integrate/01-rif-relay/versions.md +++ b/docs/02-developers/06-integrate/01-rif-relay/versions.md @@ -2,8 +2,8 @@ sidebar_label: Versions sidebar_position: 900 title: RIF Relay Versions +description: RIF Relay Versions. tags: [rif, envelope, rif relay, integration guide] -description: "RIF Relay Versions" ---