diff --git a/docs/build/_partials/_metamask_buttons.mdx b/docs/build/_partials/_metamask_buttons.mdx index 52fec8cf14f..2df64f56c09 100644 --- a/docs/build/_partials/_metamask_buttons.mdx +++ b/docs/build/_partials/_metamask_buttons.mdx @@ -4,6 +4,9 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; + + + diff --git a/docs/build/getting-started/networks-endpoints.mdx b/docs/build/getting-started/networks-endpoints.mdx index 714c125449a..7ec97e7d37f 100644 --- a/docs/build/getting-started/networks-endpoints.mdx +++ b/docs/build/getting-started/networks-endpoints.mdx @@ -41,6 +41,18 @@ This network runs under a [Coordinator PoA scheme](/learn/protocols/coordinator/ +### IOTA EVM + +[IOTA EVM](https://explorer.evm.iota.org) is the L2 EVM running on top of the IOTA network. + + + + + +#### Additional Info + + + ## IOTA Testnet [The IOTA Testnet](https://explorer.iota.org/iota-testnet) acts as a test bed for builders without any real world value. diff --git a/docs/build/getting-started/sidebars.ts b/docs/build/getting-started/sidebars.ts index 5c77fcf837d..a9e41d09e97 100644 --- a/docs/build/getting-started/sidebars.ts +++ b/docs/build/getting-started/sidebars.ts @@ -16,24 +16,116 @@ module.exports = { }, items: [ { - type: 'link', - label: 'IOTA Sandbox', - href: '/iota-sandbox/welcome', - }, - { - type: 'link', - label: 'CLI Wallet', - href: '/cli-wallet/welcome', - }, - { - type: 'link', - label: 'WASP CLI', - href: '/wasp/how-tos/wasp-cli', - }, - { - label: 'Schema Tool', - type: 'link', - href: '/isc/schema/introduction', + type: 'category', + label: 'EVM Tools', + collapsed: false, + link: { + type: 'generated-index', + title: 'EVM Tools', + slug: '/tools/evm', + }, + items: [ + { + type: 'category', + label: 'IOTA', + collapsed: false, + link: { + type: 'generated-index', + title: 'IOTA EVM Tools', + slug: '/tools/evm/iota', + }, + items: [ + { + label: 'Explorer', + type: 'link', + href: 'https://explorer.evm.iota.org', + }, + { + label: 'Toolkit', + type: 'link', + href: 'https://evm-toolkit.evm.iotaledger.net', + }, + ], + }, + { + type: 'category', + label: 'IOTA Testnet', + collapsed: false, + link: { + type: 'generated-index', + title: 'IOTA Testnet EVM Tools', + slug: '/tools/evm/iota-testnet', + }, + items: [ + { + label: 'Explorer', + type: 'link', + href: 'https://explorer.evm.testnet.iota.org', + }, + { + label: 'Toolkit & Faucet', + type: 'link', + href: 'https://evm-toolkit.evm.testnet.iotaledger.net', + }, + ], + }, + { + type: 'category', + label: 'Shimmer', + collapsed: true, + link: { + type: 'generated-index', + title: 'ShimmerEVM Tools', + slug: '/tools/evm/shimmer', + }, + items: [ + { + label: 'Explorer', + type: 'link', + href: 'https://explorer.evm.shimmer.network', + }, + { + label: 'Toolkit', + type: 'link', + href: 'https://evm-toolkit.evm.shimmer.network', + }, + ], + }, + { + type: 'category', + label: 'Shimmer Testnet', + collapsed: true, + link: { + type: 'generated-index', + title: 'ShimmerEVM Testnet Tools', + slug: '/tools/evm/shimmer-testnet', + }, + items: [ + { + label: 'Explorer', + type: 'link', + href: 'https://explorer.evm.testnet.shimmer.network', + }, + { + label: 'EVM Testnet Toolkit & Faucet', + type: 'link', + href: 'https://evm-toolkit.evm.testnet.shimmer.network/', + }, + ], + }, + { + label: 'Oracles for IOTA EVM and ShimmerEVM', + type: 'doc', + id: 'oracles', + }, + { + type: 'link', + label: 'WASP CLI', + description: + 'Wasp CLI is a command line tool for interacting with the Wasp node.', + href: '/wasp/how-tos/wasp-cli', + }, + ], }, { label: 'Explorer', @@ -41,29 +133,19 @@ module.exports = { href: 'https://explorer.iota.org', }, { - label: 'Shimmer EVM Explorer', - type: 'link', - href: 'https://explorer.evm.shimmer.network/', - }, - { - label: 'Shimmer EVM Toolkit', + label: 'IOTA Testnet Faucet', type: 'link', - href: 'https://evm-toolkit.evm.shimmer.network/', + href: 'https://faucet.testnet.iotaledger.net', }, { - label: 'Shimmer EVM Testnet Toolkit & Faucet', type: 'link', - href: 'https://evm-toolkit.evm.testnet.shimmer.network/', - }, - { - label: 'Oracles for Shimmer EVM', - type: 'doc', - id: 'oracles', + label: 'CLI Wallet', + href: '/cli-wallet/welcome', }, { - label: 'Testnet Faucet', type: 'link', - href: 'https://faucet.testnet.shimmer.network', + label: 'IOTA Sandbox', + href: '/iota-sandbox/welcome', }, ], }, diff --git a/docs/build/iota-sandbox/docs/welcome.md b/docs/build/iota-sandbox/docs/welcome.md index ca37c427f08..4b4270a749a 100644 --- a/docs/build/iota-sandbox/docs/welcome.md +++ b/docs/build/iota-sandbox/docs/welcome.md @@ -21,10 +21,9 @@ It is not for creating production-ready networks. ::: -:::tip Public Testnet +:::tip Testnet -If possible, -you should use the [public testnet](https://wiki.iota.org/build/networks-endpoints/#public-testnet) +If possible, you should use one of the testnets(/build/networks-endpoints) where you can experiment with confidence and community support. ::: diff --git a/docs/build/isc/v1.0.0-rc.6/docs/_admonitions/_network_warning.md b/docs/build/isc/v1.0.0-rc.6/docs/_admonitions/_network_warning.md deleted file mode 100644 index e7a18ce4286..00000000000 --- a/docs/build/isc/v1.0.0-rc.6/docs/_admonitions/_network_warning.md +++ /dev/null @@ -1,6 +0,0 @@ -:::caution Only Available on Shimmer - -At the moment, Smart Contracts are only available on [Shimmer](/build/networks-endpoints/#shimmer) and -its [Public Testnet](/build/networks-endpoints/#public-testnet) network. - -::: \ No newline at end of file diff --git a/docs/build/isc/v1.0.0-rc.6/docs/_partials/_hardhat_config.md b/docs/build/isc/v1.0.0-rc.6/docs/_partials/_hardhat_config.md index d6257484a0b..9b039ccd8e8 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/_partials/_hardhat_config.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/_partials/_hardhat_config.md @@ -4,6 +4,21 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; + + + +{` +networks: { + 'iotaevm-testnet': { + url: '${Networks['iota_testnet'].evm.rpcUrls[0]}', + chainId: ${parseInt(Networks['iota_testnet'].evm.chainId)}, + accounts: [YOUR PRIVATE KEY], + }, +} +`} + + + @@ -19,14 +34,14 @@ networks: { - + {` networks: { - 'iotaevm-testnet': { - url: '${Networks['iota_testnet'].evm.rpcUrls[0]}', - chainId: ${parseInt(Networks['iota_testnet'].evm.chainId)}, + 'iotaevm': { + url: '${Networks['iota'].evm.rpcUrls[0]}', + chainId: ${parseInt(Networks['iota'].evm.chainId)}, accounts: [YOUR PRIVATE KEY], }, } diff --git a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/compatibility.md b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/compatibility.md index 93168c9f134..65b7167e0dd 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/compatibility.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/compatibility.md @@ -35,7 +35,8 @@ Here are some of the most important properties and limitations of EVM support in There is no guaranteed _block time_. A new EVM "block" will be created only when an ISC block is created, and ISC does not enforce an average block time. This means that block times are variable; a new block will be created as soon as needed. -The average block time on [ShimmerEVM](/build/networks-endpoints#shimmerevm) is 2.8 seconds. +The average block time on [IOTA EVM](/build/networks-endpoints#iotaevm) and [ShimmerEVM](/build/networks-endpoints#shimmerevm) +is 2.8 seconds. ### The Magic Contract diff --git a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/languages-and-vms.md b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/languages-and-vms.md index 64bacc1c8b4..1719a69053f 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/languages-and-vms.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/languages-and-vms.md @@ -1,10 +1,7 @@ import EVMCompatibility from '../_admonitions/_EVM_compatibility.md' -import NetworkWarning from '../_admonitions/_network_warning.md' # Supported Virtual Machines & Languages - - The current release of IOTA Smart Contracts has support for [EVM/Solidity](#evmsolidity-based-smart-contracts) smart contracts, as well as experimental [Wasm](#wasm-vm-for-isc) smart contracts, providing compatibility with existing smart contracts and tooling from other EVM based chains like Ethereum. This allows us to offer the existing diff --git a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/networks-and-chains.mdx b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/networks-and-chains.mdx index cd1d3902ea0..cc3796b00ed 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/networks-and-chains.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/networks-and-chains.mdx @@ -4,7 +4,7 @@ tags: - mainnet - shimmer - devnet - - public testnet + - EVM Testnet - reference - Endpoints --- @@ -35,6 +35,69 @@ The other values (network name and currency symbol) can be whatever value you li ::: +## IOTA EVM + +[IOTA EVM](https://explorer.evm.iota.org) is the L2 EVM running on top of the IOTA network. + + + + + +### Additional Info + + + +## IOTA EVM Testnet + + + +[The IOTA EVM Testnet](https://explorer.evm.testnet.iotaledger.net/) runs as a layer 2 on top +of the [IOTA Testnet](/build/networks-endpoints#iota-testnet). This network uses ISC to facilitate + +:::info + +This network is subject to occasional resets (no data retention) which are usually announced with a one-week grace period. + +::: + + + +:::note + +The other values (network name and currency symbol) can be whatever value you like. + +::: + +### Additional Info + + + +## ShimmerEVM Testnet + + + +[The ShimmerEVM Testnet](https://explorer.evm.testnet.shimmer.network/) runs as a layer 2 on top +of the [Shimmer Testnet](/build/networks-endpoints#shimmer-testnet). This network uses ISC to facilitate +an Ethereum Virtual Machine and has an enshrined bridge to layer 1. + +:::info + +This network is subject to occasional resets (no data retention) which are usually announced with a one-week grace period. + +::: + + + +:::note + +The other values (network name and currency symbol) can be whatever value you like. + +::: + +### Additional Info + + + ## ShimmerEVM [ShimmerEVM](https://explorer.evm.shimmer.network/) is the L2 EVM running on top of the Shimmer network. @@ -43,6 +106,10 @@ The other values (network name and currency symbol) can be whatever value you li +### Additional Info + + + ## ShimmerEVM Testnet @@ -65,8 +132,12 @@ The other values (network name and currency symbol) can be whatever value you li ::: +### Additional Info + + + ## Core Contracts -[ShimmerEVM](#shimmerEVM) and the testnet networks have 7 +[IOTA EVM](#IOTAEVM), [ShimmerEVM](#shimmerEVM) and the testnet networks have 7 [core contracts](../reference/core-contracts/overview.md) deployed, as well as the [Magic Contract](../reference/magic-contract/introduction.md). diff --git a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/quick-start.mdx b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/quick-start.mdx index ebe821bdd0c..eb383f39bda 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/quick-start.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/quick-start.mdx @@ -1,5 +1,5 @@ --- -description: This guide will help you quickly get started with the [Public Testnet](/build/networks-endpoints/#public-testnet) +description: This guide will help you quickly get started with the EVM Testnets image: /img/logo/WASP_logo_dark.png tags: - quickstart @@ -56,7 +56,7 @@ If you want to fund your EVM testnet account, please refer to our [How To Get Fu You can now use your testnet tokens and simulated bridged tokens to deploy and interact with smart contracts on the testnets. Utilize popular development tools and frameworks, such as [Hardhat](https://hardhat.org/), or [Remix](https://remix.ethereum.org/), to build, test, and deploy your smart contracts. -## Explore the Public Testnet +## Explore the EVM Testnet Visit the corresponding Testnet Block Explorer to monitor the chain, track transactions, and explore deployed smart contracts. diff --git a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/tools.mdx b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/tools.mdx index 13709a276d4..8b6138abb00 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/getting-started/tools.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/getting-started/tools.mdx @@ -34,7 +34,8 @@ directly with an IOTA Smart Contracts chain running EVM as long as you take a co 1. Please make sure you use the correct JSON-RPC endpoint URL in your tooling for your chain. If you're running your own chain, you can find the JSON-RPC endpoint URL in the Wasp dashboard (`[URL]/wasp/dashboard` when using `node-docker-setup`). -2. Please ensure you use the correct `Chain ID` configured while starting the JSON-RPC service. If you did not explicitly define this while starting the service, the default Chain ID will be +2. Please ensure you use the correct `Chain ID` configured while starting the JSON-RPC service. If you did not explicitly define this while starting the service, the default Chain ID will be +for IOTA EVM, for ShimmerEVM or for the EVM Testnet. 3. Fees are handled on the IOTA Smart Contracts chain level, not the EVM level. The chain will reject any requests with a different gas price than specified by the chain. @@ -55,7 +56,11 @@ To use your EVM chain with MetaMask, simply open up MetaMask and click on the ne the bottom of this list, you will see the option `Add network`. On the new page you will see a list of popular network with the option `Add a network manually`. For example this would be the configs to add our different [EVM chains](/build/networks-endpoints): - + + + + + diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC20.md b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC20.md index 9bbd6929beb..adf0a6ccfa1 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC20.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC20.md @@ -74,8 +74,9 @@ Once you have deployed your contract, you can add your new custom token to your 1. Open Metamask, and click on the transaction that created the contract. From there, you can simply click on `View on block explorer` to visit the transaction details. Alternatively, you can copy the transaction ID and - visit the [ShimmerEVM Explorer](https://explorer.evm.testnet.shimmer.network/) - or [ShimmerEVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/) and use the search bar to find transaction. + visit the [IOTA EVM Explorer](https://explorer.evm.iota.org), + [ShimmerEVM Explorer](https://explorer.evm.testnet.shimmer.network/) + or [EVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/) and use the search bar to find transaction. !['View on block explorer](/img/evm/how-tos/ERC20/metamask-get-transaction-or-go-to-block-explorer.png) diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC721.md b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC721.md index 0b66f129e59..767661dbff2 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC721.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/ERC721.md @@ -42,7 +42,7 @@ your smart contracts. ## Create the Smart Contract -The following is an example NFT Smart Contract called "ShimmerEVMSampleNFT". +The following is an example NFT Smart Contract called "IotaEVMSampleNFT". ```solidity // SPDX-License-Identifier: MIT @@ -51,11 +51,11 @@ pragma solidity ^0.8.20; import "@openzeppelin/contracts@5.0.1/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts@5.0.1/access/Ownable.sol"; -contract ShimmerEVMSampleNFT is ERC721, Ownable { +contract IotaEVMSampleNFT is ERC721, Ownable { uint256 private _nextTokenId; constructor(address initialOwner) - ERC721("ShimmerEVMSampleNFT", "SSNFT") + ERC721("IotaEVMSampleNFT", "SSNFT") Ownable(initialOwner) {} @@ -73,9 +73,9 @@ contract ShimmerEVMSampleNFT is ERC721, Ownable { As you can see above, the contract uses standard methods for the most part. You should pay attention to the following: - `pragma solidity ^0.8.20;`: This line means the contract uses solidity compiler version `0.8.20` or above. -- `contract ShimmerEVMSampleNFT is ERC721, ERC721URIStorage, Ownable`: This line defines the contract's name, and what +- `contract IotaEVMSampleNFT is ERC721, ERC721URIStorage, Ownable`: This line defines the contract's name, and what other contracts it implements. -- `ERC721("ShimmerEVMSampleNFT", "SNFT") {}`: This line defines the token name and symbol. You can name it +- `ERC721("IotaEVMSampleNFT", "SNFT") {}`: This line defines the token name and symbol. You can name it whatever you want. We recommend using the same name for the token and the contract. - `return "https://example.com/nft/";`: You should define the base URI of your NFTs. That means the URL you provide here will be used for all your tokens. Since this contract uses auto-incremental token IDs, your token URI will look @@ -101,7 +101,7 @@ directly. :::note Set the Initial Owner -Before you can deploy this contract, you will need to set the `Initial Owner` address; this can be your own ShimmerEVM address. +Before you can deploy this contract, you will need to set the `Initial Owner` address; this can be your own IOTA EVM address. !["Set the initial owner" img.png](/img/evm/how-tos/ERC721/set-initial-owner.png) @@ -115,13 +115,15 @@ So far, you have [created](#create-the-smart-contract) and deployed the contract To do, you should: 1. Open the contract (listed under `Deployed Contracts`). -2. Insert your target ShimmerEVM in beside the `safeMint` button and then click the button. +2. Insert your target IOTA EVM in beside the `safeMint` button and then click the button. ![Safe mint](/img/evm/how-tos/ERC721/safe-mint.png) + 3. Confirm the transaction on Metamask. ![Confirm in metamask](/img/evm/how-tos/ERC721/confirm-in-metamask.png) -If you visit your address in the [ShimmerEVM Explorer](https://explorer.evm.testnet.shimmer.network/) or [ShimmerEVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/) +If you visit your address in the visit the [IOTA EVM Explorer](https://explorer.evm.iota.org), +[ShimmerEVM Explorer](https://explorer.evm.testnet.shimmer.network/) or [EVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/) you should see your NFTs listed under `Tokens`. diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/core-contracts/basics/send-assets-to-l1.mdx b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/core-contracts/basics/send-assets-to-l1.mdx index 4fb8baa24da..a479d9bb2c1 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/core-contracts/basics/send-assets-to-l1.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/core-contracts/basics/send-assets-to-l1.mdx @@ -18,7 +18,7 @@ import AboutAccounts from '../../../_admonitions/_about-accounts.md'; :::info -ShimmerEVM has 18 decimal places, while Shimmer has 6. This means that any decimals beyond the 6th will be ignored by Shimmer, even though you can see them on ShimmerEVM. Please keep this in mind while sending your tokens to L1. +IOTA EVM and ShimmerEVM have 18 decimal places, while IOTA and Shimmer have 6. This means that any decimals beyond the 6th will be ignored by IOTA and Shimmer, even though you can see them on IOTA EVM and ShimmerEVM. Please keep this in mind while sending your tokens to L1. ::: diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/deploy-a-smart-contract.mdx b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/deploy-a-smart-contract.mdx index 9fbf20161e0..12732447497 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/deploy-a-smart-contract.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/deploy-a-smart-contract.mdx @@ -2,11 +2,12 @@ tags: - Smart Contract Deployment - Shimmer EVM +- IOTA EVM - Remix IDE - Hardhat -- Shimmer EVM Testnet +- EVM Testnet image: /img/logo/WASP_logo_dark.png -description: 'Learn how to deploy smart contracts to Shimmer EVM and Shimmer EVM Testnet using popular tools like Remix and Hardhat.' +description: 'Learn how to deploy smart contracts to IOTA EVM, Shimmer EVM and EVM Testnet using popular tools like Remix and Hardhat.' --- import {AddToMetaMaskButton } from '@theme/AddToMetaMaskButton'; import HardhatConfig from '../_partials/_hardhat_config.md'; @@ -165,7 +166,7 @@ often offered through block explorer APIs. 3. If you have no compilation errors, you can deploy your contract by running the following command: ```bash - npx hardhat run scripts/deploy.js --network shimmerevm-testnet + npx hardhat run scripts/deploy.js --network evm-testnet ``` **Expected output**: @@ -176,7 +177,7 @@ often offered through block explorer APIs. ***** `0x123456789ABCDEFGHIJK123456789ABCDEFGHIJK` is the contract unlock address. 4. You can verify your contract by visiting - the [ShimmerEVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/), + the [EVM Testnet Explorer](https://explorer.evm.testnet.shimmer.network/), and searching for the address from the previous step. If you access the `Contract` tab, you should be able to see your code and interact with your contract. diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/send-funds-from-L1-to-L2.mdx b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/send-funds-from-L1-to-L2.mdx index 1a9a469d7ea..3da7c4003f6 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/send-funds-from-L1-to-L2.mdx +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/send-funds-from-L1-to-L2.mdx @@ -39,11 +39,11 @@ be used to cover gas fees. -You can use your [Firefly Wallet](https://firefly.iota.org/) to easily send L1 SMR to your L2 ShimmerEVM account. +You can use your [Firefly Wallet](https://firefly.iota.org/) to easily send L1 IOTA or SMR to your L2 IOTA EVM or ShimmerEVM account. #### Requirements -* [Shimmer Tokens](/get-started/introduction/shimmer/shimmer-token/) or [IOTA Tokens](/get-started/introduction/iota/iota-token/) +* [IOTA Tokens](/get-started/introduction/iota/iota-token/) or [Shimmer Tokens](/get-started/introduction/shimmer/shimmer-token/) * [Firefly Wallet](https://firefly.iota.org/) * [Metamask](https://metamask.io/) diff --git a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/test-smart-contracts.md b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/test-smart-contracts.md index 7b032b6d9bf..c3f2a8aa344 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/how-tos/test-smart-contracts.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/how-tos/test-smart-contracts.md @@ -5,9 +5,9 @@ keywords: - Unit Tests - Integration Tests - Testing Frameworks -- ShimmerEVM Testnet +- EVM Testnet - Solidity Testing -description: Learn how to test smart contracts before deploying them on public networks to avoid vulnerabilities and ensure functionality aligns with requirements using unit, and integration testing, alongside frameworks and testing with the IOTA Sandbox and the ShimmerEVM Testnet. +description: Learn how to test smart contracts before deploying them on public networks to avoid vulnerabilities and ensure functionality aligns with requirements using unit, and integration testing, alongside frameworks and testing with the IOTA Sandbox and the EVM Testnet. --- # Testing Smart Contracts @@ -91,18 +91,18 @@ expected. #### Tools -You can use the [ShimmerEVM Testnet](/build/networks-endpoints/#testnet-evm) to conduct integration tests without +You can use the [EVM Testnet](/build/networks-endpoints/#shimmerevm-testnet) to conduct integration tests without incurring any fees or the [IOTA Sandbox](/iota-sandbox/getting-started/) if you want to run the tests locally. ## Manual Testing Once you have a complete batch of [automated tests](#automated-testing), manually testing your contract to ensure it behaves as expected in the real world is still good practice. However, to avoid incurring fees or deploying a faulty -contract, you can manually test your contract using a sandboxed local network and the Shimmer EVM Testnet. +contract, you can manually test your contract using a sandboxed local network and the EVM Testnet. Testing using the [IOTA Sandbox](/iota-sandbox/getting-started/) serves well for the first stage of automated and manual integration tests, as you have complete control over the entire local network. Once you are confident about how your -contract behaves locally, you can deploy and test on the [ShimmerEVM Testnet](/build/networks-endpoints/#testnet-evm), -which replicates the ShimmerEVM network but also enables cost and risk-free interactions. +contract behaves locally, you can deploy and test on the [EVM Testnet](/build/networks-endpoints/#shimmerevm-testnet), +which replicates the IOTA EVM and ShimmerEVM networks, but also enables cost and risk-free interactions. diff --git a/docs/build/isc/v1.0.0-rc.6/docs/introduction.md b/docs/build/isc/v1.0.0-rc.6/docs/introduction.md index c644eb4da1a..b3811792692 100644 --- a/docs/build/isc/v1.0.0-rc.6/docs/introduction.md +++ b/docs/build/isc/v1.0.0-rc.6/docs/introduction.md @@ -11,13 +11,10 @@ tags: - explanation --- -import NetworkWarning from './_admonitions/_network_warning.md' import OnOffLedgerRequest from './_partials/_on_off_ledger_request.md'; # Introduction - - Smart contracts are deterministic applications that run on a distributed network with multiple [validators](explanations/validators.md) that execute and validate the same code. Their deterministic and distributed nature makes them predictable, stable and trustworthy. diff --git a/docs/get-started/tools/legacy-migration-tool.mdx b/docs/get-started/tools/legacy-migration-tool.mdx index 04051f80f75..66672900915 100644 --- a/docs/get-started/tools/legacy-migration-tool.mdx +++ b/docs/get-started/tools/legacy-migration-tool.mdx @@ -6,7 +6,7 @@ import ThemedImage from '@theme/ThemedImage'; The [IOTA Legacy Migration Tool](https://github.com/iotaledger/legacy-migration-tool/releases) is a standalone app to help you migrate your tokens from the legacy IOTA network to the -current [IOTA Mainnet](/build/networks-endpoints/#iota-mainnet) running the Stardust protocol. +current [IOTA Mainnet](/build/networks-endpoints/#iota) running the Stardust protocol. The new tool allows users to migrate from an [81-character seed](#restore-a-text-backup), [a Trinity seed vault file](#restore-a-file-backup), or a [Ledger device](#users-with-ledger-devices). diff --git a/docs/get-started/wallets/bloom.md b/docs/get-started/wallets/bloom.md index cfdb2de997d..bd2f7a9e3d9 100644 --- a/docs/get-started/wallets/bloom.md +++ b/docs/get-started/wallets/bloom.md @@ -12,7 +12,7 @@ tags: --- Bloom is a desktop wallet with first-class security developed by former members of the Firefly team. -Bloom supports the [IOTA](https://wiki.iota.org/build/networks-endpoints/#iota-mainnet) and +Bloom supports the [IOTA](https://wiki.iota.org/build/networks-endpoints/#iota) and [Shimmer](https://wiki.iota.org/build/networks-endpoints/#shimmer) networks, as well as [ShimmerEVM](https://wiki.iota.org/build/networks-endpoints/#shimmerevm) in the same application. This means you can seamlessly transfer assets back and forth between Shimmer and ShimmerEVM without other tooling. diff --git a/docs/maintain/wasp/v1.0.0-rc.6/docs/how-tos/running-an-access-node.md b/docs/maintain/wasp/v1.0.0-rc.6/docs/how-tos/running-an-access-node.md index f0baa0b5429..a12240bda0a 100644 --- a/docs/maintain/wasp/v1.0.0-rc.6/docs/how-tos/running-an-access-node.md +++ b/docs/maintain/wasp/v1.0.0-rc.6/docs/how-tos/running-an-access-node.md @@ -32,6 +32,20 @@ You can then download the historical state using the following command (this wil + + +```sh +wget https://files.stardust-mainnet.iotaledger.net/dbs/wasp/latest-wasp_chains_wal.tgz -O - | tar xzv -C data/wasp +``` + + + + +```sh +wget https://files.iota-testnet.iotaledger.net/dbs/wasp/latest-wasp_chains_wal.tgz -O - | tar xzv -C data/wasp +``` + + ```sh @@ -148,6 +162,20 @@ Now you can add your peer as trusted peer. Add the chain with its chain id and name: + + +```sh +./wasp-cli chain add iota-evm iota1pzt3mstq6khgc3tl0mwuzk3eqddkryqnpdxmk4nr25re2466uxwm28qqxu5 +``` + + + + +```sh +./wasp-cli chain add iota-evm-testnet tst1pzxsrr7apqkdzz633dyntmvxwtyvk029p39te5j0m33q6946h7akzv663zu +``` + + ```sh @@ -170,6 +198,20 @@ Activate the chain using its name: + + +```sh +./wasp-cli chain activate --chain iota-evm +``` + + + + +```sh +./wasp-cli chain activate --chain iota-evm-testnet +``` + + ```sh @@ -209,19 +251,32 @@ You can follow the progress using `docker logs -f wasp`. If you chose to create You should have a working EVM JSON-RPC endpoint on: + + +``` +/wasp/api/v1/chains/iota1pzt3mstq6khgc3tl0mwuzk3eqddkryqnpdxmk4nr25re2466uxwm28qqxu5/evm +``` + + + + +``` +/wasp/api/v1/chains/tst1pzxsrr7apqkdzz633dyntmvxwtyvk029p39te5j0m33q6946h7akzv663zu/evm +``` + + + ``` -/wasp/api/v1/chains/smr1prxvwqvwf7nru5q5xvh5thwg54zsm2y4wfnk6yk56hj3exxkg92mx20wl3s -/evm +/wasp/api/v1/chains/smr1prxvwqvwf7nru5q5xvh5thwg54zsm2y4wfnk6yk56hj3exxkg92mx20wl3s/evm ``` ``` -/wasp/api/v1/chains/rms1ppp00k5mmd2m8my8ukkp58nd3rskw6rx8l09aj35984k74uuc5u2cywn3ex -/evm +/wasp/api/v1/chains/rms1ppp00k5mmd2m8my8ukkp58nd3rskw6rx8l09aj35984k74uuc5u2cywn3ex/evm ``` diff --git a/docs/maintain/wasp/v1.0.0-rc.6/docs/reference/metrics.md b/docs/maintain/wasp/v1.0.0-rc.6/docs/reference/metrics.md index 385ec322f55..0e816a696e0 100644 --- a/docs/maintain/wasp/v1.0.0-rc.6/docs/reference/metrics.md +++ b/docs/maintain/wasp/v1.0.0-rc.6/docs/reference/metrics.md @@ -9,7 +9,7 @@ tags: # Exposed Metrics -Refer to the [testnet endpoints description](/build/networks-endpoints/#testnet-evm) for access details. +Refer to the [testnet endpoints description](/build/networks-endpoints/#shimmerevm-testnet) for access details. | Metric | Description | | ------------------------------------------ | ---------------------------------------------------- | diff --git a/theme/src/theme/constant.tsx b/theme/src/theme/constant.tsx index c38cd15b367..8882d3061df 100644 --- a/theme/src/theme/constant.tsx +++ b/theme/src/theme/constant.tsx @@ -6,6 +6,26 @@ export const Networks = { eventApi: 'wss://api.stardust-mainnet.iotaledger.net:443 (MQTT 3.1, /mqtt)', permaNodeApi: 'https://chronicle.stardust-mainnet.iotaledger.net', explorer: 'https://explorer.iota.org/mainnet', + evm: { + chainId: '0x2276', + chainName: 'IOTA EVM', + nativeCurrency: { + name: 'IOTA', + symbol: 'IOTA', + decimals: 18, + }, + rpcUrls: [ + 'https://json-rpc.evm.iotaledger.net', + 'wss://ws.json-rpc.evm.iotaledger.net', + ], + blockExplorerUrls: ['https://explorer.evm.iota.org'], + }, + evmCustom: { + chainAddress: + 'iota1pzt3mstq6khgc3tl0mwuzk3eqddkryqnpdxmk4nr25re2466uxwm28qqxu5', + aliasId: + '0x971dc160d5ae8c457f7eddc15a39035b6190130b4dbb5663550795575ae19db5', + }, }, iota_2_testnet: { baseToken: 'Testnet Token (no value)', diff --git a/theme/src/types.d.ts b/theme/src/types.d.ts index e6678212569..5b58312a74b 100644 --- a/theme/src/types.d.ts +++ b/theme/src/types.d.ts @@ -24,6 +24,8 @@ declare module '@theme/DocBanner' { declare module '@theme/NetworkInfo' { export default { IOTA: JSX.Element, + IotaEVM: JSX.Element, + IotaEVMAdditional: JSX.Element, Shimmer: JSX.Element, ShimmerEVM: JSX.Element, ShimmerEVMAdditional: JSX.Element, diff --git a/tutorials/docusaurus.config.js b/tutorials/docusaurus.config.js index 8579dc6c807..7f6237890ae 100644 --- a/tutorials/docusaurus.config.js +++ b/tutorials/docusaurus.config.js @@ -126,8 +126,8 @@ module.exports = { 'Connect to Shimmer EVM Testnet and Deploy a Solidity Smart Contract', description: 'In this tutorial, we will connect to Shimmer EVM Testnet, connect Metamask to it, get funded and deploy a smart contract in Solidity.', - preview: '/connect-shimmerevm-testnet-and-deploy.png', - route: 'tutorials/shimmerevm-testnet-setup', + preview: '/connect-evm-testnet-and-deploy.png', + route: 'tutorials/evm-testnet-setup', tags: [ 'text', 'shimmer', @@ -143,11 +143,11 @@ module.exports = { '@iota-wiki/plugin-tutorial', { title: - 'Tutorial - Deploy a Solidity Smart Contract on ShimmerEVM Testnet Using Hardhat', + 'Tutorial - Deploy a Solidity Smart Contract on EVM Testnet Using Hardhat', description: 'In this tutorial, you will learn how to set up Hardhat and use it to build, test and deploy a simple smart contract on ShimmerEVM.', preview: '/shimmerevm-hardhat.jpg', - route: 'tutorials/shimmerevm-testnet-hardhat', + route: 'tutorials/evm-testnet-hardhat', tags: [ 'text', 'shimmer', diff --git a/tutorials/pages/shimmerevm-testnet-hardhat.md b/tutorials/pages/evm-testnet-hardhat.md similarity index 93% rename from tutorials/pages/shimmerevm-testnet-hardhat.md rename to tutorials/pages/evm-testnet-hardhat.md index c7f0ecf47ca..9c3b93e4363 100644 --- a/tutorials/pages/shimmerevm-testnet-hardhat.md +++ b/tutorials/pages/evm-testnet-hardhat.md @@ -128,9 +128,9 @@ Some important things to note are data types. `event` means that we can subscrib ```js module.exports = { solidity: '0.8.18', - defaultNetwork: 'shimmerevm-testnet', + defaultNetwork: 'evm-testnet', networks: { - 'shimmerevm-testnet': { + 'evm-testnet': { url: 'https://json-rpc.evm.testnet.shimmer.network', chainId: 1073, accounts: [priv_key], @@ -190,21 +190,21 @@ npx hardhat compile Run this command in root of the project directory: ```sh -npx hardhat run scripts/deploy.js --network shimmerevm-testnet +npx hardhat run scripts/deploy.js --network evm-testnet ``` -The contract will be deployed on ShimmerEVM Testnet, and you can check the deployment status here on the [explorer](https://explorer.evm.testnet.shimmer.network/). +The contract will be deployed on EVM Testnet, and you can check the deployment status here on the [explorer](https://explorer.evm.testnet.shimmer.network/). If you want to further verify your contract, add the following to your `hardhat.config.js`: ```js etherscan: { apiKey: { - 'shimmerevm-testnet': 'ABCDE12345ABCDE12345ABCDE123456789', + 'evm-testnet': 'ABCDE12345ABCDE12345ABCDE123456789', }, customChains: [ { - network: 'shimmerevm-testnet', + network: 'evm-testnet', chainId: 1073, urls: { apiURL: 'https://explorer.evm.testnet.shimmer.network/api', @@ -218,7 +218,7 @@ etherscan: { Then you can verify by running: ```sh -npx hardhat verify --network shimmerevm-testnet
+npx hardhat verify --network evm-testnet
``` :::tip Address and unlock time diff --git a/tutorials/pages/shimmerevm-testnet-setup.mdx b/tutorials/pages/evm-testnet-setup.mdx similarity index 85% rename from tutorials/pages/shimmerevm-testnet-setup.mdx rename to tutorials/pages/evm-testnet-setup.mdx index 0698310411e..72c15fd3193 100644 --- a/tutorials/pages/shimmerevm-testnet-setup.mdx +++ b/tutorials/pages/evm-testnet-setup.mdx @@ -1,10 +1,10 @@ import { AddToMetaMaskButton } from '@theme/AddToMetaMaskButton'; import { Networks } from '@theme/constant'; -# Connect to ShimmerEVM Testnet and deploy a Solidity Smart Contract +# Connect to EVM Testnet and deploy a Solidity Smart Contract :::info -In this tutorial, we will connect to ShimmerEVM Testnet, connect Metamask to it, get funded and deploy a smart contract in Solidity. +In this tutorial, we will connect to EVM Testnet, connect Metamask to it, get funded and deploy a smart contract in Solidity. ::: ## Prerequisites @@ -12,16 +12,16 @@ In this tutorial, we will connect to ShimmerEVM Testnet, connect Metamask to it, - [Metamask](https://metamask.io/) or any other wallet of your choice. - [Remix](https://remix-project.org/) or any other development environment of your choice. -## Connect to ShimmerEVM Testnet +## Connect to EVM Testnet -You can either just use the following button to add the ShimmerEVM Testnet network to Metamask +You can either just use the following button to add the EVM Testnet network to Metamask or enter the information manually. -To add the ShimmerEVM Testnet network manually to your Metamask use following info: +To add the EVM Testnet network manually to your Metamask use following info: -- Network Name: `ShimmerEVM Testnet` +- Network Name: `EVM Testnet` - New RPC URL: `https://json-rpc.evm.testnet.shimmer.network` - Chain ID: `1073` - Currency Symbol: `SMR` @@ -81,7 +81,7 @@ And voila—it's done! width='560' height='315' src='https://www.youtube.com/embed/0_rmmprEKrM' - title='ShimmerEVM Tutorial: Connect to ShimmerEVM Testnet & Deploy a Solidity Smart Contract' + title='ShimmerEVM Tutorial: Connect to EVM Testnet & Deploy a Solidity Smart Contract' frameborder='0' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen