Skip to content

Commit

Permalink
Merge pull request #29 from lmedury/main
Browse files Browse the repository at this point in the history
Migration of articles from Evmos Docs
  • Loading branch information
danburck authored Nov 10, 2023
2 parents 402ffce + ff06ec8 commit bd1d390
Show file tree
Hide file tree
Showing 83 changed files with 29,743 additions and 13,395 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,6 @@ yarn-debug.log*
yarn-error.log*

# Idea
.idea
.idea

.vercel/
98 changes: 97 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,100 @@
# Evmos Academy

Welcome to the Academy Docs, the official place to dive deeper into the world of Evmos.
Welcome to the Academy Docs, the official place to dive deeper into the world of Evmos.

## How to contribute?

To contribute/update content in the Academy website, we welcome you to create a pull request.

### Steps to create a pull request

You must have git installed and configured on your local computer.

#### Step 1: Fork the repository

![Fork Academy](static/img/AcademyFork.png)

#### Step 2: Clone the repository

SSH:

`git clone [email protected]:<usename>/academy.git`

HTTPS:

`git clone https://github.com/<username>/academy.git`

#### Step 3: Install project dependencies

Please note that the project uses `package-lock.json` lock file, therefore you are expected to install package dependencies only using `npm install`.

`npm install`

#### Step 4: Make your updates

You can contribute new content or fix typos/grammatical errors or update existing content. All of this must be done on your local device.

If you would like to contribute an article, you must first identify the category it belongs to:

- Beginner
- Intermediate
- Advanced

Let us assume the article you are creating belongs to the intermediate category.

**4.1**: Open your favorite choice of editor

**4.2**: Create a folder for your article

You can create a new folder in docs/articles/intermediate

Create a folder with an intuitive name: `<new-article>`

![Create Folder](static/img/AcademyCreateFolder.png)

**4.3**: Create a markdown file: `index.md`

In markdown, you can add text, images, videos and more.

