Skip to content

Commit

Permalink
chore(revenue): remove revenue module from doc (#154)
Browse files Browse the repository at this point in the history
Co-authored-by: MalteHerrmann <[email protected]>
  • Loading branch information
0xstepit and MalteHerrmann authored May 31, 2024
1 parent c534855 commit a15fc8b
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 522 deletions.
5 changes: 0 additions & 5 deletions docs/develop/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ dApp from another chain, you'll want to check out the sections on
2. Integrating [wallets](./develop/wallet-integration) (e.g. Keplr and MetaMask) into your Frontend
4. Available developer [Tools](./tools/index.md)


Once tested on [Testnet](./../develop/testnet) and deployed on [Mainnet](./../develop/mainnet), you can
start [earning an income](./../develop/mainnet#revenue) on transaction fees from interacting with your dApp or
[register your tokens](./../develop/mainnet#token-registration) for cross-chain use.

## Why develop dApps on Evmos?

The Evmos Core Development Team is on a mission to provide the foundational tools necessary for building the cross-chain
Expand Down
14 changes: 0 additions & 14 deletions docs/develop/mainnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,20 +67,6 @@ Evmos allows for ERC-20 tokens to be used cross-chain. Once some of your tokens
pair through governance, which will allow users to send your tokens across chains. Head over to our Academy to learn how
to [register your ERC-20 token](https://academy.evmos.org/articles/advanced/erc20-registration).

## Revenue

On Evmos, you can generate revenue, every time a user interacts with your dApp,
gaining you a steady income.
Developers can register their smart contracts
and every time someone interacts with a registered smart contract,
the contract deployer
or their assigned withdrawal account receives a part of the transaction fees.

To learn about how to [register your smart contracts](https://academy.evmos.org/articles/advanced/incentives-registration),
head over to our Academy.
If you are curious on how this is implemented on the protocol,
check out the [revenue module specification](./../protocol/modules/revenue).

## Community

Make yourself heard in the Evmos community and explain what value your dApp provides.
Expand Down
5 changes: 1 addition & 4 deletions docs/develop/smart-contracts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,4 @@ to prove to users that they are interacting with the correct smart contract.

The core protocol team is continuously building features
that enhance the experience of smart contract developers on Evmos.
Head over to our Mainnet sections to learn more about these functionalities,
e.g. how to earn [revenue](./mainnet#revenue) with your smart contract
or [register your ERC-20](./mainnet#token-registration) token
to be used cross-chain.
Head over to our Mainnet sections to learn more about these functionalities.
28 changes: 6 additions & 22 deletions docs/protocol/concepts/gas-and-fees.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,9 @@ how to provide fees for transactions
and how the Ethereum-type fee calculation uses a fee market (EIP1559)
for prioritizing transactions.

Also, note the fees that are paid for interacting with smart contracts on Evmos
can earn smart contract deployers a revenue. For information on this,
head to [develop](./../../develop/mainnet#revenue).

## Prerequisite Readings

- [Cosmos SDK Gas](https://docs.cosmos.network/main/basics/gas-fees.html)
- [Cosmos SDK Gas](https://docs.cosmos.network/main/learn/beginner/gas-fees.html)
- [Ethereum Gas](https://ethereum.org/en/developers/docs/gas/)

## Basics
Expand Down Expand Up @@ -57,8 +53,8 @@ The idea is that it costs something to get somewhere.

More on Gas:

- [Cosmos Gas Fees](https://docs.cosmos.network/main/basics/gas-fees)
- [Cosmos Tx Lifecycle](https://docs.cosmos.network/main/basics/tx-lifecycle.html)
- [Cosmos Gas Fees](https://docs.cosmos.network/main/learn/beginner/gas-fees)
- [Cosmos Tx Lifecycle](https://docs.cosmos.network/main/learn/beginner/tx-lifecycle.html)
- [Ethereum Gas](https://ethereum.org/en/developers/docs/gas/)

### How is Gas Calculated?
Expand Down Expand Up @@ -95,7 +91,7 @@ depending on network traffic.

More on Gas vs. Fees:

- [Cosmos Gas and Fees](https://docs.cosmos.network/main/basics/gas-fees)
- [Cosmos Gas and Fees](https://docs.cosmos.network/main/learn/beginner/gas-fees)
- [Ethereum Gas and Fees](https://ethereum.org/en/developers/docs/gas/)

### How are Fees Handled on Cosmos?
Expand Down Expand Up @@ -174,12 +170,6 @@ delegators. A few key distinctions are as follows:
Evmos refunds a fraction (at least 50% by default) of the unused gas for EVM transactions to approximate the current
behavior on Ethereum. [Why not always 100%?](https://github.com/evmos/ethermint/issues/1085)

3. Revenue Module

Evmos developed the Revenue Module as a way to reward developers for creating useful dApps—any contract that is
registered with Evmos’ Revenue Module rewards a fraction of the transaction fee (currently 95%) from each transaction
that interacts with the contract to the contract developer. Validators and delegators earn the remaining portion.

### Detailed Timeline

1. Nodes execute the previous block and run the `EndBlock` hook
Expand Down Expand Up @@ -208,8 +198,6 @@ delegators. A few key distinctions are as follows:
* For Ethereum Transactions, nodes:
1. Execute the transaction and update the state
2. Calculate the gas used and compare it to the gas supplied, then refund a designated portion of the surplus
3. Send a fraction of the fees used as revenue to contract developers as part of the Revenue Module, if the
transaction interacted with a registered smart contract
5. Nodes run `EndBlock` for this block and store the block’s `GasWanted`

## Detailed Mechanics
Expand All @@ -227,7 +215,7 @@ Since gas is priced per-byte, the same interaction is more gas-intensive with la
(unlike Ethereum's `uint256` values, Cosmos SDK numericals are represented using [Big.Int](https://pkg.go.dev/math/big#Int)
types, which are dynamically sized).

More information regarding gas as part of the Cosmos SDK can be found [here](https://docs.cosmos.network/main/basics/gas-fees.html).
More information regarding gas as part of the Cosmos SDK can be found [here](https://docs.cosmos.network/main/learn/beginner/gas-fees.html).

### Matching EVM Gas consumption

Expand All @@ -250,7 +238,7 @@ To ignore the SDK gas consumption, we reset the transaction `GasMeter` count to

### `AnteHandler`

The Cosmos SDK [`AnteHandler`](https://docs.cosmos.network/main/basics/gas-fees.html#antehandler)
The Cosmos SDK [`AnteHandler`](https://docs.cosmos.network/main/learn/beginner/gas-fees.html#antehandler)
performs basic checks prior to transaction execution. These checks are usually signature
verification, transaction field validation, transaction fees, etc.

Expand Down Expand Up @@ -306,10 +294,6 @@ To cover transaction fees using a tip, this user can sign a transaction with a t
to a fee relayer. The fee relayer will then cover the fee in the native currency (Evmos in this case), and receive the
tip in payment, behaving as an intermediary exchange.

More on Cosmos Tips:

- [Cosmos Tips Docs](https://docs.cosmos.network/main/core/tips)

## Dealing with gas and fees with the Evmos CLI

When broadcasting a transaction using the Evmos CLI client, users should keep into consideration the options available.
Expand Down
8 changes: 4 additions & 4 deletions docs/protocol/evmos-cli/proposal-draft.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ To create a draft proposal using the `evmosd tx gov draft-proposal` command, fol
Use the arrow keys to navigate: ↓ ↑ → ←
? Select proposal message type::
↑ /evmos.erc20.v1.MsgConvertERC20
/evmos.erc20.v1.MsgUpdateParams
/evmos.inflation.v1.MsgUpdateParams
/evmos.revenue.v1.MsgCancelRevenue
↓ /evmos.revenue.v1.MsgRegisterRevenue
/evmos.erc20.v1.MsgUpdateParams
/evmos.vesting.v2.MsgFundVestingAccount
/evmos.vesting.v2.MsgUpdateVestingFunder
↓ /evmos.inflation.v1.MsgUpdateParams
```
3. Follow the on-screen instructions to complete the process.
Expand Down
12 changes: 6 additions & 6 deletions docs/protocol/modules/evm.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ which are further increasing the adoption rate of EVM compatible technology.

The growth of EVM-based chains (e.g.
Ethereum), however, has uncovered several scalability challenges
that are often referred to as the [trilemma of decentralization, security, and scalability](https://vitalik.ca/general/2021/04/07/sharding.html).
that are often referred to as the [trilemma of decentralization, security, and scalability](https://vitalik.eth.limo/general/2021/04/07/sharding.html).
Developers are frustrated by high gas fees, slow transaction speed & throughput,
and chain-specific governance that can only undergo slow change
because of its wide range of deployed applications.
A solution is required that eliminates these concerns for developers,
who build applications within a familiar EVM environment.

The `x/evm` module provides this EVM familiarity on a scalable, high-throughput Proof-of-Stake blockchain.
It is built as a [Cosmos SDK module](https://docs.cosmos.network/main/building-modules/intro.html)
It is built as a [Cosmos SDK module](https://docs.cosmos.network/main/build/building-modules/intro)
which allows for the deployment of smart contracts,
interaction with the EVM state machine (state transitions),
and the use of EVM tooling.
Expand All @@ -47,7 +47,7 @@ The `x/evm` module is part of the [ethermint library](https://pkg.go.dev/github.
## Module Architecture

> **NOTE:**: If you're not familiar with the overall module structure from
the SDK modules, please check this [document](https://docs.cosmos.network/main/building-modules/structure.html) as
the SDK modules, please check this [document](https://docs.cosmos.network/main/build/building-modules/structure) as
prerequisite reading.

```shell
Expand Down Expand Up @@ -615,7 +615,7 @@ to understand the State Transitions in detail.
4. The `Tx` is **signed** using the key associated with the sender address
and the latest ethereum hard fork (`London`, `Berlin`, etc) from the `ChainConfig`
5. The `Tx` is **built** from the msg fields using the Cosmos Config builder
6. The `Tx` is **broadcast** in [sync mode](https://docs.cosmos.network/main/run-node/txs.html#broadcasting-a-transaction)
6. The `Tx` is **broadcast** in [sync mode](https://docs.cosmos.network/main/user/run-node/txs#broadcasting-a-transaction)
to ensure to wait for
a [`CheckTx`](https://docs.tendermint.com/main/introduction/what-is-tendermint.html#intro-to-abci) execution response.
Transactions are validated by the application using `CheckTx()`,
Expand All @@ -629,7 +629,7 @@ to understand the State Transitions in detail.
Once a block (containing the `Tx`) has been committed during consensus,
it is applied to the application in a series of ABCI msgs server-side.

Each `Tx` is handled by the application by calling [`RunTx`](https://docs.cosmos.network/main/core/baseapp.html#runtx).
Each `Tx` is handled by the application by calling [`RunTx`](https://docs.cosmos.network/main/learn/advanced/baseapp).
After a stateless validation on each `sdk.Msg` in the `Tx`,
the `AnteHandler` confirms whether the `Tx` is an Ethereum or SDK transaction.
As an Ethereum transaction it's containing msgs are then handled
Expand Down Expand Up @@ -678,7 +678,7 @@ The `antehandler` runs through a series of options and their `AnteHandle` functi

The options `authante.NewMempoolFeeDecorator()`, `authante.NewTxTimeoutHeightDecorator()`
and `authante.NewValidateMemoDecorator(ak)` are the same as for a Cosmos `Tx`.
Click [here](https://docs.cosmos.network/main/basics/gas-fees.html#antehandler) for more on the `anteHandler`.
Click [here](https://docs.cosmos.network/main/learn/beginner/gas-fees.html#antehandler) for more on the `anteHandler`.

#### EVM module

Expand Down
1 change: 0 additions & 1 deletion docs/protocol/modules/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Here is a list of all production-grade modules that can be used on the Evmos blo
- [evm](evm.md) - Smart Contract deployment and execution on Cosmos
- [feemarket](feemarket.md) - Fee market implementation based on the EIP1559 specification.
- [inflation](inflation.md) - Mint tokens and allocate them to staking rewards and the community pool.
- [revenue](revenue.md) - Split EVM transaction fees between block proposer and smart contract developers.
- [vesting](vesting.md) - Vesting accounts with lockup and clawback capabilities.

## Cosmos SDK
Expand Down
Loading

0 comments on commit a15fc8b

Please sign in to comment.