Skip to content

Commit

Permalink
feat(devx) link mdx files to json
Browse files Browse the repository at this point in the history
  • Loading branch information
Ginowine committed Oct 25, 2024
1 parent e315504 commit 788253e
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
5 changes: 5 additions & 0 deletions docs/content/developer/evm-to-move/creating-nft.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Creating an ERC-721-like NFT
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/developer/evm-to-move/creating-nft.json';

## How this works in Solidity / EVM

NFTs (Non-Fungible-Tokens) are a popular building block commonly used in the EVM ecosystem. The most widely used standard on EVM-based chains is the ERC-721 standard, which allows a smart contract to mint and transfer NFTs with some basic metadata. These standard NFTs can be used on many different platforms in a common way to be viewed, traded, and used in other ways.
Expand Down Expand Up @@ -64,3 +67,5 @@ To sum up the most important differences between the two approaches:

NFTs in Move are clearly a big improvement over the afterthought counterparts in the EVM/Solidity ecosystem. There are more assurances and better usability when it comes to asset management.

## Quizzes
<Quiz questions={questions} />
6 changes: 6 additions & 0 deletions docs/content/developer/evm-to-move/creating-token.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Creating an ERC-20-like token
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/developer/evm-to-move/creating-token.json';

## How this works in Solidity / EVM

One of the most commonly used building blocks in Solidity/EVM is a contract implementing the [ERC-20 token standard](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/). The ERC-20 Token standard is for fungible tokens, allowing anyone to deploy their tokens on a chain that works with other dApps expecting them. There's little magic going on here; a token is just a regular smart contract with certain standardized functionality implemented (like a function to get the token's name, symbol, decimals, and functionality to transfer tokens to other addresses). The deployed token contract keeps track of all balances, so if you hold an ERC-20 token, that actually means that a mapping inside that token contract keeps track of how many of those tokens belong to your address.
Expand Down Expand Up @@ -117,3 +120,6 @@ To sum up the most important differences between the two approaches:
| Non-enforced standard functionality (you can implement the ERC-20 functions as you please, including in for users undesired ways) | Enforced standard functionality (every `Coin` can be used in the same way and under the same assumptions) |

While the Solidity/EVM approach is easy to work with and modify from a developer's perspective, it does have its downsides from an end-user perspective. You can not simply assume every ERC-20 token can be transferred as you expected without thoroughly reading and understanding the source code of those smart contracts, which is something most people can't do or don't do, given how time-consuming this is. This can lead to things like getting taxed for transfers (part of the transfer could go to the project deploying, for example), being blocked from doing a transfer (either with a malicious token or through a regulated framework), or simply losing all your tokens because they can be moved based on the logic implemented in the token contract. With the standard `Coin` implementation, this is not the case. You can assume that if you hold a `Coin`, you can always freely transfer it without any further limitations, as long as it's a `Coin` object. The logic is fixed, documented, and well-known.

## Quizzes
<Quiz questions={questions} />
8 changes: 7 additions & 1 deletion docs/content/developer/evm-to-move/tooling-apis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Tooling and APIs
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/developer/evm-to-move/tooling-apis.json';

## Tooling for EVM/Solidity

EVM has been around for a while and has built a comprehensive library of tools and utilities to interact with the network and contracts. We can categorize the most important tools in various sections and provide the equivalent for IOTA Move in the next section.
Expand Down Expand Up @@ -50,4 +53,7 @@ Like with Solidity and Hardhat, you can write IOTA Move code in any editor, in c

## Conclusion

IOTA Move is quite new compared to the EVM ecosystem, and this is reflected in the amount of tooling available. The tooling available, though, is often offered as part of the core software, is of high quality, and offers everything you need to develop, interact with, and manage your dApps successfully.
IOTA Move is quite new compared to the EVM ecosystem, and this is reflected in the amount of tooling available. The tooling available, though, is often offered as part of the core software, is of high quality, and offers everything you need to develop, interact with, and manage your dApps successfully.

## Quizzes
<Quiz questions={questions} />

0 comments on commit 788253e

Please sign in to comment.