A brief intro to [markdown](https://www.markdownguide.org/getting-started/):

- Single # is used to create a header
- Double ## is used to create a paragraph header
- Text within `` is used for code blocks
- Lists can be added using -

**4.4**: (Optional) Add images:

Upload your image to `static/img` folder.

Images in Markdown can be added this way:

`![<alt-text>](/img/<image-name>)`

#### Step 5: Add changes, commit, and push to remote

For Github to track the changes you make, you must first add the files to the staging area:

If you would like to add all files to staging:

`git add .`

If you would like to add only a specific file:

`git add <filename>`

Commit Changes:

`git commit -m "<commit-message>"`

Push to academy repository:

`git push origin main`

#### Step 6: Create a pull request on Github

Go to the repository you forked in Github and click on Pull Requests -> New Pull Request -> and ensure the following:
`base respository: evmos/academy` and `base:main`
with `head repository` being the forked repository and `compare` with the branch you wish to merge.

!['Create PR'](static/img/create-pr.png)
17 changes: 8 additions & 9 deletions docs/articles/advanced/automated-coin-conversion.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,21 @@ to send ERC-20 tokens cross-chain (via an IBC transfer) in a single step.
To do so, you only need to ensure that the corresponding denomination is passed
as a parameter, when performing an outgoing [transfer via IBC](https://ibc.cosmos.network/main/apps/transfer/messages.html#msgtransfer).


```go
type MsgTransfer struct {
// ...
// the tokens to be transferred
Token types.Coin `protobuf:"bytes,3,opt,name=token,proto3" json:"token"`
// ...
// ...
// the tokens to be transferred
Token types.Coin `protobuf:"bytes,3,opt,name=token,proto3" json:"token"`
// ...
}

type Coin struct {
Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
Amount Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=Int" json:"amount"`
Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
Amount Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=Int" json:"amount"`
}
```

### ERC20 Token Pairs
### ERC20 token pairs

For [ERC-20 tokens that were deployed on the Evmos chain and then registered through governance](./erc20-registration.md) to support cross-chain transfer, you will have to specify the
corresponding IBC denom (e.g. `erc20/0xe46910336479F254723710D57e7b683F3315b22B`)
Expand All @@ -62,7 +61,7 @@ token_pair:
erc20_address: 0xe46910336479F254723710D57e7b683F3315b22B
```

### Cosmos Token Pairs
### Cosmos token pairs

For [Cosmos tokens that were registered through governance](./cosmos-coin-registration.md) to support usage on
the EVM (e.g. OSMO), you can specify the corresponding IBC denom (e.g.
Expand Down
30 changes: 15 additions & 15 deletions docs/articles/advanced/cosmos-coin-registration.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ which introduced the ERC-20 Module on Evmos.

To register a Cosmos Coin, consider the following stages:

## Drafting the Cosmos Coin Proposal
## Drafting the cosmos coin proposal

The following topics must be addressed when drafting a Cosmos Coin Proposal:

1. Provide the profile of the person(s)/entity making the proposal.

Who are you? What is your involvement in Cosmos and/or other blockchain networks?
If you are working with a team,
who are the team members involved and what is their relevant experience?
What is the mission statement of your organization or business?
Do you have a website?
Showcase some work you've done and some proof of who you are.
Who are you? What is your involvement in Cosmos and/or other blockchain networks?
If you are working with a team,
who are the team members involved and what is their relevant experience?
What is the mission statement of your organization or business?
Do you have a website?
Showcase some work you've done and some proof of who you are.

2. Promote understanding of the ERC-20 Module.

Expand All @@ -78,7 +78,7 @@ The following topics must be addressed when drafting a Cosmos Coin Proposal:
Remember to provide links to the relevant [Commonwealth Evmos community](https://commonwealth.im/evmos) discussions
concerning your proposal, as well as the [proposal on testnet](#submit-the-proposal-to-testnet).

## Adding Network to Evmos Chain Registry
## Adding network to Evmos chain registry

All chain registry information can be found [here](https://github.com/evmos/chain-token-registry).
The [Cosmos Chain Registry](https://github.com/cosmos/chain-registry) is used
Expand All @@ -88,11 +88,11 @@ To add chain registry information,
please submit a pull request with the network details.
Pull requests should be merged one business day after governance passes.

## Submitting the Cosmos Coin Proposal
## Submitting the Cosmos coin proposal

After the drafting process, the Cosmos Coin Proposal can be submitted.

### Formatting the Proposal's Text
### Formatting the proposal's text

The ideal format for a proposal is as a Markdown file (`*.md`) in a Github repo or [HackMD](https://hackmd.io/).
Markdown
Expand All @@ -101,7 +101,7 @@ is a simple and accessible format for writing plain text files that is easy to l
See the [Github Markdown Guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)
for details on writing markdown files.

### Submit the Proposal to Testnet
### Submit the proposal to testnet

To [submit the proposal](governance/submit-a-proposal) to testnet
through the command line with [`evmosd`](https://docs.evmos.org/protocol/evmos-cli#using-evmosd),
Expand Down Expand Up @@ -191,7 +191,7 @@ increases the likelihood of engagement
and the possibility that you will be alert to a flaw
before deploying your proposal to mainnet.

## The On-Chain ERC-20 Proposal
## The on-chain ERC-20 proposal

A majority of the voting community
should probably be aware of the proposal
Expand All @@ -201,7 +201,7 @@ you should have reasonable confidence that your proposal will pass
before risking deposit contributions by [submitting the proposal](governance/submit-a-proposal).
Make revisions to your draft proposal after each stage of engagement.

### The Deposit Period
### The deposit period

The deposit period currently lasts 14 days.
If you submitted your transaction with the minimum deposit (64 EVMOS),
Expand All @@ -226,7 +226,7 @@ Having your proposal in the deposit period is a good time
to engage the Evmos community to prepare validators to vote
and EVMOS-holders that are staking.

### The Voting Period
### The voting period

At this point you'll want to track
which validator has voted and which has not.
Expand All @@ -249,4 +249,4 @@ and what you say is up to you -
remember that no validator is obligated to vote,
and that operators are likely occupied
by competing demands for their attention.
Take care not to stress any potential relationship with validator operators.
Take care not to stress any potential relationship with validator operators.
18 changes: 9 additions & 9 deletions docs/articles/advanced/erc20-registration.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ which introduced the ERC-20 Module on Evmos.

To register an ERC-20, consider the following stages:

## Drafting the ERC-20 Proposal
## Drafting the ERC-20 proposal

The following topics must be addressed when drafting an ERC-20 Proposal:

Expand Down Expand Up @@ -76,11 +76,11 @@ It's also a good idea to link the [ERC-20 Module documentation](https://docs.evm
Remember to provide links to the relevant [Commonwealth Evmos community](https://commonwealth.im/evmos) discussions
concerning your proposal, as well as the [proposal on testnet](#submit-the-proposal-to-testnet).

## Submitting the ERC-20 Proposal
## Submitting the ERC-20 proposal

After the drafting process, the ERC-20 Proposal can be submitted.

### Formatting the Proposal's Text
### Formatting the proposal's text

The ideal format for a proposal is as a Markdown file (ie.
`.md`) in a Github repo or [HackMd](https://hackmd.io/).
Expand All @@ -93,7 +93,7 @@ learn.
See the [Github Markdown Guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)
for details on writing markdown files.

### Submit the Proposal to Testnet
### Submit the proposal to testnet

To [submit the proposal](governance/submit-a-proposal) to testnet through the command line
with [`evmosd`](https://docs.evmos.org/protocol/evmos-cli#using-evmosd), use the following command with `register-erc20`:
Expand Down Expand Up @@ -131,7 +131,7 @@ and to signal that your proposal is about to go live on the mainnet.
Submitting your proposal to the testnet increases the likelihood of engagement
and the possibility that you will be alerted to a flaw before deploying your proposal to mainnet.

## Register Token and Network to Chain-Token-Registry repo
## Register token and network to chain-token-registry repo

Before proceeding to an On-Chain proposal,
it is crucial to list the token pair and network to our chain and token registry,
Expand All @@ -145,15 +145,15 @@ If there are a set of endpoints or preferred providers, please do suggest it in
Please consult our chain registry schema for more details.
Once the governance proposal passes, the pull request should be merged in around one business day.

## The On-Chain ERC-20 Proposal
## The on-chain ERC-20 proposal

A majority of the voting community should probably be aware of the proposal
and have considered it before the proposal goes live on-chain.
If you're taking a conservative approach, you should have reasonable confidence
that your proposal will pass before risking deposit contributions by [submitting the proposal](governance/submit-a-proposal).
Make revisions to your draft proposal after each stage of engagement.

### The Deposit Period
### The deposit period

The deposit period currently lasts 14 days.
If you submitted your transaction with the minimum deposit (64 EVMOS),
Expand All @@ -174,7 +174,7 @@ A large cross-section of the blockchain/cryptocurrency community exists on Twitt
Having your proposal in the deposit period is a good time to engage the Evmos community to prepare validators to vote
and EVMOS-holders that are staking.

### The Voting Period
### The voting period

At this point you'll want to track which validator has voted and which has not.
You'll want to re-engage directly with top stake-holders, ie.
Expand All @@ -191,4 +191,4 @@ Validator operators tend to need multiple reminders to vote.
How you choose to contact validator operators, how often, and what you say is up to you--
remember that no validator is obligated to vote,
and that operators are likely occupied by competing demands for their attention.
Take care not to stress any potential relationship with validator operators.
Take care not to stress any potential relationship with validator operators.
2 changes: 1 addition & 1 deletion docs/articles/advanced/evm-extensions-stk-distr.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Additionally, you can check the current delegations using the [Swagger API page]

Proceed similarly with the `withdrawRewards` function to get your staking rewards.

## Other Learning Resources
## Other learning resources

- [EVM Extensions docs](https://docs.evmos.org/develop/smart-contracts/evm-extensions)
- [Diving into EVM Extensions Workshop (DoraHacks Hackathon)](https://www.youtube.com/live/pJhOfZ0ScAE?feature=share)
12 changes: 9 additions & 3 deletions docs/articles/advanced/geth-js-console.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@ sidebar_position: 5

Use this guide to learn how to set up and use the Geth JS console with an Evmos node.

Go-ethereum responds to instructions encoded as JSON objects as defined in the [JSON-RPC-API](https://geth.ethereum.org/docs/rpc/server). To perform and test these instructions, developers can use tools like curl. However, this is a low level and rather error-prone way to interact with the node. Most developers prefer to use convenient libraries that abstract away some of the more tedious and awkward tasks such as converting values from hexadecimal strings into numbers, or converting between denominations of ether (Wei, Gwei, etc). One such library is Web3.js. The purpose of Geth’s Javascript console is to provide a built-in environment to use a subset of the Web3.js libraries to interact with a Geth node. You can use this powerful tool to interact with an Evmos node too!

## Prerequisite Readings
Go-ethereum responds to instructions encoded as JSON objects as defined in the [JSON-RPC-API](https://geth.ethereum.org/docs/rpc/server).
To perform and test these instructions, developers can use tools like curl.
However, this is a low level and rather error-prone way to interact with the node.
Most developers prefer to use convenient libraries that abstract away some of the more tedious and awkward tasks such as converting values from hexadecimal strings into numbers, or converting between denominations of ether (Wei, Gwei, etc).
One such library is Web3.js.
The purpose of Geth’s Javascript console is to provide a built-in environment to use a subset of the Web3.js libraries to interact with a Geth node.
You can use this powerful tool to interact with an Evmos node too!

## Prerequisite readings

- [Go-ethereum CLI](https://geth.ethereum.org/docs/interface/javascript-console)
- [Evmos (local) node](https://docs.evmos.org/protocol/evmos-cli/single-node/)
Expand Down
Loading

0 comments on commit bd1d390

Please sign in to comment.