forked from cerc-io/laconicd-deprecated
docs: vuepress setup and section titles (#311)
* vuepress * docs: vuepress setup and TODOs * doc scripts * update Makefile and gitignore * more docs updates * gitignore * metamask instructions * update image * updates * updates from call * docs: vuepress config and home.vue (#350) * update uncles return (#337) * x/evm: fix EndBlock consensus failure (#334) * add test for sending tx w/ 21000 gas * improve rpc transfer test * use ctx in EndBlock * UpdateAccounts and ClearStateObjects with passed in context * log ethereum address on error Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Federico Kunze <federico.kunze94@gmail.com> * update Ethermint color variables * add header and footer logo * tweak config.js * WIP custom homepage.vue * add layout to docs/README * update color variables * add eth logo black and white * tweak docs/README * update logo and logo-bw svg * bump 1.0.167 * homepage → home * add icon-code, icon-rocket * layout: home, remove configurable frontmatter: label, read, use * clean up config.js * bump 1.0.168 * fix missing comma from resolving conflicts * update sidebar, config nav, path * remove left whitespace on the header and footer logos * clean up home.vue, docs/README * update ethermint forum url in footer.links * comment out custom true to enable searchbar in subpages * remove external link icon for Guides * comments, revert custom true * clean up config.js, add specifications icon Co-authored-by: noot <36753753+noot@users.noreply.github.com> Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Federico Kunze <federico.kunze94@gmail.com> * final touches Co-authored-by: Cyrus Goh <hello@lovincyrus.com> Co-authored-by: noot <36753753+noot@users.noreply.github.com>
This commit is contained in:
co-authored by
Federico Kunze
noot
Cyrus Goh
parent
edf4357176
commit
d4fe9b234c
@@ -0,0 +1,15 @@
|
||||
<!--
|
||||
order: false
|
||||
parent:
|
||||
order: 3
|
||||
-->
|
||||
|
||||
# Basics
|
||||
|
||||
This repository contains reference documentation on the basic concepts of Ethermint.
|
||||
|
||||
1. [Accounts](./accounts.md)
|
||||
2. [Lifecycle of a transaction](./tx-lifecycle.md)
|
||||
3. [Gas and Fees](./gas.md)
|
||||
|
||||
After reading the basics, head on to the [Core Reference](../core/README.md) for more advanced material.
|
||||
@@ -0,0 +1,25 @@
|
||||
<!--
|
||||
order: 1
|
||||
-->
|
||||
|
||||
# Accounts
|
||||
|
||||
This document describes the in-built accounts system of Ethermint. {synopsis}
|
||||
|
||||
## Pre-requisite Readings
|
||||
|
||||
- [Anatomy of an SDK Application](./app-anatomy.md) {prereq}
|
||||
|
||||
## Cosmos SDK Accounts
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## Ethermint Accounts
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## Address formats for clients
|
||||
|
||||
## Next {hide}
|
||||
|
||||
Learn about Ethermint [transactions](./transactions.md) {hide}
|
||||
@@ -0,0 +1,29 @@
|
||||
<!--
|
||||
order: 3
|
||||
-->
|
||||
|
||||
# Gas and Fees
|
||||
|
||||
Learn about the differences between `Gas` and `Fees` in Ethereum and Cosmos. {synopsis}
|
||||
|
||||
## Introduction to `Gas` in the SDK
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## Matching EVM Gas consumption
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## Gas refunds
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## AnteHandler
|
||||
|
||||
The `AnteHandler` is a special `handler` that is run for every transaction during `CheckTx` and `DeliverTx`, before the `handler` of each `message` in the transaction. `AnteHandler`s have a different signature than `handler`s
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
## Next {hide}
|
||||
|
||||
Learn more about the [Lifecycle of a transaction](./tx-lifecycle.md) {hide}
|
||||
@@ -0,0 +1,45 @@
|
||||
<!--
|
||||
order: 2
|
||||
-->
|
||||
|
||||
# Transactions
|
||||
|
||||
## Routing
|
||||
|
||||
Ethermint needs to parse and handle transactions routed for both the EVM and for the Cosmos hub. We
|
||||
attempt to achieve this by mimicking [Geth's](https://github.com/ethereum/go-ethereum) `Transaction`
|
||||
structure and treat it as a unique Cosmos SDK message type. An Ethereum transaction is a single
|
||||
[`sdk.Msg`](https://godoc.org/github.com/cosmos/cosmos-sdk/types#Msg) contained in an
|
||||
[`auth.StdTx`](https://godoc.org/github.com/cosmos/cosmos-sdk/x/auth#StdTx). All relevant Ethereum
|
||||
transaction information is contained in this message. This includes the signature, gas, payload,
|
||||
etc.
|
||||
|
||||
Being that Ethermint implements the Tendermint ABCI application interface, as transactions are
|
||||
consumed, they are passed through a series of handlers. Once such handler, the `AnteHandler`, is
|
||||
responsible for performing preliminary message execution business logic such as fee payment,
|
||||
signature verification, etc. This is particular to Cosmos SDK routed transactions. Ethereum routed
|
||||
transactions will bypass this as the EVM handles the same business logic.
|
||||
|
||||
Ethereum routed transactions coming from a web3 source are expected to be RLP encoded, however all
|
||||
internal interaction between Ethermint and Tendermint will utilize one of the supported encoding
|
||||
formats: Protobuf, Amino or Hybrid of the previous two.
|
||||
|
||||
## Transaction formats
|
||||
|
||||
<!-- TODO: -->
|
||||
|
||||
- Cosmos transactions
|
||||
- Ethereum transaction
|
||||
|
||||
## Signatures
|
||||
|
||||
Ethermint supports [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md)
|
||||
signatures. A `Transaction` is expected to have a single signature for Ethereum routed transactions.
|
||||
However, just as in Cosmos, Ethermint will support multiple signers for non-Ethereum transactions.
|
||||
Signatures over the `Transaction` type are identical to Ethereum and the signatures will not be
|
||||
duplicated in the embedding
|
||||
[`auth.StdTx`](https://godoc.org/github.com/cosmos/cosmos-sdk/x/auth#StdTx).
|
||||
|
||||
## Next {hide}
|
||||
|
||||
Learn about the [encoding](./../core/encoding.md) formats used on Ethermint {hide}
|
||||
Reference in New Issue
Block a user