diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index abbcec3f40d..c52255eb024 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -27,3 +27,4 @@ jobs: firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_ASTAR_DOCS }}' channelId: live projectId: astar-docs + firebaseToolsVersion: 13.35.1 diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml index 2cb74bd227b..bab8eb102a4 100644 --- a/.github/workflows/firebase-hosting-pull-request.yml +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -28,3 +28,4 @@ jobs: repoToken: '${{ secrets.GITHUB_TOKEN }}' firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_ASTAR_DOCS }}' projectId: astar-docs + firebaseToolsVersion: 13.35.1 diff --git a/.gitignore b/.gitignore index c35abb03275..bc63e6b9e87 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,5 @@ yarn-error.log* !.yarn/plugins !.yarn/sdks !.yarn/versions -# .pnp.* # Comment for zero-install \ No newline at end of file +# .pnp.* # Comment for zero-install +package.json diff --git a/docs/build/environment/index.md b/docs/build/environment/index.md index 3320eb2da69..cf002021ae9 100644 --- a/docs/build/environment/index.md +++ b/docs/build/environment/index.md @@ -4,7 +4,7 @@ import Figure from "/src/components/figure" Knowledge about how to set up various environments is not required before you get started, however, it may be helpful to review the following sections to learn more about the purpose of each Environment, and their specific requirements. -For example, to build and test Wasm smart contracts, an ink! Environment with a Swanky node is appropriate. On the zkEVM, a [different kind of environment](/docs/build/zkEVM/quickstart/) is required. +For example, to build and test Wasm smart contracts, an ink! Environment with a Swanky node is appropriate. When you are ready to deploy a smart contract to production, you can use the information contained within this section to configure an RPC endpoint. diff --git a/docs/build/index.md b/docs/build/index.md index fd2ccf469c1..eaf7fa4b87e 100644 --- a/docs/build/index.md +++ b/docs/build/index.md @@ -23,7 +23,7 @@ Astar network's innovative Build2Earn program allows developers to earn a basic See the [Wasm chapter](/docs/build/wasm) for more information. ## EVM smart contracts -Solidity developers feel right at home building on Astar in both the Polkadot and Ethereum ecosystems. See the [EVM](/docs/build/EVM) or [zkEVM](/docs/build/zkEVM) sections for more information. +Solidity developers feel right at home building on Astar in both the Polkadot and Ethereum ecosystems. See the [EVM](/docs/build/EVM) section for more information. ## Secured by Polkadot and Ethereum Polkadot and Ethereum networks provide some of the best security guarantees in the web3 industry. diff --git a/docs/build/integrations/index.md b/docs/build/integrations/index.md index b066d82ccc4..6a57c9e365a 100644 --- a/docs/build/integrations/index.md +++ b/docs/build/integrations/index.md @@ -1,6 +1,6 @@ # Integrations -Here you will find some common services available to developers building dApps on Astar Network, including sample configurations, and guides for many important elements of our infrastructure. For zkEVM-specific integrations please visit [this section](/docs/build/zkEVM/integrations). +Here you will find some common services available to developers building dApps on Astar Network, including sample configurations, and guides for many important elements of our infrastructure.
diff --git a/docs/build/nodes/index.md b/docs/build/nodes/index.md index 22207c7e9ae..0f0228fe27c 100644 --- a/docs/build/nodes/index.md +++ b/docs/build/nodes/index.md @@ -1,6 +1,6 @@ # Node Operators -The **Substrate Node SDK** is broken down into the following sections. For information about how to run a zkEVM node, please vist [this section](/docs/build/zkEVM/zk-node/) +The **Substrate Node SDK** is broken down into the following sections.
diff --git a/docs/build/zkEVM/_category_.json b/docs/build/zkEVM/_category_.json deleted file mode 100644 index 18575a9d382..00000000000 --- a/docs/build/zkEVM/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Astar zkEVM", - "position": 9 -} \ No newline at end of file diff --git a/docs/build/zkEVM/canonical-zkevm-contracts.md b/docs/build/zkEVM/canonical-zkevm-contracts.md deleted file mode 100644 index f7917376fe5..00000000000 --- a/docs/build/zkEVM/canonical-zkevm-contracts.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -sidebar_position: 2 -title: Canonical Contracts ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Overview - -The following contract addresses are canonical on the Astar zkEVM: - -## Common Good Contracts - -Wrapped ETH (wETH) on Astar zkEVM contract address is [`0xE9CC37904875B459Fa5D0FE37680d36F1ED55e38`](https://astar-zkevm.explorer.startale.com/token/0xE9CC37904875B459Fa5D0FE37680d36F1ED55e38). - -### Bridged Tokens - - - - -| Contract Name | Source | Contract Address | -| ---------------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | -| ASTR | LayerZero Bridge from Astar EVM (L1) | [`0xdf41220C7e322bFEF933D85D01821ad277f90172`](https://astar-zkevm.explorer.startale.com/token/0xdf41220C7e322bFEF933D85D01821ad277f90172) | -| Dai Stablecoin (DAI) | Canonical Bridge (LxLy) | [`0xC5015b9d9161Dca7e18e32f6f25C4aD850731Fd4`](https://astar-zkevm.explorer.startale.com/token/0xC5015b9d9161Dca7e18e32f6f25C4aD850731Fd4) | -| Matic Token (MATIC) | Canonical Bridge (LxLy) | [`0xa2036f0538221a77A3937F1379699f44945018d0`](https://astar-zkevm.explorer.startale.com/token/0xa2036f0538221a77A3937F1379699f44945018d0) | -| USD Coin (USDC) | Canonical Bridge (LxLy) | [`0xA8CE8aee21bC2A48a5EF670afCc9274C7bbbC035`](https://astar-zkevm.explorer.startale.com/token/0xA8CE8aee21bC2A48a5EF670afCc9274C7bbbC035) | -| Tether USD (USDT) | Canonical Bridge (LxLy) | [`0x1E4a5963aBFD975d8c9021ce480b42188849D41d`](https://astar-zkevm.explorer.startale.com/token/0x1E4a5963aBFD975d8c9021ce480b42188849D41d) | -| Wrapped BTC (WBTC) | Canonical Bridge (LxLy) | [`0xEA034fb02eB1808C2cc3adbC15f447B93CbE08e1`](https://astar-zkevm.explorer.startale.com/token/0xEA034fb02eB1808C2cc3adbC15f447B93CbE08e1) | -| Wrapped eETH (weETH) | Canonical Bridge (LxLy) | [`0xcD68DFf4415358c35a28f96Fd5bF7083B22De1D6`](https://astar-zkevm.explorer.startale.com/token/0xcD68DFf4415358c35a28f96Fd5bF7083B22De1D6) | -| Wrapped liquid staked Ether 2.0 (wstETH) | Canonical Bridge (LxLy) | [`0x5D8cfF95D7A57c0BF50B30b43c7CC0D52825D4a9`](https://astar-zkevm.explorer.startale.com/token/0x5D8cfF95D7A57c0BF50B30b43c7CC0D52825D4a9) | - - - - - - -## Polygon CDK Validium Specific Contracts - - - -| Contract Name | Network | Contract Address | -| ---------------------------- | ---------------- | -------------------------------------------- | -| PolToken | L1 (Ethereum) | `0x455e53cbb86018ac2b8092fdcd39d8444affc3f6` | -| Verifier | L1 (Ethereum) | `0x1c3a3da552b8662cd69538356b1e7c2e9cc1ebd8` | -| PolygonZkEVM | L1 (Ethereum) | `0x1e163594e13030244dcaf4cdfc2cd0ba3206da80` | -| DataCommittee | L1 (Ethereum) | `0x9ccd205052c732ac1df2cf7bf8aacc0e371ee0b0` | -| PolygonZkEVMBridge | L1 (Ethereum) | `0x2a3dd3eb832af982ec71669e178424b10dca2ede` | -| PolygonRollupManager | L1 (Ethereum) | `0x5132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2` | -| PolygonZkEVMGlobalExitRoot | L1 (Ethereum) | `0x580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb` | -| Timelock | L2 (Astar zkEVM) | `0xbba0935fa93eb23de7990b47f0d96a8f75766d13` | -| PolygonZkEVMBridge | L2 (Astar zkEVM) | `0x2a3dd3eb832af982ec71669e178424b10dca2ede` | -| PolygonZkEVMGlobalExitRootL2 | L2 (Astar zkEVM) | `0xa40d5f56745a118d0906a34e69aec8c0db1cb8fa` | - - - -More documentation about the Polygon CDK Validium contracts can be found in the [cdk-validium-contracts GitHub repository](https://github.com/0xPolygon/cdk-validium-contracts) - -### LayerZero Bridge - - - -| Contract Name | Network | Contract Address ( Endpoint ) | endpointId | -| ---------------------------- | ------------------------------|--------------------------------------------- |--------------| -| LayerZero endpoint V1 | L1 (Astar EVM (Substrate)) | `0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7` | 210 | -| LayerZero endpoint V2 | L1 (Astar EVM (Substrate)) | `0x1a44076050125825900e736c501f859c50fe728c` | 30210 | -| LayerZero endpoint V1 | L2 (Astar zkEVM) | `0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7` | 257 | -| LayerZero endpoint V2 | L2 (Astar zkEVM) | `0x1a44076050125825900e736c501f859c50fE728c` | 30257 | -| LayerZero OFT ASTR | L2 (Astar zkEVM) | `0xdf41220C7e322bFEF933D85D01821ad277f90172` | - | -| LayerZero NativeOFT ASTR | L1 (Astar EVM (Substrate)) | `0xdf41220C7e322bFEF933D85D01821ad277f90172` | - | - - \ No newline at end of file diff --git a/docs/build/zkEVM/faq/_category_.json b/docs/build/zkEVM/faq/_category_.json deleted file mode 100644 index 80b717cf679..00000000000 --- a/docs/build/zkEVM/faq/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "FAQ", - "position": 20 -} \ No newline at end of file diff --git a/docs/build/zkEVM/faq/zkevm-eth-faq.md b/docs/build/zkEVM/faq/zkevm-eth-faq.md deleted file mode 100644 index be34444d092..00000000000 --- a/docs/build/zkEVM/faq/zkevm-eth-faq.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -sidebar_position: 2 -title: zkEVM and EVM Equivalence FAQs -sidebar_label: EVM Equivalence ---- - -This document compiles some of the frequently asked questions related to the Astar zkEVM's equivalence with EVM. For more details, check out [Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/). - ---- - -### What is the difference between EVM Compatibility and EVM Equivalence? - -The ultimate goal is not **compatibility**. The ultimate goal is **equivalence**. **Solutions that are compatible enable most existing apps to work, but sometimes with code changes**. Additionally, compatibility may lead to the breaking of developer toolings. - -**zkEVM strives for EVM Equivalence because it means that most applications, tools, and infrastructure built on Ethereum can immediately port over to Astar zkEVM with limited to no changes needed**. Things are designed to work 100% on day one. This is critical because: - -1. **Development teams don't have to make changes to their code**, which could introduce security vulnerabilities. -2. **No code changes are needed**. You don't need additional audits, which saves time and money. -3. **zkEVM ultimately benefits from the security and decentralization of Ethereum**, since transactions are finalized on Ethereum. -4. Astar zkEVM **benefits from the already vibrant and active Ethereum community**. -5. Allows for **fast user onboarding**, since dApps built on Ethereum are already compatible. - -### Why is EVM Equivalence needed? - -Ethereum isn’t just a blockchain. It’s a rich ecosystem of smart contracts, developer tools, infrastructure, and wallets. It’s a vibrant community of developers, auditors, and users. - -The best way to scale Ethereum is to strive to maintain equivalence with this ecosystem. Astar zkEVM will give users and developers an almost identical experience to Ethereum L1 with significant scalability and user experience improvements. - -### What EVM opcodes are different on Astar zkEVM? - -The following EVM opcodes are different in Astar zkEVM: **SELFDESTRUCT**, **EXTCODEHASH**, **DIFFICULTY**, **BLOCKHASH**, and **NUMBER**. - -### What precompiled smart contract functions does Astar zkEVM support? - -The following precompiled contracts are supported in the zkEVM: **ecRecover** and **identity**. - -Other precompiled contracts have no effect on the zkEVM state tree and are treated as a `revert`, returning all gas to the previous context and setting the `success` flag to "0". - -### Which precompiled contracts are missing in the current zkEVM version? - -Astar zkEVM supports all precompiled contracts except **SHA256**, **BLAKE**, and **PAIRINGS**. - -### When will we get Type 2 EVM Equivalence? - -Currently, Astar zkEVM has Type 3 equivalence with EVM. It will reach Type 2 and full equivalence when all pre-compiled contracts are supported. - -### Can you explain the process of rollbacks and reverts in Astar zkEVM? Are they similar to EVM? - -The process of rollbacks and reverts is similar to regular EVMs. Whenever there is an error or a condition that triggers a revert, it uses the `REVERT` instruction to stop the execution and then returns an error message. - -Rollbacks can also happen sometimes because of an invalid zk-proof (this triggers something new to Astar zkEVM) which would cause the transaction to be aborted and all the state changes to be undone. - -### How does the Astar zkEVM handle events and logging? - -Astar zkEVM handles events and logging in a similar way to other EVMs, by emitting events and logging them on the blockchain for future reference. - -### How similar are Astar zkEVM error messages with Ethereum? - -Astar zkEVM has a high level of compatibility with Ethereum errors. You need to bear in mind that Astar zkEVM has more constraints than Ethereum and also uses different concepts (for example, batches instead of blocks). Therefore, it will give more types of errors with more precision (for example, the concept of gas in Astar zkEVM is more broken down). - -### Can Chainlink use their token (ERC677) in Astar zkEVM? - -You can deploy any smart contract on Astar zkEVM, just like you would on Ethereum, so you can deploy any token. If you want to send the token to Ethereum, the bridge will convert it to an ERC20 token (bi-directional bridge). - -The bridge also has **low-level message passing functionality** that can be used to bridge any type of value, including NFTs and other token standards. diff --git a/docs/build/zkEVM/faq/zkevm-general-faq.md b/docs/build/zkEVM/faq/zkevm-general-faq.md deleted file mode 100644 index 802cdea31de..00000000000 --- a/docs/build/zkEVM/faq/zkevm-general-faq.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_position: 1 -title: General FAQs related to zkEVM -sidebar_label: General FAQs ---- - -# General FAQ - -## Overview - -This document compiles some of the frequently asked questions related to the Astar zkEVM. For more details, check out [Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/). - - -### What is Astar zkEVM? - -Astar zkEVM is a Layer 2 scaling solution for Ethereum that offers an EVM-equivalent smart contract environment. This means that most of the existing smart contracts, developer tools, and wallets for Ethereum also work with the Astar zkEVM. - -Astar zkEVM harnesses the power of Zero-Knowledge proofs to reduce transaction costs and increase throughput on Layer 2, all while inheriting the security of Ethereum Layer 1. - -### What are the main features of Astar zkEVM? - -- **EVM-equivalence**: Most Ethereum smart contracts, wallets, and tools work seamlessly on Astar zkEVM. -- Inherits its **security from Ethereum.** -- Lower cost compared to Layer 1 and **faster finality compared to other Layer 2 solutions** such as Optimistic Rollups -- **Zero-Knowledge Proof-powered scalability** aiming for similar throughput to PoS. - -### What kind of gas fee reduction can users expect from Astar zkEVM? - -Compared to Ethereum Layer 1, users can expect a significant reduction in gas fees. Astar's Layer 2 scaling solution batches transactions together, effectively spreading the cost of a single Layer 1 transaction across multiple Layer 2 transactions. - -### How do zk Rollups work? - -zk Rollups aggregate large batches of transactions and finalize them on the Ethereum network using zero-knowledge validity proofs. - -### What is so unique about zkEVMs? - -ZkEVMs were thought to be years away; not practical or competitive with other zk Layer 2s as there seemed to loom an unavoidable tradeoff - Full EVM equivalence or high performance, but not both. - -However, given the proving system breakthroughs pioneered by Polygon Labs, full EVM equivalence is now possible while at the same time offering higher performance and lower costs than alternative Layer 1s, optimistic rollups, and other kinds of zk rollups. - -### How do I connect Astar zkEVM to a Metamask Wallet? - -In order to add the Astar zkEVM network to your wallet, please check [this guide](../quickstart.md) which contains the latest RPC details and videos demonstrating useful functionalities. - -### How does Astar zkEVM compare to other zkEVMs in terms of technology and performance? What are the technical advantages there? - -The best reference is Vitalik Buterin's comprehensive analysis of zkEVMs [published in his blog](https://vitalik.ca/general/2022/08/04/zkevm.html). - -However, the major difference between Astar zkEVM and others is the zkEVM's efficient prover and high Ethereum equivalence. Regarding the design of the prover/verification component: other projects use an arithmetic circuit approach while the Astar zkEVM zkProver uses the State Machine approach. - -### Is Astar zkEVM open source? - -Yes, [Astar zkEVM is fully open-source](https://polygon.technology/blog/polygon-zkevm-is-now-fully-open-source) and uses Polygon zkEVM solution with an AGPL v3 open-source license. - -### Does Astar zkEVM have a separate token? - -No. **ETH will be used for gas fees**. It is expected that ASTR will be used for staking and governance in Astar zkEVM in the future. - -It is also important to note that Astar zkEVM **natively supports Account Abstraction via ERC-4337**, which will allow users to pay fees with any token (bring your own gas). - -### What types of dApps can be deployed on Astar zkEVM? - -Any dApp that is compatible with EVM can be deployed, except for those which require a specific precompiled contract that is currently not supported by zkEVM. For more details related to supported precompiled contracts, check out the [Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/). - -### Can this Layer 2 zkEVM work with other chains? - -**At the moment, the answer is No**. Aspirationally, the goal in the future is to build one of many chains that allow users' assets to move from Layer 2 (Layer 2) to Layer 2. With that being said, users will not be able to utilize this functionality at launch, but Layer 2 to Layer 2 movement is included in our future roadmap. - -### What are some of the main use cases for Astar zkEVM? - -**DeFi Applications**: Because of Astar zkEVM’s high security and censorship resistance nature, it's a good fit for DeFi applications. zkRollups don’t have to wait for long periods for deposits and withdrawals; Astar zkEVM offers better capital efficiency for DeFi dApps/users. - -**NFT, Gamefi, and Enterprise Applications**: Low gas cost, high transaction speed, and a greater level of security coupled with Ethereum composability are attractive to blue chip NFTs, GameFi, and Enterprise applications. - -**Payments**: Users interested in transacting with each other in real-time within a near-instantaneous and low-fee environment will appreciate the value Astar zkEVM provides. - -### When Astar zkEVM publishes a proof on Layer 1, how can someone trust that that proof is accurate and includes all the transactions it claims it does? - -Our zkRollup smart contract warranties it. It's trustworthy due to data availability and the fact that the published validity proofs are quick and easily verifiable SNARK proofs. - -### Does Astar zkEVM have support for both Solidity and Vyper? - -Yes, any language that gets compiled to EVM opcode should work with Astar zkEVM. In other words, if it can run on Ethereum, it can run on the Astar zkEVM. - -### What is an RPC node? - -**RPC (Remote Procedure Call)** is a JSON-RPC interface compatible with Ethereum. It enables the integration of Astar zkEVM with existing tools, such as Metamask, Etherscan, and Infura. It adds transactions to the pool and interacts with the state using read-only methods. - -Additionally, for a software application to interact with the Ethereum blockchain (by reading blockchain data and/or sending transactions to the network), it must connect to an Ethereum node. It works the same way as other nodes such as geth. - -### Do you support the JSON-RPC EVM query spec? What are the unsupported queries? - -All official queries are supported (`eth_*` endpoints). We are working on support from some "extra official endpoints" such as `debug_*`. diff --git a/docs/build/zkEVM/faq/zkevm-protocol-faq.md b/docs/build/zkEVM/faq/zkevm-protocol-faq.md deleted file mode 100644 index 2cb51a7ff39..00000000000 --- a/docs/build/zkEVM/faq/zkevm-protocol-faq.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -sidebar_position: 3 -title: zkEVM Protocol FAQs -sidebar_label: Protocol FAQs ---- -This document compiles some of the frequently asked questions related to the Astar zkEVM protocol. For more details, check out [Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/). - ---- - -### How are transactions collected and ordered? - -- Transactions on the Astar zkEVM network are **created in users' wallets and signed with their private keys**. -- Once generated and signed, the **transactions are sent to the Trusted Sequencer's node** via their JSON-RPC interface. -- The transactions are then **stored in the pending transactions pool, where they await the Sequencer's selection**. -- The **Trusted Sequencer reads transactions** from the pool and decides whether to discard them or order and execute them. -- Lastly, the **Sequencer organizes the transactions into batches**, followed by the sequencing of the batches. - -### Are there any time or transaction intervals for a sequencer to wait before moving forward to make a Rollup batch? - -The sequencer always has an open batch. Transactions are added to this batch until this batch is full or a big timeout happens. Those batches are also accumulated until it reaches 128K of batches (or a big timeout) and then a sequencing transaction to Layer 1 is sent. - -From the Layer 2 user perspective, a new Layer 2 block (different from the Layer 2 batch) is closed and sent to the user. The user perceives the transaction finality even if the Layer 2 batch is not closed. **One Layer 2 Transaction is one Layer 2 Block**. - -### What are the stages that a transaction goes through in order to be finalized on Layer 1? - -The process of validating a specific transaction within the batch typically involves three steps: - -1. **Trusted State:** This state is given by the trusted sequencer almost instantaneously. No Layer 1 transactions are required. - -2. **Virtual State:** Transactions are on Layer 1. These transactions and their order cannot be modified as the state is final and anybody could calculate. - -3. **Verified State:** When the virtual state is verified by the smart contract, the funds can be withdrawn. - -### How does a Sequencer validate a specific transaction in order to generate proof? - -The Sequencer retrieves the transaction from the transaction pool and verifies that it is properly formatted and contains all the necessary information. The Sequencer does the following checks: - -- Checks that the transaction is valid by checking that the Sender has enough funds to cover the gas costs of the transaction and that the smart contract called, if any, is valid and has the correct bytecode. - -- Checks that the transaction is not a duplicate by checking the transaction nonce of the Sender to ensure that it is one greater than the last nonce used. - -- Checks that the transaction is not a double-spend by checking that the Sender's account balance has not been already spent in another transaction. - -Once the transaction is deemed valid, the Sequencer applies the transaction to the current state of the Astar zkEVM, updating the state of the smart contract and the account balances as necessary. Duration and cost vary depending on traffic and prevailing gas prices. - -### When do transactions achieve finality in Astar zkEVM? - -**If the user trusts the Sequencer**, transactions are considered final once the Sequencer sequences it (or Trusted State). - -**If the user trusts only the Layer 1 state**, then the transaction will be final at the moment it reaches **Virtual State**. This means, once the data is available and the transaction is already on Layer 1. - -**In case the user needs to withdraw funds**, he/she needs to wait for the Prover to convert the implicit state to an explicit state. We call this last state the **Consolidated or Verified State**. - -### Are Sequencers and Provers in-house or external? How do you ensure that your Sequencers and Provers maintain decentralization? - -Astar zkEVM's **Sequencer will be centralized during early stages**. We have a roadmap to decentralize the sequencer in future releases. - -Likewise, the **Prover is also centralized at the beginning** but the vision is to enable a Provers market. Provers cannot do much but generate proofs. To have a decentralized system of Provers is much more critical (and difficult) than the Sequencer. - -### Can a zkNode serve as both Sequencer and Aggregator? If not, how is it determined what role a node can play? - -A zkNode can potentially serve as both a sequencer and an aggregator, depending on the specific implementation of the zero-knowledge proof protocol. - -In some implementations, a node may only be able to perform one function or the other. The role a node can play is determined by the specific implementation of the protocol and the requirements of the network. For example, some protocols may require a certain number of nodes to perform the role of sequencer and a certain number to perform the role of aggregator in order to ensure the security and efficiency of the network. - -### How exactly do the state sync components do the syncing in Layer 2 after a transaction batch and its validity proof is mined on Layer 1? - -An easy way to summarize is that for each batch, one hash named `globalExitRoot` is transferred from **Layer 1 → Layer 2** and another hash is transferred from **Layer 2 → Layer 1** named `localExitRoot`. - -`globalExitRoot` mainly includes all the deposits and `localExitRoot` includes all the withdrawals. - -### What is Forced Batches? - -A Forced Batch is an Layer 2 batch included in an Layer 1 transaction. Trusted Sequencer is forced to include those batches. This is how a user guarantees that they can withdraw funds even if they are censored by Trusted Sequencer. - -This property is what memes the system censorship resistance. - -### What is an Emergency State, and when is it triggered? - -Emergency State halts the functionalities such as the sequencing of batches, verifying of batches, and forced batches. - -It can be triggered by the owner of a smart contract or, in the case of Astar zkEVM, by a Security Council multisig. This means that the Security Council can invoke the Emergency State if the pending state timeout is reached or a threatening vulnerability occurs. - diff --git a/docs/build/zkEVM/fee.md b/docs/build/zkEVM/fee.md deleted file mode 100644 index e5a2f650a40..00000000000 --- a/docs/build/zkEVM/fee.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -sidebar_position: 3 -title: Astar zkEVM Fee Calculation -sidebar_label: Fee Calculation ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## How do network fees on Astar zkEVM work? -In Astar zkEVM the gas fee is calculated by applying a fixed factor over L1 gas fee. That price factor is a fixed value and doesn't change often and it's value is based the rollup's cost to publish tx to L1. To Simply put, gas prices in L2 will linearly follow gas prices in L1. - -$$ -L2_\{gas\_fee\} = L1_\{gas\_fee\} * Factor -$$ - -The L1 fee will vary depending on the amount of transactions on the L1. If the timing of your transaction is flexible, you can save costs by submitting transactions during periods of lower gas on the L1 (for example, over the weekend) - -The support for congestion mechanism based EIP-1559 [here](https://eips.ethereum.org/EIPS/eip-1559) is planned for future and will make the L2 gas fee dynamic. - -## Fetch gas price from RPC node -The gas price can be fetched from the Astar zkEVM Sequencer using the following RPC call: - -```bash -curl https://rpc.startale.com/zkyoto \ - -X POST \ - -H "Content-Type: application/json" \ - --data '{"method":"eth_gasPrice","params":[],"id":1,"jsonrpc":"2.0"}' - ``` - - The result is the hex value of the gas price in wei. - -## Use Blockscout Price Oracle -Blockscout Price Oracle calculates the gas price from the average of previous blocks. It doesn't call `eth_gasPrice`. - - - - -Send a GET request to the [Blockscout Price Oracle endpoint](https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle) to get a gas price recommendation from this oracle. - -#### cURL - -```bash -curl https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle -``` - -#### JavaScript - -```javascript -fetch('https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle') - .then(response => response.json()) - .then(json => console.log(json)) -``` - -#### Python - -```python -import requests -requests.get('https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle').json() -``` - - - - -Send a GET request to the [Blockscout Price Oracle endpoint](https://zkatana.blockscout.com/api/v1/gas-price-oracle) to get a gas price recommendation from this oracle. - -#### cURL - -```bash -curl https://zkatana.blockscout.com/api/v1/gas-price-oracle -``` - -#### JavaScript - -```javascript -fetch('https://zkatana.blockscout.com/api/v1/gas-price-oracle') - .then(response => response.json()) - .then(json => console.log(json)) -``` - -#### Python - -```python -import requests -requests.get('https://zkatana.blockscout.com/api/v1/gas-price-oracle').json() -``` - - - - -### The Price Oracle Response - -An example JSON response from Blockscout Price Oracle will look like this: - -```json -{ - "average":3.02, - "fast":3.02, - "slow":3.02, -} -``` - -- {`average`, `fast`, `slow`} are gas prices in Gwei, you can use these prices before sending the transaction off to Astar zkEVM. \ No newline at end of file diff --git a/docs/build/zkEVM/img/add-cdk-1.png b/docs/build/zkEVM/img/add-cdk-1.png deleted file mode 100644 index 24c55f0c4fc..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-1.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-10.png b/docs/build/zkEVM/img/add-cdk-10.png deleted file mode 100644 index d20912a603d..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-10.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-11.png b/docs/build/zkEVM/img/add-cdk-11.png deleted file mode 100644 index 2f20cfdd00f..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-11.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-12.png b/docs/build/zkEVM/img/add-cdk-12.png deleted file mode 100644 index d06d9cf0e8d..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-12.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-13.png b/docs/build/zkEVM/img/add-cdk-13.png deleted file mode 100644 index 1192a1c49b3..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-13.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-14.png b/docs/build/zkEVM/img/add-cdk-14.png deleted file mode 100644 index 6d445865b19..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-14.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-15.png b/docs/build/zkEVM/img/add-cdk-15.png deleted file mode 100644 index 42fda7c87a1..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-15.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-2.png b/docs/build/zkEVM/img/add-cdk-2.png deleted file mode 100644 index 5c5229cb9b9..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-2.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-3.png b/docs/build/zkEVM/img/add-cdk-3.png deleted file mode 100644 index fadc06989d5..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-3.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-4.png b/docs/build/zkEVM/img/add-cdk-4.png deleted file mode 100644 index de91e839791..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-4.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-5.gif b/docs/build/zkEVM/img/add-cdk-5.gif deleted file mode 100644 index a8b43ddcd4e..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-5.gif and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-6.gif b/docs/build/zkEVM/img/add-cdk-6.gif deleted file mode 100644 index 127648a20ac..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-6.gif and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-7.png b/docs/build/zkEVM/img/add-cdk-7.png deleted file mode 100644 index 7626e4e97a6..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-7.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-8.png b/docs/build/zkEVM/img/add-cdk-8.png deleted file mode 100644 index 2ab71fc3b4e..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-8.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add-cdk-9.png b/docs/build/zkEVM/img/add-cdk-9.png deleted file mode 100644 index c0abd0c5de6..00000000000 Binary files a/docs/build/zkEVM/img/add-cdk-9.png and /dev/null differ diff --git a/docs/build/zkEVM/img/add_zkEVM_network1.jpg b/docs/build/zkEVM/img/add_zkEVM_network1.jpg deleted file mode 100644 index 18f92e99ea4..00000000000 Binary files a/docs/build/zkEVM/img/add_zkEVM_network1.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/add_zkEVM_network2.jpg b/docs/build/zkEVM/img/add_zkEVM_network2.jpg deleted file mode 100644 index 0cc033a38ce..00000000000 Binary files a/docs/build/zkEVM/img/add_zkEVM_network2.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya1.jpg b/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya1.jpg deleted file mode 100644 index 4b0b73b98c4..00000000000 Binary files a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya1.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya2.jpg b/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya2.jpg deleted file mode 100644 index 07405c206ff..00000000000 Binary files a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya2.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya3.jpg b/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya3.jpg deleted file mode 100644 index f91a7aaec08..00000000000 Binary files a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya3.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya4.jpg b/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya4.jpg deleted file mode 100644 index 749d82ad7a6..00000000000 Binary files a/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya4.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/metamask-network.png b/docs/build/zkEVM/img/metamask-network.png deleted file mode 100644 index 8e1e3480af7..00000000000 Binary files a/docs/build/zkEVM/img/metamask-network.png and /dev/null differ diff --git a/docs/build/zkEVM/img/metamask-sepolia-select.png b/docs/build/zkEVM/img/metamask-sepolia-select.png deleted file mode 100644 index 7ec74d60a5e..00000000000 Binary files a/docs/build/zkEVM/img/metamask-sepolia-select.png and /dev/null differ diff --git a/docs/build/zkEVM/img/wallet-select.jpg b/docs/build/zkEVM/img/wallet-select.jpg deleted file mode 100644 index 8fce1c66112..00000000000 Binary files a/docs/build/zkEVM/img/wallet-select.jpg and /dev/null differ diff --git a/docs/build/zkEVM/img/zKatana-network1.jpg b/docs/build/zkEVM/img/zKatana-network1.jpg deleted file mode 100644 index 2deb382bbb4..00000000000 Binary files a/docs/build/zkEVM/img/zKatana-network1.jpg and /dev/null differ diff --git a/docs/build/zkEVM/index.md b/docs/build/zkEVM/index.md deleted file mode 100644 index 29ec912b1a4..00000000000 --- a/docs/build/zkEVM/index.md +++ /dev/null @@ -1,23 +0,0 @@ -# Build on Astar zkEVM - -## What is Astar zkEVM? - -Astar zkEVM is an Ethereum Layer-2 scaling solution leveraging Polygon's Chain Development Kit and cutting edge zero-knowledge cryptography to enable off-chain transaction execution, with finality and security guarantees provided by Ethereum. In coordination with our key partners, Astar zkEVM is well-positioned to take advantage of the extensive developer base and well-established toolset existing in the Ethereum ecosystem, and boasts the following key features: - -- **Lower Transaction Fees compared to Ethereum** - Due to the transaction batching, as explained above. -- **Full EVM-equivalence** - Not only EVM compatibility; Equivalence. Smart contracts that work on Ethereum also work on Astar zkEVM. -- **Native Account Abstraction** - The Astar zkEVM provides native features designed to revolutionize the end-user experience, and make it seamless. See the [Account Abstraction section](/docs/build/zkEVM/integrations/account-abstraction/) to learn more about how to refine the end-user experience. -- **Recognized Partners** - Established names and brands that developers trust power the Astar zkEVM. See the [integrations section](/docs/build/zkEVM/integrations/) for more information about 3rd party service providers. -- **Interoperability and Exposure** - With Astar zkEVM, we are supporting interoperability between the Ethereum and Polkadot ecosystems, uniting communities, and empowering web3 accessibility through a common Multichain vision. -- **Established Tools and Libraries** - Compatible with the tools web3 developers already know how to use, such as Remix, Hardhat, and Open Zeppelin. - -## Section Overview - -The following sections walk through the process of setting up a development environment and introduce common tools and partner services useful for powering highly scalable dApps and seamless user onboarding experiences on the Astar zkEVM. - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/docs/build/zkEVM/integrations/_category_.json b/docs/build/zkEVM/integrations/_category_.json deleted file mode 100644 index 72788c74d75..00000000000 --- a/docs/build/zkEVM/integrations/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Integrations", - "position": 8 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/account-abstraction/Magic.md b/docs/build/zkEVM/integrations/account-abstraction/Magic.md deleted file mode 100644 index 9aa708dfd9e..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/Magic.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Magic.link ---- - -import Figure from '/src/components/figure' - -# Overview - -Magic's SDKs integrate seamlessly into any web or mobile application to enable: - -- Blazing-fast, hardware-secured, passwordless [authentication](https://magic.link/docs/authentication/overview) - -- Non-custodial customizable [wallets](https://magic.link/docs/wallets/overview) with best-in-class security and UX - -- Compatibility with over [25+ blockchains NFT services](https://magic.link/docs/nfts/overview) for minting and checkout - -[Use our CLI](https://magic.link/docs/home/quickstart/cli) or follow the guide to get Magic setup with your web app on [Astar zkEVM](https://magic.link/docs/blockchains/other-chains/evm/astar-zkevm) in minutes. - -## ⁠Features - -### Authentication -Choose between a wide variety of passwordless login options to best suit your audience and use case. - -### Wallets -Magic instantaneously creates wallets for your users when they sign up. Our patented “Delegated Key Management System” (DKMS) keeps keys secure and non-custodial. - -### Blockchains -We support over 25+ blockchains and integrate with their respective web3 libraries to minimize additional code needed to use Magic. - -Magic aims to keep up to date with wallet standards on these chains and ensure compatibility with their respective web3 wallet libraries. \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/account-abstraction/_category_.json b/docs/build/zkEVM/integrations/account-abstraction/_category_.json deleted file mode 100644 index ea891e37af2..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Account Abstraction", - "position": 1 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/account-abstraction/img/22_1.png b/docs/build/zkEVM/integrations/account-abstraction/img/22_1.png deleted file mode 100644 index fab25d7e961..00000000000 Binary files a/docs/build/zkEVM/integrations/account-abstraction/img/22_1.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/account-abstraction/img/23_1.png b/docs/build/zkEVM/integrations/account-abstraction/img/23_1.png deleted file mode 100644 index cd93ddd3ee5..00000000000 Binary files a/docs/build/zkEVM/integrations/account-abstraction/img/23_1.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/account-abstraction/img/24_1.png b/docs/build/zkEVM/integrations/account-abstraction/img/24_1.png deleted file mode 100644 index c472018ed54..00000000000 Binary files a/docs/build/zkEVM/integrations/account-abstraction/img/24_1.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/account-abstraction/img/webapp.png b/docs/build/zkEVM/integrations/account-abstraction/img/webapp.png deleted file mode 100644 index a10a09089ba..00000000000 Binary files a/docs/build/zkEVM/integrations/account-abstraction/img/webapp.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/account-abstraction/index.md b/docs/build/zkEVM/integrations/account-abstraction/index.md deleted file mode 100644 index 850f1f9ed59..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/index.md +++ /dev/null @@ -1,18 +0,0 @@ -# Account Abstraction - -:::note -Please note that this section is under active development. -::: - -## Overview - -Here you will find all the information required to refine the end-user experience and allow for seamless web2-like interactions with dApps and accounts on the Astar zkEVM. - -Account Abstraction is a blockchain technology that enables users to utilize smart contracts as their accounts. While the default account for most users is an Externally Owned Account (EOA), which is controlled by an external private key, it requires users to have a considerable understanding of blockchain technology to use them securely. Fortunately, smart contract accounts can create superior user experiences. - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/docs/build/zkEVM/integrations/account-abstraction/web3auth/_category_.json b/docs/build/zkEVM/integrations/account-abstraction/web3auth/_category_.json deleted file mode 100644 index 57a3cba923f..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/web3auth/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Web3Auth", - "position": 1 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/account-abstraction/web3auth/index.md b/docs/build/zkEVM/integrations/account-abstraction/web3auth/index.md deleted file mode 100644 index 3b3a973b80a..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/web3auth/index.md +++ /dev/null @@ -1,33 +0,0 @@ -# What is Web3Auth? -Web3Auth is a pluggable wallet infrastructure for Web3 wallets and applications. It streamlines the onboarding of both mainstream and crypto native users in under a minute by providing experiences that they're most comfortable with. With support for all OAuth based logins systems, web & mobile native platforms, Web3Auth provides a seamless onboarding experience for your users. - -## What does Web3Auth do? -By integrating Web3Auth into your decentralized application (dApp) or blockchain wallet, you can significantly streamline the user onboarding process, making it an effortless and straightforward experience for your users. At the same time, Web3Auth allows you to retain the non-custodial characteristic of your wallet management system, which means users maintain full control and ownership of their cryptographic wallets, reinforcing the principles of privacy and security inherent in blockchain technology. - -**Versatile Sign-in Options & Passwordless Registration:** Users can sign up through various OAuth providers such as Google, Twitter, GitHub, etc., or opt for a passwordless registration where a sign-in link is sent directly to their email. - -**Customizable Login Systems:** Developers have the flexibility to create their own login systems, incorporating traditional methods and Web3Auth's wallet management infrastructure. This can be integrated into existing user bases or authentication processes without the need for migration. - -**Comprehensive Web3 Wallet/Key Management:** Web3Auth's MPC-based wallet management infrastructure provides secure, non-custodial wallet management, where users maintain control of their cryptographic key pair. The login service only accesses a single share, preventing the provider from retrieving the user's wallet independently. - -**Effortless Wallet Recovery:** Multiple factor authentication methods, such as social accounts, email, SMS, or trusted devices, facilitate easy key recovery. Users can restore their wallets without fear of losing them. - -## Is Web3Auth a Wallet? -Web3Auth isn't a wallet itself, but serves as an essential wallet infrastructure that can be integrated seamlessly into any application. Its primary function is to offer more tailored flows for decentralized applications (dApps) or even blockchain wallets alike, solving the user onboarding and key management problem. - -For a dApp, using a traditional wallet might seem straightforward, but it can limit control over the user flow and necessitate users' understanding of complex blockchain transactions. Web3Auth helps avoid these complications by allowing for customized flow adjustments based on specific needs. - -Implementing Web3Auth yields a standard cryptographic key provider unique to each user and application. This key provider, which can be used to sign transactions or perform other wallet operations, gives developers the flexibility to create a custom wallet within their application or utilize one of Web3Auth's pre-existing external wallet adapters. - -Although it significantly enhances wallet functionality, it's important to note that Web3Auth remains a wallet infrastructure, not a wallet in itself. - -For more information about Web3Auth check out their [official documentation](https://web3auth.io/docs/what-is-web3auth) - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - - - diff --git a/docs/build/zkEVM/integrations/account-abstraction/web3auth/web3auth-zkatana.md b/docs/build/zkEVM/integrations/account-abstraction/web3auth/web3auth-zkatana.md deleted file mode 100644 index 9e81bec1551..00000000000 --- a/docs/build/zkEVM/integrations/account-abstraction/web3auth/web3auth-zkatana.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Using Web3Auth -sidebar_position: 1 ---- - -# Integrate Web3Auth with Astar zkEVM - -While using the Web3Auth Web SDK, you get access to a EIP1193 provider, similar to the Metamask Provider. This provider can be used with libraries like web3.js, ethers.js etc. to make zKyoto blockchain calls for the purpose of getting the user's account info, fetching balances, signing transactions, sending transactions, reading from and writing to smart contracts, etc. - -For more information about how to use Web3Auth on Astar zkEVM, please consult their [official documentation.](https://web3auth.io/docs/connect-blockchain/evm/zkevm/) diff --git a/docs/build/zkEVM/integrations/index.md b/docs/build/zkEVM/integrations/index.md deleted file mode 100644 index dbb17095864..00000000000 --- a/docs/build/zkEVM/integrations/index.md +++ /dev/null @@ -1,11 +0,0 @@ -# Integrations - -Here you will find common services and tools available to developers building dApps on the Astar zkEVM, including sample configurations, and guides for many important elements of our infrastructure, including: - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - - diff --git a/docs/build/zkEVM/integrations/indexers/_category_.json b/docs/build/zkEVM/integrations/indexers/_category_.json deleted file mode 100644 index 02c0669a833..00000000000 --- a/docs/build/zkEVM/integrations/indexers/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Indexers", - "position": 3 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio1.png b/docs/build/zkEVM/integrations/indexers/img/sentio1.png deleted file mode 100644 index 87deb4e3207..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio1.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio10.png b/docs/build/zkEVM/integrations/indexers/img/sentio10.png deleted file mode 100644 index 487e16a74ca..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio10.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio11.png b/docs/build/zkEVM/integrations/indexers/img/sentio11.png deleted file mode 100644 index e89f90189e7..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio11.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio12.png b/docs/build/zkEVM/integrations/indexers/img/sentio12.png deleted file mode 100644 index cad15173e1b..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio12.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio13.png b/docs/build/zkEVM/integrations/indexers/img/sentio13.png deleted file mode 100644 index 0da1d883be9..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio13.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio14.png b/docs/build/zkEVM/integrations/indexers/img/sentio14.png deleted file mode 100644 index c826af5a85b..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio14.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio15.png b/docs/build/zkEVM/integrations/indexers/img/sentio15.png deleted file mode 100644 index 2890f5b6f66..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio15.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio16.png b/docs/build/zkEVM/integrations/indexers/img/sentio16.png deleted file mode 100644 index fbae78c42ec..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio16.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio17.png b/docs/build/zkEVM/integrations/indexers/img/sentio17.png deleted file mode 100644 index 90cbcce2532..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio17.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio18.png b/docs/build/zkEVM/integrations/indexers/img/sentio18.png deleted file mode 100644 index 2899ab28199..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio18.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio19.png b/docs/build/zkEVM/integrations/indexers/img/sentio19.png deleted file mode 100644 index 417b437c03d..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio19.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio2.png b/docs/build/zkEVM/integrations/indexers/img/sentio2.png deleted file mode 100644 index 29f77278772..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio2.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio20.png b/docs/build/zkEVM/integrations/indexers/img/sentio20.png deleted file mode 100644 index 111032070a5..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio20.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio21.png b/docs/build/zkEVM/integrations/indexers/img/sentio21.png deleted file mode 100644 index a781212fa0a..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio21.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio22.png b/docs/build/zkEVM/integrations/indexers/img/sentio22.png deleted file mode 100644 index 90fd5b17fca..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio22.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio23.png b/docs/build/zkEVM/integrations/indexers/img/sentio23.png deleted file mode 100644 index 839750c543b..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio23.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio3.png b/docs/build/zkEVM/integrations/indexers/img/sentio3.png deleted file mode 100644 index a7ad22012aa..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio3.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio4.png b/docs/build/zkEVM/integrations/indexers/img/sentio4.png deleted file mode 100644 index 41592daaa6d..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio4.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio5.png b/docs/build/zkEVM/integrations/indexers/img/sentio5.png deleted file mode 100644 index a9027e40198..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio5.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio55.png b/docs/build/zkEVM/integrations/indexers/img/sentio55.png deleted file mode 100644 index 79242fac7e9..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio55.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio6.png b/docs/build/zkEVM/integrations/indexers/img/sentio6.png deleted file mode 100644 index a68e8bf23dd..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio6.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio7.png b/docs/build/zkEVM/integrations/indexers/img/sentio7.png deleted file mode 100644 index 317c6dd1d40..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio7.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio8.png b/docs/build/zkEVM/integrations/indexers/img/sentio8.png deleted file mode 100644 index 63993a82309..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio8.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/sentio9.png b/docs/build/zkEVM/integrations/indexers/img/sentio9.png deleted file mode 100644 index dcc060cef29..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/sentio9.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph1-logo.jpg b/docs/build/zkEVM/integrations/indexers/img/thegraph1-logo.jpg deleted file mode 100644 index f6a909d1345..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph1-logo.jpg and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph10-subgraph.png b/docs/build/zkEVM/integrations/indexers/img/thegraph10-subgraph.png deleted file mode 100644 index f88e43665b4..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph10-subgraph.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph11-initializesubgraph.png b/docs/build/zkEVM/integrations/indexers/img/thegraph11-initializesubgraph.png deleted file mode 100644 index a0bc86eb8c9..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph11-initializesubgraph.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph12-installgraphcli.png b/docs/build/zkEVM/integrations/indexers/img/thegraph12-installgraphcli.png deleted file mode 100644 index 01d6e901fa2..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph12-installgraphcli.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph13-yarngraphcli.png b/docs/build/zkEVM/integrations/indexers/img/thegraph13-yarngraphcli.png deleted file mode 100644 index 962fe270b79..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph13-yarngraphcli.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph14-astar-zkevm-networks.png b/docs/build/zkEVM/integrations/indexers/img/thegraph14-astar-zkevm-networks.png deleted file mode 100644 index 6397ae081a3..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph14-astar-zkevm-networks.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph2-connectwallet.png b/docs/build/zkEVM/integrations/indexers/img/thegraph2-connectwallet.png deleted file mode 100644 index a74a9b68c0d..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph2-connectwallet.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph3-connectwallet2.png b/docs/build/zkEVM/integrations/indexers/img/thegraph3-connectwallet2.png deleted file mode 100644 index 829c579c80d..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph3-connectwallet2.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph4-createfirstSubgraph.png b/docs/build/zkEVM/integrations/indexers/img/thegraph4-createfirstSubgraph.png deleted file mode 100644 index f8bad1349b9..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph4-createfirstSubgraph.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph5-createfirstAPI.png b/docs/build/zkEVM/integrations/indexers/img/thegraph5-createfirstAPI.png deleted file mode 100644 index 1748ca060ea..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph5-createfirstAPI.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph6-createAPIkey.png b/docs/build/zkEVM/integrations/indexers/img/thegraph6-createAPIkey.png deleted file mode 100644 index 5b69b7604eb..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph6-createAPIkey.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph7-freequeries.png b/docs/build/zkEVM/integrations/indexers/img/thegraph7-freequeries.png deleted file mode 100644 index e7969626f4d..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph7-freequeries.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph8-subgraphstudio.png b/docs/build/zkEVM/integrations/indexers/img/thegraph8-subgraphstudio.png deleted file mode 100644 index e4ef3a08e8b..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph8-subgraphstudio.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/img/thegraph9-createsubgraph.png b/docs/build/zkEVM/integrations/indexers/img/thegraph9-createsubgraph.png deleted file mode 100644 index 18a7126f21c..00000000000 Binary files a/docs/build/zkEVM/integrations/indexers/img/thegraph9-createsubgraph.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/indexers/index.md b/docs/build/zkEVM/integrations/indexers/index.md deleted file mode 100644 index 4b9d9fc03e9..00000000000 --- a/docs/build/zkEVM/integrations/indexers/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Indexers ---- - -import Figure from '/src/components/figure' - -# Indexers - -## Overview - -Here you will find all the information required to use GraphQL data sources and indexers on Astar zkEVM. - -## GraphQL Data Sources and Indexers - -Blockchain developers are often faced with the challenge of obtaining data from various API and data sources. Traditional methods may involve directly interacting with each network's API, which can be time-consuming and complex. However, leveraging GraphQL data sources simplifies this process, enabling developers to fetch data from multiple sources seamlessly. - -## What is GraphQL? - -GraphQL is a query language for APIs and a runtime for executing those queries with your existing data. It provides an efficient and powerful alternative to REST and offers significant advantages when dealing with complex data models. - -GraphQL allows clients to define the structure of the responses they receive. This means that instead of receiving a fixed data structure from a server, clients can request specific data they need, leading to more efficient data loading and a reduction in data over-fetching. - -## Custom Indexing - -Take a look at any of the following for your own custom GraphQL indexing needs: - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - - diff --git a/docs/build/zkEVM/integrations/indexers/sentio-debugger.md b/docs/build/zkEVM/integrations/indexers/sentio-debugger.md deleted file mode 100644 index 3387624bee3..00000000000 --- a/docs/build/zkEVM/integrations/indexers/sentio-debugger.md +++ /dev/null @@ -1,269 +0,0 @@ ---- -title: Debugger -sidebar_position: 3 ---- - -import Figure from '/src/components/figure' - -# Sentio Debugger - -## Basic - -Sentio debugger is a tool that helps developers understand how transactions work, and is compatible with Astar zkEVM. - -Search for specific transactions on the [Explorer page](https://app.sentio.xyz/explorer) - -
- -The Transaction Explorer has a few key features, including: - -## Transaction Information - -Sentio provides standard information about specific transactions. - -### Transaction Metadata - -For each transaction, Sentio adds standard transaction metadata, and a link to the block explorer page on the **Overview** tab. - -
- -### Events - -Events are decoded where ABIs are available, and are otherwise displayed according to *best effort* on the **Events** tab. - -
- -### State Diff - -When a transaction causes state changes, Sentio lists them on the **State** tab. - -
- -### Contract Code Explorer - -Sentio provides a code explorer for all the related code on the **Contracts** tab. - -
- -## Trace the Money - -The best way to understand a transaction is to trace the money. Sentio provides both **Balance Change** and **Fund Flow** analysis tools. - -### Balance Change - -While a transaction is executing, multiple contracts may have their balances updated. Sentio displays the balance changes that occur during a transaction. - -
- -For example, in this MEV arbitrage transaction above, each party involved has a balance of different assets increasing and decreasing, except one address (0xa0d...) which has only an increasing asset, indicating that it made the arbitrage profit. - -### Fund Flows - -Sentio provides detailed and **ordered** fund flows. In the following example we visualize the process of how an arbitrageur made a profit by utilizing several trading venues. - -
- -## Trace and Call - -Sentio provides trace view of transactions. - -### Trace modes and options - -**Trace mode:** Full trace mode includes cross-contract calls (CALL) and in-contract calls (JUMP). - -
- -You can also hide in-contract calls (JUMP) by turning off Full trace. - -**Options:** Users can hide static calls and select the level of trace displayed. - -
- -**Call Graph:** Sentio provides the call graph that shows the contract interactions within a transaction. - -
- -## Debugging - -To understand a transaction even further, developers can use the **Debugger** tab to visualize the execution line-by-line. - -
- -### Debugger tab layout - -**Traces** - -On the upper-left section, Sentio shows the trace of the transaction, this is the same as *trace and call.* Users can use this to select a location and execute directly to that position. - -
- - -**Stack Traces** - -The bottom-left section contains the current call stack information, for example: - -
- -### Single-Step Mode - -:::info -To use single-step mode: -- Turn on single-step mode. -- (optional) Use Debug Build -- Sentio will recompile the contract with different compiler parameters to achieve the best source mapping. See **Limitations** below. -::: - -
- - -**Use Debugger** - -The debugger has standard definitions of: - -- Step-Over: Move to the next line of execution. -- Step-Into: If there is a function, steps into the function. -- Step-Out: If we are in a function, steps out the function to the upper level. -- Continue: This is the standard break-point. -- Restart: Restart from the beginning. - -**Inspect Variables** - -The debugger automatically shows the local variables within the call context, and all the contract variables. - -
- -The debugger also supports adding **user defined watched variables (similar to a regular debugger.)** - -
- -**Limitations** - -- Contracts compiled with the viaIR option are not fully supported. -- When debugging a release build, since they are fully optimized, source-mapping issues and unexpected execution orders may present themselves. -- When debugging a debug build, gas usage is ignored, which may cause different code execution. e.g. if the original transaction runs out of gas, the debug build will indicate the transaction fully executes. - -### Function-only Mode - -If single-step mode is turned off, the debugger will behave at the *function* level. - -**Use the debugger** - -The debugger has standard definitions of: - -- Next: proceeds to the next function call (depth first search order) -- Previous: reverts to the previous function call -- Step Over: proceeds to the next function call (**does not** follow nested calls) -- Step Up: goes up one level - -**Inspect the variables** - -In this mode, developers can visualize **Inputs**, **Return Value** and **Gas info.** - -
- -## Simulation - -The Sentio simulator allows you to run simulations and analyze the data collected in great detail. -You can quickly begin simulations through the Sentio [UI](https://docs.sentio.xyz/sentio-debugger/simulation/simulation-ui) or by calling the [API](https://docs.sentio.xyz/sentio-debugger/simulation/simulation-api). - -### Simulation UI - -**From existing transaction** -The simplest way to start a simulation is to click the simulator button as shown below, on a transaction that has been opened. - -
- -In this case, it will copy all the parameters from the existing transaction and you could make adjustments on top of it. Like block number, block index, gas fee, block header, state, etc. - -
- -Click the simulate transaction button will save this run to the simulation history of your project and show you the result, just like what you see from the normal debugger UI. - -**Direct Build** - -You can also click the simulator button on the left navigation bar and go to the simulator page which shows all the history simulations. Click the simulation button on the right corner will pop a similar UI but without prepopulated transaction data. - -
- -**Override Contract** - -Use the compilations tab to upload a local contract compilation folder. - -
- -When doing the simulation, choose the contract override. - -
- -### Simulation API - -#### Create Simulation - -For all simulation API calls, you should have an API key, and pass it by header with the field api-key. Refer to [API Key](https://docs.sentio.xyz/references/concepts/api-key) for how to obtain one. - -The simulation body should be included in the request body. You can follow the example below. - -``` -curl --location 'https://app.sentio.xyz/api/v1/solidity/simulate' \ ---header 'api-key: ' \ ---header 'Content-Type: application/json' \ ---data '{ - "projectOwner": "", - "projectSlug": "", - "simulation": { - "networkId": "1", // Chain ID, "1" for Ethereum mainnet. See chainlist.org for details - "blockNumber": "17415072", - "transactionIndex": "97", // transaction index in the block - - // standard field for evm transactions - "from": "0x5e8bb488e85ea732e17150862b1acfc213a7c13d", - "to": "0xef1c6e67703c7bd7107eed8303fbe6ec2554bf6b", - "value": "0x0", - "gas": "0x31ae2", - "gasPrice": "0xe59a1adbe", - "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000647dffef0000000000000000000000000000000000000000000000000000000000000002080c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000003077b58d5d378391980000000000000000000000000000000000000000000000000000000032b2ced3e40e9d100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000082646b22a3960da69ef7a778c16dd6fb85dd999000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000032b2ced3e40e9d1", - - // overrides - "stateOverrides": { - "0x0811fd1808e14f0b93f0514313965a5f142c5539": { - "balance": "0x1111111111111111" - } - }, - "blockOverride": { - "baseFee": "0x0" - } - } -}' -``` - -Your simulations will be saved, and a unique ID for each simulation is included in the response. It will be useful for fetching simulation details. - -#### Get Detail Trace - -State Diff -Endpoint: https://app.sentio.xyz/api/v1/solidity/state_diff -API key is required. - -
- -Example: - -``` -curl --location 'https://app.sentio.xyz/api/v1/solidity/state_diff?networkId=1&txId.simulationId=pVwBCxr3&projectOwner=&projectSlug=' \ ---header 'api-key: ' -``` - -#### Trace Decoded Trace - -Endpoint: https://app.sentio.xyz/api/v1/solidity/call_trace -API key is required. - -
- -Example: - -``` -curl --location 'https://app.sentio.xyz/api/v1/solidity/call_trace?withInternalCalls=true&networkId=1&txId.simulationId=pVwBCxr3&projectOwner=&projectSlug=' \ ---header 'api-key: ' -``` - -For more information about Sentio Debugger and for information not listed here, visit their [official documentation](https://docs.sentio.xyz) page. \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/indexers/subquery.md b/docs/build/zkEVM/integrations/indexers/subquery.md deleted file mode 100644 index 4cd06d5d46c..00000000000 --- a/docs/build/zkEVM/integrations/indexers/subquery.md +++ /dev/null @@ -1,15 +0,0 @@ -# SubQuery - -## What is SubQuery? - -SubQuery is an open-source and universal blockchain data indexer for developers that provides fast, flexible, reliable, and decentralised APIs to power leading multi-chain apps. Our goal is to save developers time and money by eliminating the need of building their own indexing solution and instead, fully focus on developing their applications. - -SubQuery's superior indexing capabilities support Astar smart contracts all out of the box. (In reality a Docker container!) Starter projects are provided allowing developers to get up and running and index blockchain data in minutes. - -Another one of SubQuery's competitive advantages is the ability to aggregate data not only within a chain but across blockchains all within a single project. This allows the creation of feature-rich dashboard analytics or multi-chain block scanners. - -Other advantages include superior performance with multiple RPC endpoint configurations, multi-worker capabilities and a configurable caching architecture. To find out more, visit our documentation. - -## SubQuery for Astar zkEVM - -Please visit the quickstart guide [here](https://academy.subquery.network/quickstart/quickstart_chains/astar-zkatana.html) or reference their existing documentation made for Astar [here.](/docs/build/integrations/indexers/subquery.md) \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/indexers/thegraph.md b/docs/build/zkEVM/integrations/indexers/thegraph.md deleted file mode 100644 index 618f8be20b6..00000000000 --- a/docs/build/zkEVM/integrations/indexers/thegraph.md +++ /dev/null @@ -1,271 +0,0 @@ ---- -title: The Graph -sidebar_position: 1 ---- - -import Figure from '/src/components/figure' - -
- -# Overview - -:::note -The Graph team have prepared a highly informative video featuring an overview of the Graph protocol along with some hands-on examples you can try [here.](https://youtu.be/GSdORXxmqz0) This video covers everything you need to know to build support for The Graph into your full stack application, and create subgraphs to query the relevant data. -::: - -The Graph is a decentralized protocol for indexing and querying blockchain data that makes it possible to query historical data that is difficult to query from smart contracts directly. - -Projects with complex smart contracts such as Uniswap and NFT projects like Bored Ape Yacht Club store data on the Ethereum blockchain, making it difficult to read anything but the most basic information. - -In the case of Bored Ape Yacht Club, it's possible to perform basic read operations on the contract such as getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract. More advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering however are *not possible.* For example, if we would like to query all Apes owned by a certain address and filter results by one of its characteristics, we cannot rely on the contract itself; it cannot provide historical information. - -To obtain this kind of data, we would need to process every transfer event ever emitted from the BAYC smart contract, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate all the results. Put simply, to answer these kinds of (relatively) simple questions, it would take *hours* or even *days* for a decentralized application running in a browser to obtain a result, which is why The Graph exists - to make these kinds of queries simpler. - -## How do developers integrate The Graph? - -Developers can either run a standalone Graph node and define their own subgraph(s), or choose a subgraph that is publicly available on the Graph's decentralized network. The Graph processes subgraphs and makes the data accessible through GraphQL, a popular query language. - -## Subgraph Overview - -A subgraph is essentially a definition created by a developer that specifies which data The Graph should index from the blockchain, and how it should be stored. - -To define a subgraph, developers write a manifest (in YAML format) and a set of GraphQL schemas. This tells The Graph which events to listen for on the blockchain, and how to map event data to entities that can be queried using GraphQL. Since developers define their own subgraphs, they have considerable flexibility in the way they index and expose blockchain data to their applications. - -## Prerequisites for using Subgraphs - -1. An account and API key on Subgraph Studio if using The Graph decentralized network, and balance of GRT tokens for queries. -2. A standalone Graph node requires the following: -- [Docker](https://docs.docker.com/get-docker/): Containerization platform for software solutions. -- [`docker-compose`](https://docs.docker.com/compose/install/) : Used to automate interactions between docker containers. -- [JQ](https://stedolan.github.io/jq/download/): JSON processor for graph requests. -3. Before exploring the contents of the subgraph manifest file and building and deploying subgraphs, install the [Graph CLI](https://github.com/graphprotocol/graph-cli). - -In this guide, we will walk through setting up an Astar node to gain more insight into transactions on the blockchain by providing indexing data to a standalone Graph node. - -## Running a standalone Graph Node - -After successfully setting up an [RPC node](https://docs.astar.network/docs/build/nodes/archive-node/), the Graph node needs to be installed and configured to connect as a different container or virtual machine. If you are running a self-signed RPC node, you will need to set up an extra environment variable to allow for this, or run the Graph node on a different host. - -The first step is to clone the [Graph Node repository](https://github.com/graphprotocol/graph-node/): - -```sh -git clone [https://github.com/graphprotocol/graph-node/](https://github.com/graphprotocol/graph-node/) \\ -&& cd graph-node/docker -``` - -Next, execute the `setup.sh` file. This will pull all the necessary Docker images and write the necessary information to the `docker-compose.yml` file. Ensure that `docker-compose` and `jq` are installed. - -```sh -sudo bash ./setup.sh -``` - -After running the command, the tail end of the output should be similar to that shown below: - -
- -### Modifying the Ethereum Environment - -Once everything is set up, you will need to modify the "Ethereum environment" inside the `docker-compose.yml` file, so that the Graph node points to the endpoint of the RPC that you are connecting with. Note that the `setup.sh` file detects the RPC's Host IP and writes its value, so you'll need to modify it accordingly. - -### Running The Graph containers - -Run the following command: - -```sh -sudo docker-compose up -``` - -When everything is set up the log will appear as below: - -
- -## How to Define a Subgraph using CLI - -A subgraph extracts data from a blockchain, processing it and storing it so that it can be easily queried via GraphQL. A subgraph definition consists of a few files: - -→ `subgraph.yaml`: a YAML file containing the subgraph **manifest**. - -→ `schema.graphql`: a GraphQL schema that defines what data is stored for your subgraph, and how to query it via GraphQL. - -→ `AssemblyScript Mappings`: AssemblyScript code that translates from the event data to the entities defined in your schema (e.g. mapping.ts in this tutorial). - -### Install the Graph CLI - -The Graph CLI is written in JavaScript, and you will need to install either yarn or npm to use it. - -Install with yarn: - -```js -yarn global add @graphprotocol/graph-cli -``` - -
- -Install with npm: - -```js -npm install -g @graphprotocol/graph-cli -``` -
- -### Initialize the Subgraph Locally - -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. - -### From An Existing Contract⁠ - -The following command creates a subgraph that indexes all events of an existing contract. It attempts to fetch the contract ABI from Etherscan and fails back to requesting a local file path. - -```js -graph init \ - --product subgraph-studio - --from-contract \ - [--network ] \ - [--abi ] \ - [] -``` - -The `` is the ID of your subgraph in Subgraph Studio, it can be found on your subgraph details page. - -If any of the optional arguments are missing, `graph init` will fail back to interactive mode, shown below: - -
- - -### Add New dataSources To An Existing Subgraph - -Since v0.31.0 the graph-cli supports adding new dataSources to an existing subgraph through the `graph add` command. - -```js -graph add
[] -``` -```js -Options: - - --abi Path to the contract ABI (default: download from Etherscan) - --contract-name Name of the contract (default: Contract) - --merge-entities Whether to merge entities with the same name (default: false) - --network-file Networks config file path (default: "./networks.json") -``` - -The `add` command will fetch the ABI from Etherscan (unless an ABI path is specified with the `--abi` option), and will create a new dataSource in the same way that graph init command creates a dataSource `--from-contract`, updating the schema and mappings accordingly. - -The `--merge-entities` option identifies how the developer would like to handle entity and event name conflicts: - -If true: the new dataSource should use existing eventHandlers & entities. -If false: a new entity & event handler should be created with `${dataSourceName}{EventName}`. -The contract address will be written to the networks.json for the relevant network. - -Note: When using the interactive cli, after successfully running `graph init`, you'll be prompted to add a new dataSource. - -### The Subgraph Manifest - -The subgraph manifest subgraph.yaml defines the smart contracts your subgraph indexes, which events from these contracts to pay attention to, and how to map event data to entities that Graph Node stores and allows to query. The full specification for subgraph manifests can be found here. - -For the official example subgraph, the contents of subgraph.yaml are: - -```js -specVersion: 0.0.4 -description: Gravatar for Ethereum -repository: https://github.com/graphprotocol/graph-tooling -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: Gravity - network: mainnet - source: - address: '0x2E645469f354BB4F5c8a05B3b30A929361cf77eC' - abi: Gravity - startBlock: 6175244 - context: - foo: - type: Bool - data: true - bar: - type: String - data: 'bar' - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - entities: - - Gravatar - abis: - - name: Gravity - file: ./abis/Gravity.json - eventHandlers: - - event: NewGravatar(uint256,address,string,string) - handler: handleNewGravatar - - event: UpdatedGravatar(uint256,address,string,string) - handler: handleUpdatedGravatar - callHandlers: - - function: createGravatar(string,string) - handler: handleCreateGravatar - blockHandlers: - - handler: handleBlock - - handler: handleBlockWithCall - filter: - kind: call - file: ./src/mapping.ts -``` - -The important entries to update for the manifest are: - -`description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the Hosted Service. - -`repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. - -`features`: a list of all used feature names. - -`dataSources.source`: the address of the smart contract the subgraph uses as a source, and the ABI of the smart contract to use. The address is optional; omitting it allows the subgraph to index matching events from all contracts. - -`dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. - -`dataSources.context`: key-value pairs that can be used within subgraph mappings. Supports various data types like Bool, String, Int, Int8, BigDecimal, Bytes, List, and BigInt. Each variable needs to specify its type and data. These context variables are then accessible in the mapping files, offering more configurable options for subgraph development. - -`dataSources.mapping.entities`: the entities that the data source writes to the store. The schema for each entity is defined in the schema.graphql file. - -`dataSources.mapping.abis`: one or more named ABI files for the source contract as well as any other smart contracts that you interact with from within the mappings. - -`dataSources.mapping.eventHandlers`: lists the smart contract events this subgraph reacts to and the handlers in the mapping—./src/mapping.ts in the example—that transform these events into entities in the store. - -`dataSources.mapping.callHandlers`: lists the smart contract functions this subgraph reacts to and handlers in the mapping that transform the inputs and outputs to function calls into entities in the store. - -`dataSources.mapping.blockHandlers`: lists the blocks this subgraph reacts to and handlers in the mapping to run when a block is appended to the chain. Without a filter, the block handler will be run every block. An optional call-filter can be provided by adding a filter field with kind: call to the handler. This will only run the handler if the block contains at least one call to the data source contract. - -A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the dataSources array. - -The triggers for a data source within a block are ordered using the following process: - -- Event and call triggers are first ordered by transaction index within the block. -- Event and call triggers within the same transaction are ordered using a convention: event triggers first then call triggers, each type respecting the order they are defined in the manifest. -- Block triggers are run after event and call triggers, in the order they are defined in the manifest. - -These ordering rules are subject to change. - -## How to Define a Subgraph using Subgraph Studio - -If you are using The Graph's Subgraph Studio, there is no need to spin up a standalone Graph node. After creating your account you can jump straight into defining a subgraph. - -:::note -In order to use your subgraph with the Graph's decentralized network services, you will need to create an API key. It is also recommended that you [add signal](https://thegraph.com/docs/en/network/curating/#how-to-signal) to your subgraph with at least 10,000 GRT. -::: - -1. Login to [Subgraph Studio](https://thegraph.com/studio/) with your Github account, and connect your wallet: - -
- -
- -2. API keys are required to use subgraphs. Click on the **API Keys** tab and then create an API Key. - -3. Return to **My Dashboard** tab and click 'Create a Subgraph'. - -4. Add relevant details to your Subgraph. - -
- -At this point, the new subgraph is ready to initialize by following the instructions on the right-hand side. - -For more information and advanced configuration, consult the [Graph Documentation](https://thegraph.com/docs/en/developing/creating-a-subgraph) diff --git a/docs/build/zkEVM/integrations/nft-api/_category_.json b/docs/build/zkEVM/integrations/nft-api/_category_.json deleted file mode 100644 index f8c68dabcd9..00000000000 --- a/docs/build/zkEVM/integrations/nft-api/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "NFT API", - "position": 7 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/nft-api/index.md b/docs/build/zkEVM/integrations/nft-api/index.md deleted file mode 100644 index b717265ba81..00000000000 --- a/docs/build/zkEVM/integrations/nft-api/index.md +++ /dev/null @@ -1,30 +0,0 @@ -# NFT API -An NFT API comprises a set of REST APIs enabling the indexing of NFT data such as NFT balances and metadata available on Astar zkEVM network. - -Designed to deliver well-organized and top-tier NFT data, the NFT API empowers developers to construct applications interacting with diverse NFT types like ERC721, ERC115, and more. - -Hence, the NFT API finds optimal utility in, but is not restricted to, the following scenarios: - -* Portfolio dashboards -* Wallet applications -* NFT-gating applications -* NFT marketplaces - -Here are providers of NFT APIs on Astar zkEVM testnet and mainnet. - -## Rarible NFT API -[Rarible](https://rarible.com/) is a leading NFT marketplace that has launched its NFT API on Astar zkEVM testnet and mainnet. The Rarible NFT API is a RESTful API that enables developers to access NFT data on Astar zkEVM network. -Follow Rarible [Documentation](https://docs.rarible.org/reference/getting-started) to get started with the Rarible NFT API. -Request your [free API key](https://api.rarible.org/dashboard/login) and [play](https://docs.rarible.org/reference/getitembyid) with the Rarible NFT API. - -[Here](https://codepen.io/Maar-io/pen/KKJJoVX) is an example use case of the Rarible NFT API. - - -## Bluez NFT API -[Bluez](https://bluez.app/) is the first community-driven NFT marketplace built on the Astar Network. Bluez is dedicated to providing the Astar & Polkadot community with a top-tier user experience, easy-to-use features, and transparent governance. -Bluez currently supports the ERC721 and ERC1155 standards for NFT assets, and plans to expand support to include other standards in future iterations. -Follow Bluez [Documentation](https://bluez.gitbook.io/bluez/) to [request free API key](https://bluez.gitbook.io/bluez/getting-started/requesting-api-keys) and [play](https://api.bluez.app/api/) with the Bluez NFT API. - - -[Here](https://codepen.io/Maar-io/pen/XWOOPMW) is an example use case of the Bluez NFT API. - diff --git a/docs/build/zkEVM/integrations/node-providers/_category_.json b/docs/build/zkEVM/integrations/node-providers/_category_.json deleted file mode 100644 index a4e5aa663cd..00000000000 --- a/docs/build/zkEVM/integrations/node-providers/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Node Providers", - "position": 4 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/node-providers/startale-labs.md b/docs/build/zkEVM/integrations/node-providers/startale-labs.md deleted file mode 100644 index 1c2c142ad56..00000000000 --- a/docs/build/zkEVM/integrations/node-providers/startale-labs.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Startale Labs ---- - -# Startale Web3 Service - -## Introduction - -[Startale Labs](https://sws.startale.com) is a web3 tech company developing multi-chain applications and infrastructure in collaboration with Astar Foundation and large enterprises. The company also conducts R&D and incubation based on industry experience and connections developed in collaboration with Astar Network. - -Startale Web3 Service (SWS) provides an Astar EVM/zkEVM Node RPC Endpoint, a powerful tool designed to enhance the Web3 experience that is now available for developers to utilize. - - -### About Our Service - -Startale provides a standardized Blockchain API service that encompasses all facets of web3 development infrastructure. With respect to Astar EVM/zkEVM, users can create endpoints that grant access to the majority of RPC methods necessary for dApp development and interaction with the blockchain. - -Users of Startale Web3 Service have the ability to utilize the API for free within certain constraints. When more advanced features are required, paid subscription plans are available, or you can reach out to us to establish a customized plan that better suits your requirements. - -## Public Endpoint - -Startale provides a Public Endpoint for Astar zkEVM. Users can utilize the API for free within certain limitations. - -zKyoto: `https://rpc.startale.com/zkyoto` -Mainnet: `https://rpc.startale.com/astar-zkevm` - -## Getting started - -Here you should provide a step-by-step tutorial about how developers can use your solution on Astar. - -1. Visit the [Landing Page](https://sws.startale.com). -2. Fill out the [Google form](https://forms.gle/7bfjxj1qpEW8gFxk7) and provide the required information. -3. Receive your API Key by email. -4. Check out the [technical docs](https://docs.startale.com/docs). diff --git a/docs/build/zkEVM/integrations/oracles/_category_.json b/docs/build/zkEVM/integrations/oracles/_category_.json deleted file mode 100644 index 7cca9171a9c..00000000000 --- a/docs/build/zkEVM/integrations/oracles/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Oracles", - "position": 5 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/oracles/acurast.md b/docs/build/zkEVM/integrations/oracles/acurast.md deleted file mode 100644 index 2b632720c08..00000000000 --- a/docs/build/zkEVM/integrations/oracles/acurast.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Acurast - -## Introduction - -[Acurast](https://acurast.com/) is a platform for Zero Trust applications, leveraging a decentralized and decentralized and trustless off-chain Compute Execution Layer for compute leveraging mobile hardware with its advantages in security, compute performance and energy efficiency. Opening the possibilities for developers to execute arbitrary code and build serverless applications that can interact with Astar's zkEVM and other ecosystems. - -## Acurast Price Feeds - -Acurast provides price feeds for 10 assets with an update interval of 5 minutes. APIs are called through Acurast's Compute Execution Layer from multiple trustless devices, resulting in a verifiable price feed on-chain. - -### Chainlink Compatible Price Feeds - -The following price feeds are Chainlink compatible, if your application is already deployed in an environment where Chainlink might be available, you can use these contracts as a drop-in replacement. - -| Pair | Address and info | -| --------- | ------------------------------------------------------------------------------------------------------------------------------- | -| ASTR/USD | [0xde4F97786EAB4e47b96A0A65EdD7755895077073](https://zkatana.blockscout.com/address/0xde4F97786EAB4e47b96A0A65EdD7755895077073) | -| MATIC/USD | [0x77Ed3BAc1B3Dd4DBB8D2636b6f3adFd4f21d15B3](https://zkatana.blockscout.com/address/0x77Ed3BAc1B3Dd4DBB8D2636b6f3adFd4f21d15B3) | -| BTC/USD | [0xDBb23274EE9354367155C290c673733374d57967](https://zkatana.blockscout.com/address/0xDBb23274EE9354367155C290c673733374d57967) | -| ETH/USD | [0x448786CD6E53E706AEdd984C620D63d48B720e6A](https://zkatana.blockscout.com/address/0x448786CD6E53E706AEdd984C620D63d48B720e6A) | -| BNB/USD | [0xb6B94e18957376ac6d22bAF31C7BF1661B238F4A](https://zkatana.blockscout.com/address/0xb6B94e18957376ac6d22bAF31C7BF1661B238F4A) | -| USDT/USD | [0xD12ad062A6bFBB27024a7B76E4EF7FDC5bf49Aeb](https://zkatana.blockscout.com/address/0xD12ad062A6bFBB27024a7B76E4EF7FDC5bf49Aeb) | -| USDC/USD | [0x2E23a70dfe6059f9F2DC35C1e940e3B3288BDE04](https://zkatana.blockscout.com/address/0x2E23a70dfe6059f9F2DC35C1e940e3B3288BDE04) | -| DAI/USD | [0xEC6985D9eA362fb85fEa72263169C375F8f065E7](https://zkatana.blockscout.com/address/0xEC6985D9eA362fb85fEa72263169C375F8f065E7) | -| STETH/USD | [0xA2FB708105a412710Df254D7406A27764408A657](https://zkatana.blockscout.com/address/0xA2FB708105a412710Df254D7406A27764408A657) | -| DOT/USD | [0x208f799E0EE205bc6607Fae430485c66F9fe6012](https://zkatana.blockscout.com/address/0x208f799E0EE205bc6607Fae430485c66F9fe6012) | - -If you need a price feed for assets or pairs not listed here, you can easily build your own price feeds here through the [Acurast Console](https://console.acurast.com/). - -## Build Your Own Zero Trust App - -Acurast offers off-chain Compute Execution Layer with the following main primitives: - -- trustless: trust not in individuals but technology and cryptography, building on hardware Trusted Execution Environments. -- decentralized: anyone across the world can participate in becoming a provider of infrastructure, Acurast Processor. -- versatile: Developers code their apps, tailored to their use cases and deploy them. -- confidential: Data processes on Acurast Processors is not visible to the ones providing compute resources. - -Learn More on Acurast in the [Acurast](https://docs.acurast.com/). - -### Get Started - -1. Go to the [Acurast Console](https://console.acurast.com/), log in with your wallet or [create a wallet](https://docs.acurast.com/developers/create-address). -1. Claim free cACU Canary funds with “Fund Account”. -1. Go to [Create Job](https://console.acurast.com/) and select “Astar” and "zKatana". -1. Deploy your contract that you will use to receive the output of the computation, [find simple examples here](https://docs.acurast.com/integrations/evm). -1. Create your script that you want e.g. a specific price feed, verifiable randomness, on-chain automation etc. Add your destination contract to the script. Templates can be found in the Console, [find simple examples here](https://docs.acurast.com/developers/get-started) -1. Define the job parameters, select “Public Processors”, start and end time, interval, number of Processors and the reward in cACU that you're willing to reward for running your zero trust app. -1. Sign the transaction to “Publish Job”. -1. Your request is being matched to eligible Processors, these Processors will execute your app and provide the output directly to the contract you've provided. You can see the assigned Processors in the Job details, send some zKatana testnet funds to each of the "Ethereum" labeled addresses. -1. Processors will run your app and push the output directly to your contract. - -### Learn More - -Do you have any questions? Join us on Telegram or Discord. - -- [Developer Docs](https://docs.acurast.com/) -- [GitHub](https://github.com/Acurast) -- [Website](https://acurast.com/) -- [Telegram](https://t.me/acurastnetwork) -- [Discord](https://discord.gg/wqgC6b6aKe) -- [X](http://x.com/Acurast) diff --git a/docs/build/zkEVM/integrations/oracles/api3.md b/docs/build/zkEVM/integrations/oracles/api3.md deleted file mode 100644 index 90432600883..00000000000 --- a/docs/build/zkEVM/integrations/oracles/api3.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -sidebar_position: 2 ---- - -# API3 - -[API3]: https://api3.com/ - -## Overview - -[API3](https://api3.org) is a collaborative project to **deliver traditional API services to smart contract platforms** in a decentralized and trust-minimized way. It is governed by a decentralized autonomous organization (DAO), namely the [API3 DAO](https://api3.org/dao). - -## First-party oracles - -An [Airnode](https://docs.api3.org/explore/airnode/what-is-airnode.html) is a **first-party oracle** that pushes off-chain API data to your on-chain contract. Airnode lets API providers easily run their own oracle nodes. That way, they can provide data to any on-chain dApp that's interested in their services, all without an intermediary. - -## Using dAPIs - API3 Datafeeds - -[dAPIs](https://docs.api3.org/reference/dapis/understand/) are continuously updated streams of off-chain data, such as the latest cryptocurrency, stock and commodity prices. They can power various decentralized applications such as DeFi lending, synthetic assets, stablecoins, derivatives, NFTs and more. - -The data feeds are continuously updated by [first-party oracles](https://docs.api3.org/explore/introduction/first-party.html) using signed data. dApp owners can read the on-chain value of any dAPI in real-time. - -Due to being composed of first-party data feeds, dAPIs offer security, transparency, cost-efficiency and scalability in a turn-key package. - -Apart from relying on deviation threshold and heartbeat configuration updates, unlike traditional data feeds, [OEV Network](https://docs.api3.org/explore/introduction/oracle-extractable-value.html) enables dApps using dAPIs to auction off the right to update the data feeds to searcher bots. Searcher bots can bid for price updates through the OEV Network to update the data feeds. All the OEV proceeds go back to the dApp. - -The [API3 Market](https://market.api3.org/) enables users to connect to a dAPI and access the associated data feed services. - -![dAPI Main](img/dapi-main.png) - -[*To learn more about how dAPIs work, click here*](https://docs.api3.org/explore/dapis/what-are-dapis.html) - -### Subscribing to dAPIs - -The [API3 Market](https://market.api3.org/astar) lets users access dAPIs on both [Astar zkEVM Mainnet](https://market.api3.org/astar) and [Testnet](https://market.api3.org/astar-sepolia-testnet). - -#### Exploring, selecting and configuring your dAPI - -The [API3 Market](https://market.api3.org/astar) provides a list of all the dAPIs available across multiple chains including testnets. You can filter the list by mainnet or testnet chains. After selecting the chain, you can now search for a specific dAPI by name. Once selected, you will land on the details page (eg ETH/USD on Astar zkEVM Testnet) where you can find more information about the dAPI. - -The current supported configurations for dAPIs are: - -| Deviation | Heartbeat | -| --------- | --------- | -| 0.25% | 24 hours | -| 0.5% | 24 hours | -| 1% | 24 hours | -| 5% | 24 hours | - -![dAPI 1](img/dapi-1.png) - -#### Activating your dAPI - -:::note -Note - -If a dAPI is already activated, make sure to check the expiration date and update parameters. You can update the parameters and extend the subscription by purchasing a new configuration. -::: - -After selecting the dAPI and the configuration, you will be presented with an option to purchase the dAPI and activate it. Make sure to check the time and amount of the subscription. If everything looks good, click on Purchase. - -![dAPI 2](img/dapi-2.png) - -You can then connect your wallet and confirm the transaction. Once it's confirmed, you will be able to see the updated configuration for the dAPI. - -#### Getting the proxy address - -Once you are done configuring and activating the dAPI, you can now integrate it. To do so, click on the **Integrate** button on the dAPI details page. - -![dAPI 5](img/dapi-5.png) - -You can now see the deployed proxy contract address. You can now use this to read from the configured dAPI. - -### Reading from a dAPI - -Here's an example of a basic contract that reads from a dAPI. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity 0.8.17; - -import "@openzeppelin/contracts@4.9.5/access/Ownable.sol"; -import "@api3/contracts/api3-server-v1/proxies/interfaces/IProxy.sol"; - -contract DataFeedReaderExample is Ownable { - // The proxy contract address obtained from the API3 Market UI. - address public proxyAddress; - - // Updating the proxy contract address is a security-critical - // action. In this example, only the owner is allowed to do so. - function setProxyAddress(address _proxyAddress) public onlyOwner { - proxyAddress = _proxyAddress; - } - - function readDataFeed() - external - view - returns (int224 value, uint256 timestamp) - { - // Use the IProxy interface to read a dAPI via its - // proxy contract . - (value, timestamp) = IProxy(proxyAddress).read(); - // If you have any assumptions about `value` and `timestamp`, - // make sure to validate them after reading from the proxy. - } -} - -``` - -- `setProxyAddress()` is used to set the address of the dAPI Proxy Contract. - -- `readDataFeed()` is a view function that returns the latest price of the set dAPI. - -You can read more about dAPIs [here](https://docs.api3.org/guides/dapis/subscribing-to-dapis/). - -### [Try deploying it on Remix!](https://remix.ethereum.org/#url=https://github.com/api3-ecosystem/remix-contracts/blob/master/contracts/DapiReader.sol&lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+commit.87f61d96.js) - - -## Additional Resources - -Here are some additional developer resources - -- [API3 Market](https://market.api3.org/astar) -- [API3 Docs](https://docs.api3.org/) -- [dAPI Docs](https://docs.api3.org/guides/dapis/) -- [Github](https://github.com/api3dao/) -- [Medium](https://medium.com/api3) \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/oracles/img/dapi-1.png b/docs/build/zkEVM/integrations/oracles/img/dapi-1.png deleted file mode 100644 index 5f56a99c5c7..00000000000 Binary files a/docs/build/zkEVM/integrations/oracles/img/dapi-1.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/oracles/img/dapi-2.png b/docs/build/zkEVM/integrations/oracles/img/dapi-2.png deleted file mode 100644 index 520c349a1d4..00000000000 Binary files a/docs/build/zkEVM/integrations/oracles/img/dapi-2.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/oracles/img/dapi-5.png b/docs/build/zkEVM/integrations/oracles/img/dapi-5.png deleted file mode 100644 index 4af74dc20bb..00000000000 Binary files a/docs/build/zkEVM/integrations/oracles/img/dapi-5.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/oracles/img/dapi-main.png b/docs/build/zkEVM/integrations/oracles/img/dapi-main.png deleted file mode 100644 index 12d03abadac..00000000000 Binary files a/docs/build/zkEVM/integrations/oracles/img/dapi-main.png and /dev/null differ diff --git a/docs/build/zkEVM/integrations/oracles/index.md b/docs/build/zkEVM/integrations/oracles/index.md deleted file mode 100644 index ec410e81194..00000000000 --- a/docs/build/zkEVM/integrations/oracles/index.md +++ /dev/null @@ -1,12 +0,0 @@ -# Oracles - -## Overview - -Blockchain oracles are third-party services or agents that provide smart contracts with external information and serve as bridges between blockchains and the external world. Because blockchains cannot access external data (outside of their network) due to their secure and deterministic nature, oracles are used to fetch, verify, and relay real-world data to smart contracts in a way that's trustworthy. - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/docs/build/zkEVM/integrations/oracles/pyth.md b/docs/build/zkEVM/integrations/oracles/pyth.md deleted file mode 100644 index 95cabdd72bc..00000000000 --- a/docs/build/zkEVM/integrations/oracles/pyth.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Pyth Network - -[Pyth Network]: https://pyth.network/ - -## Overview - -The [Pyth Network] is the largest first-party financial oracle network, delivering real-time market data to over 40 blockchains securely and transparently. - -The network comprises some of the world’s largest exchanges, market makers, and financial services providers publishing their proprietary price data on-chain for aggregation and distribution to smart contract applications. - -## Using Pyth Network - -The Pyth Network introduced an innovative low-latency [pull oracle design](https://docs.pyth.network/documentation/pythnet-price-feeds/on-demand), where users are empowered to “pull” price updates on-chain when needed, enabling everyone in that blockchain environment to access that data point. - -Developers on Astar zkEVM have permissionless access to any of Pyth’s 350+ price feeds for equities, ETFs, commodities, foreign exchange pairs, and cryptocurrencies. - -This [package](https://github.com/pyth-network/pyth-crosschain/tree/main/target_chains/ethereum/sdk/solidity) provides utilities for consuming prices from the Pyth Network Oracle using Solidity. Also, it contains the [Pyth Interface ABI](https://github.com/pyth-network/pyth-crosschain/blob/main/target_chains/ethereum/sdk/solidity/abis/IPyth.json) that you can use in your libraries to communicate with the Pyth contract. - -It is strongly recommended to follow the consumer [best practices](https://docs.pyth.network/documentation/pythnet-price-feeds/best-practices) when consuming Pyth data. - -For more information and details, please refer to the official documentation [here](https://docs.pyth.network/documentation). - -You can find more details on the various functions available to you when interacting with the Pyth smart contract in the [API Reference section](https://docs.pyth.network/evm). - -## Pyth on Astar zkEVM - -The Pyth Network smart contract is available at the following address: [0xA2aa501b19aff244D90cc15a4Cf739D2725B5729](https://zkatana.blockscout.com/address/0xA2aa501b19aff244D90cc15a4Cf739D2725B5729). - -You may also refer to this [page](https://docs.pyth.network/documentation/pythnet-price-feeds/evm) to find the various Pyth contracts. - -Additionally, you'll be able to find all the Pyth Price Feed IDs [here](https://pyth.network/developers/price-feed-ids). Be sure to select the correct environment as mainnet and testnet price feeds IDs differ. - -## Other - -The Pyth Network provides additional tools to developers like this [TradingView Integration](https://docs.pyth.network/guides/how-to-create-tradingview-charts) or the [Gelato Web3 Functions](https://docs.pyth.network/guides/how-to-schedule-price-updates-with-gelato). - -If you'd have any questions or issues, you can contact us on the following platforms: [Telegram](https://t.me/Pyth_Network), [Discord](https://discord.gg/invite/PythNetwork), [Website](https://pyth.network/contact). diff --git a/docs/build/zkEVM/integrations/oracles/supra.md b/docs/build/zkEVM/integrations/oracles/supra.md deleted file mode 100644 index 593d9746cdb..00000000000 --- a/docs/build/zkEVM/integrations/oracles/supra.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -sidebar_position: 4 -title: Supra ---- - -[Supra]: https://supra.com - -# Overview - -[Supra](https://supra.com) is a novel, high-throughput Oracle & IntraLayer: A vertically integrated toolkit of cross-chain solutions (data oracles, asset bridges, automation network, and more) that interlink all blockchains, public (L1s and L2s) or private (enterprises). - -Supra provides decentralized oracle price feeds that can be used for on-chain and off-chain use-cases such as spot and perpetual DEXes, lending protocols, and payments protocols. Supra’s oracle chain and consensus algorithm makes it the fastest-to-finality oracle provider, with layer-1 security guarantees. The pull oracle has a sub-second response time. Aside from speed and security, Supra’s rotating node architecture gathers data from 40+ data sources and applies a robust calculation methodology to get the most accurate value. The node provenance on the data dashboard also provides a fully transparent historical audit trail. Supra’s Distributed Oracle Agreement (DORA) paper was accepted into ICDCS 2023, the oldest distributed systems conference. - -Check out our developer docs [here](https://supra.com/docs/overview/). - -## Supra on Astar zkEVM - -Please refer to this [page](https://supra.com/data) to find all price feeds available. And please refer to this [page](https://supra.com/docs/data-feeds/pull-model/networks) for price feed contract address. - -## Other - -If you'd have any questions or issues, you can contact us on the following platforms: [Telegram](https://t.me/SupraOracles), [Discord](https://discord.com/invite/supraoracles),[Twitter](https://twitter.com/SupraOracles), [Website](https://supra.com). - - - diff --git a/docs/build/zkEVM/integrations/wallets/_category_.json b/docs/build/zkEVM/integrations/wallets/_category_.json deleted file mode 100644 index 08d54042f08..00000000000 --- a/docs/build/zkEVM/integrations/wallets/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Wallets", - "position": 6 -} \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/wallets/astar-safe.md b/docs/build/zkEVM/integrations/wallets/astar-safe.md deleted file mode 100644 index cdd07b5f87b..00000000000 --- a/docs/build/zkEVM/integrations/wallets/astar-safe.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Astar Safe (Gnosis Safe) - -Build on the Gnosis Safe infrastructure: take advantage of the most modular, flexible, and secure wallet and identity solution in Ethereum. - -Astar Safe is available on Astar, Shiden, Shibuya, and zkEVM networks. To create a safe for use on Astar zkEVM, please see the [existing documentation](/docs/build/integrations/wallets/astar-safe.md). \ No newline at end of file diff --git a/docs/build/zkEVM/integrations/wallets/crossmint.md b/docs/build/zkEVM/integrations/wallets/crossmint.md deleted file mode 100644 index afb4197a2fc..00000000000 --- a/docs/build/zkEVM/integrations/wallets/crossmint.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Crossmint -sidebar_position: 2 ---- - -# Overview -[Crossmint](https://crossmint.com/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar) is an enterprise-grade web3 development platform that lets you deploy smart contracts, create email wallets, enable credit-card and cross chain payments, and use APIs to create, distribute, sell, store, and edit NFTs. - -By abstracting away the core complexities of the Blockchain, Crossmint allows you to build NFT applications without requiring any blockchain experience or holding cryptocurrency, and making the blockchain invisible to end users. Crossmint enables you to provide a Web2 experience for your Web3 apps and onboard users. - -Crossmint allows you to create email wallets for your users to store NFTs. You can use Crossmint's API to create a custodial wallet that will be assigned to the user's wallet address. -Using this, you can facilitate a Web 2 user experience for your Web 3 app on Astar zkEVM. - -## Prerequisites - -1. Create an account on Crossmint's [Console](https://crossmint.com/console/overview/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar) - -:::caution -Crossmint has two different consoles, they are, Production (Mainnet) and Staging (Testnet). It is highly recommended that you use the Staging Console (Testnet) first before proceeding with the Production Console (Mainnet). -Click [here](https://staging.crossmint.com/console/overview/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar) to head over to the Staging Console. - -::: - -## How to Create an Email Wallet for your users - -1. Create an API Key using Crossmint's [Console.](https://crossmint.com/console/overview/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar) -2. Use the code snippet below to create a custodial wallet for your user's email address. - -```javascript -const options = { - method: "POST", - headers: { - "X-API-KEY": - "", - "Content-Type": "application/json", - }, - body: '{"chain":"astar-zkevm","email":"youremail@email.com"}', -}; - -fetch("https://www.crossmint.com/api/v1-alpha1/wallets", options) - .then((response) => response.json()) - .then((response) => console.log(response)) - .catch((err) => console.error(err)); - -``` -3. You can now Mint, Airdrop or Transfer NFTs to this email address using Crossmint's APIs. -4. The user can login into [Crossmint's Wallet](https://www.crossmint.com/user/collection/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar) using the same email address to access the NFTs that the wallet owns. - -You can read the complete documentation on the docs [here](https://docs.crossmint.com/wallets/custodial-wallets/overview/?utm_source=backlinks&utm_medium=docs&utm_campaign=astar). Refer to the complete list of Wallet APIs available and their respective references [here](https://docs.crossmint.com/api-reference/wallets/create-wallet?utm_source=astar&utm_medium=docs&utm_campaign=backlinks) - -Please refer to this detailed step-by-step [guide](https://blog.crossmint.com/how-to-enable-credit-card-payments-for-nfts-on-astar-zkevm/?utm_source=astar&utm_medium=docs&utm_campaign=backlinks) on how you can achieve this. diff --git a/docs/build/zkEVM/integrations/wallets/index.md b/docs/build/zkEVM/integrations/wallets/index.md deleted file mode 100644 index 4aa0164818e..00000000000 --- a/docs/build/zkEVM/integrations/wallets/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# Wallets - -## Overview - -The majority of EVM wallets are compatible with Astar zkEVM. diff --git a/docs/build/zkEVM/quickstart.md b/docs/build/zkEVM/quickstart.md deleted file mode 100644 index cb787ff8825..00000000000 --- a/docs/build/zkEVM/quickstart.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -sidebar_position: 1 -title: Astar zkEVM Quickstart Guide -sidebar_label: Quickstart ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import metamask from '/docs/build/zkEVM/img/metamask-network.png' - -Astar zkEVM is a zero-knowledge scaling solution for Ethereum that offers an **EVM-equivalent environment** on which existing EVM smart contracts, developer tools, and wallets can work seamlessly. Astar zkEVM harnesses the power of zero-knowledge proofs to reduce transaction costs and increase throughput, while inheriting the security of Ethereum. - -Solidity developers are right at home on Astar zkEVM. Simply switch to the zkEVM RPC, and start building! - -:::info Reminder -No special tools or wallets are required to build or interact with Astar zkEVM. -::: - -Developers can deploy existing contracts from other EVM chains to the zkEVM, and users are able to deposit assets from Ethereum to transact on the zkEVM in batches, which are ultimately finalized through novel use of zero-knowledge proofs. Native account abstraction means developers can craft user interfaces that are more intuitive and web2-like, that eliminate complexity and drastically simplify the onboarding process. - -## Connecting to zkEVM - -To add **Astar zkEVM** or any testnet networks to your wallet manually, enter the following details : - - - -| RPC URL | ChainID | Block Explorer URL | Currency | -| ------------------------------- | ---------------- | ---------------- | ----- | -| `https://rpc.startale.com/astar-zkevm` | `3776` | [https://astar-zkevm.explorer.startale.com/](https://astar-zkevm.explorer.startale.com/) | **ETH** | - - - - -To add the network to MetaMask you can either use the data above, or find a link to add the network at the bottom of the respective block explorer page. - -## Bridging Assets - -:::important -Astar's canonical [zkEVM Bridge](https://portal.astar.network) will be deprecated. -We recommend not to transfer any funds to Astar zkEVM because of being transitioned to Soneium layer 2 in 2025, more info [here](https://astar.network/blog/astar-evolution-phase-1-56). -::: - -## Astar zkEVM Support for Developers - -Developers requiring support can open an issue on [Ethereum StackExchange](https://ethereum.stackexchange.com/) and tag it with `Astar` (preferred) or join the [Astar Discord server](https://discord.gg/astarnetwork). - -
-Ethereum StackExchange - -1. Join the **Ethereum StackExchange** [here](https://ethereum.stackexchange.com/). - -2. Create a new issue. -3. Make a detailed explanation of your issue. -4. At the end add a tag `Astar` to trigger Astar team. - -
-
-Astar Discord server - -1. Join the **Astar Discord** server [here](https://discord.gg/astarnetwork). - -2. Accept the invite. -3. Take the **Developer** role under **#roles**. -4. Navigate to the **Builder/#zkevm-learning** channel. - -
diff --git a/docs/build/zkEVM/zk-node/_category_.json b/docs/build/zkEVM/zk-node/_category_.json deleted file mode 100644 index faa9b75d15b..00000000000 --- a/docs/build/zkEVM/zk-node/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "zkNode", - "position": 6 -} \ No newline at end of file diff --git a/docs/build/zkEVM/zk-node/index.md b/docs/build/zkEVM/zk-node/index.md deleted file mode 100644 index b7945323553..00000000000 --- a/docs/build/zkEVM/zk-node/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# zkNode - -This section contains information about how to run a node on Astar zkEVM. - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/docs/build/zkEVM/zk-node/setup-local-rollup-node.md b/docs/build/zkEVM/zk-node/setup-local-rollup-node.md deleted file mode 100644 index 86cea0d4408..00000000000 --- a/docs/build/zkEVM/zk-node/setup-local-rollup-node.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -sidebar_position: 1 -title: Setup Local Rollup Node -sidebar_label: Setup Local Rollup Node ---- -:::info - -Rollup version of ZK is used on Astar zKatana environment. - -::: - -:::warning -Due to an open [issue](https://github.com/ethereum/go-ethereum/issues/27274) you may encounter problems running a local node. -::: - -It's crucial that developers can thoroughly test the network for a developing blockchain technology like **Astar zkEVM** without putting users or themselves at unnecessary risk. Developers should be able to test their smart contracts, experiment with new code, and play around with the network on their local machines. - -Astar zkEVM has a local development environment setup for this reason. This tutorial will help you create a local single-node zkEVM blockchain with no connections to external peers. It only exists on your local machine. - -:::caution - -Currently the zkProver does not run on ARM-powered Macs. For Windows users, using WSL/WSL2 is not recommended. - -Unfortunately, Apple M chips are not supported for now - since some optimizations on the zkProver require specific Intel instructions. This means some non-M computers won't work regardless of the OS, for example: AMD. - -::: - -After completing this tutorial, you will have the following components running: - -- zkEVM Node Databases -- Explorer Databases -- L1 Network -- Prover -- zkEVM Node components -- Explorers - -## Prerequisites - -The tutorial for current version of the environment requires `go`, `docker` and `docker-compose` to be previously installed on your machine. If you don’t have these installed, check out the links provided below: - -- [https://go.dev/doc/install](https://go.dev/doc/install) -- [https://www.docker.com/get-started](https://www.docker.com/get-started) -- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) - -### System Requirements - -- zkEVM Node: 16GB RAM with 4-core CPU -- zkProver: 1TB RAM with 128-core CPU - -If you want to run a full-fledged zkProver on your own, you'll need at least 1TB of RAM. If you are unable to meet the Prover requirements, you can still run the zkNode. - -## Setting Up zkNode - -Before starting the zkEVM node setup, we need to clone the [official zkNode repository](https://github.com/0xPolygonHermez/zkevm-node) from Polygon zkEVM Github. - -```bash -git clone https://github.com/0xPolygonHermez/zkevm-node.git -``` - -The `zkevm-node` docker image must be built at least once and whenever the code is changed. If you haven't already built the `zkevm-node` image, you must run: - -```bash -make build-docker -``` - -:::caution Building Docker Image - -For a given version of the Testnet implementation, be sure to use configuration files from the correct and corresponding tag. For instance: **to build an RC9 image, use configuration files from RC9 tag**. - -All tags can be found here: **https://github.com/0xPolygonHermez/zkevm-node/tags** - -::: - -Certain commands on the `zkevm-node` can interact with smart contracts, run specific components, create encryption files, and print debug information. - -To interact with the binary program, we provide `docker-compose` files and a `Makefile` to spin up/down the various services and components, ensuring smooth local deployment and a better command line interface for developers. - -:::warning - -All the data is stored inside of each docker container. This means once you remove the container, the data will be lost. - -::: - -The `test/` directory contains scripts and files for developing and debugging. Change the working directory to `test/` on your local machine. - -```bash -cd test/ -``` - -Now, run the zkNode environment: - -```bash -make run -``` - -To stop the zkNode: - -```bash -make stop -``` - -To restart the whole zkNode environment: - -```bash -make restart -``` - -## Configuration Parameters -​ -The Synchronizer regularly pulls for network updates, mainly from Ethereum but also via the **Trusted Sequencer**'s broadcasting mechanism, in order to stay up-to-date. Unless otherwise specified in the setup, the Synchronizer's **default syncing rate** is every **2 seconds**. - -The **Keystore** file, used to **store private keys**, is normally required for running the Sequencer & Aggregator but not for a Synchronizer/RPC-setup. - -:::info - -We have the inconvenient situation where the **Keystore** file is required to run the node when it shouldn't be, for example, if no transactions are sent to L1. **Keystore is not required in the Mango Testnet** as it uses a trusted sequencer and aggregator. - -This will be reviewed when a decentralised zkEVM network is implemented. - -::: - -## Sample Data - -It's important to populate your local zkEVM node with some data before you start testing out the network. The `make run` command will execute the containers required to run the environment, but it will not execute anything else. **Your local L2 network will be essentially empty**. - -The following scripts are available if you require sample data that has already been deployed to the network. - -```bash -# To add some examples of transactions and smart contracts: -make deploy-sc - -# To deploy a full Uniswap environment: -make deploy-uniswap - -# To grant the MATIC smart contract a set amount of tokens: -make run-approve-matic -``` - -## Connecting to Metamask - -:::info - -Metamask requires the network to be running while configuring it, so make sure your network is up. - -::: - -To configure your MetaMask to use your local zkEVM environment, follow these steps: - -1. Log in to your MetaMask wallet -2. Click on your account picture and then on **Settings** -3. On the left menu, click on **Networks** -4. Click on **Add Network** button -5. Fill up the L2 network information - * **Network Name:** Astar zkEVM - Local - * **New RPC URL:** [http://localhost:8123](http://localhost:8123) - * **ChainID:** 1001 - * **Currency Symbol:** ETH - * **Block Explorer URL:** [http://localhost:4000](http://localhost:4000) -6. Click on **Save** -7. Click on **Add Network** button -8. Fill up the L1 network information - * **Network Name:** Geth - Local - * **New RPC URL:** [http://localhost:8545](http://localhost:8545) - * **ChainID:** 1337 - * **Currency Symbol:** ETH -9. Click on **Save** - -You can now interact with your local zkEVM network and sign transactions from your MetaMask wallet. diff --git a/docs/build/zkEVM/zk-node/setup-local-validium-node.md b/docs/build/zkEVM/zk-node/setup-local-validium-node.md deleted file mode 100644 index 35e80183a79..00000000000 --- a/docs/build/zkEVM/zk-node/setup-local-validium-node.md +++ /dev/null @@ -1,335 +0,0 @@ ---- -sidebar_position: 1 -title: Setup Local Validium Node -sidebar_label: Setup Local Validium Node ---- - -import cdk1 from '/docs/build/zkEVM/img/add-cdk-1.png' -import cdk2 from '/docs/build/zkEVM/img/add-cdk-2.png' -import cdk3 from '/docs/build/zkEVM/img/add-cdk-3.png' -import cdk4 from '/docs/build/zkEVM/img/add-cdk-4.png' -import cdk5 from '/docs/build/zkEVM/img/add-cdk-5.gif' -import cdk6 from '/docs/build/zkEVM/img/add-cdk-6.gif' -import cdk7 from '/docs/build/zkEVM/img/add-cdk-7.png' -import cdk8 from '/docs/build/zkEVM/img/add-cdk-8.png' -import cdk9 from '/docs/build/zkEVM/img/add-cdk-9.png' -import cdk10 from '/docs/build/zkEVM/img/add-cdk-10.png' -import cdk11 from '/docs/build/zkEVM/img/add-cdk-11.png' -import cdk12 from '/docs/build/zkEVM/img/add-cdk-12.png' -import cdk13 from '/docs/build/zkEVM/img/add-cdk-13.png' -import cdk14 from '/docs/build/zkEVM/img/add-cdk-14.png' -import cdk15 from '/docs/build/zkEVM/img/add-cdk-15.png' - - -## Validium - -This quick start guide shows you how to set up a CDK validium on your local machine that sets up and runs the following components: - -- zkEVM databases: data node, event, explorer L1 and L2, pool, state, and bridge service -- zkEVM node components: aggregator, approve service, sequencer and sequence sender, synchronizer -- L1 network (mock) -- Prover -- Explorers L1, L2 -- JSON RPC explorer -- L2 gas pricer -- DAC: data availability service, dac setup committee -- zkEVM bridge service and UI - -:::note - -The documentation describes standard deployments. -Edit the configuration files to implement your own custom setups. - -::: - -## Prerequisites - -### Hardware Requirements - -- A Linux-based OS (e.g., Ubuntu Server 22.04 LTS). -- At least 16GB RAM with a 4-core CPU. -- An AMD64 architecture system. - -:::caution - -CDK does not support ARM-based Macs. - -::: - -### Software Requirements - -The tutorial for current version of the environment requires `go` and `docker` to be previously installed on your machine. If you don’t have these installed, check out the links provided below: - -- [Go](https://go.dev/doc/install) -- [Docker and Docker compose](https://docs.docker.com/engine/install/ubuntu/) - -:::note - -This document uses docker compose v2. - -::: - -## Install make - -Install make on Ubuntu: -```bash -sudo apt install make -``` - -## Clone the repo - -Run the following commands: - -```bash -git clone https://github.com/Snapchain/zkValidium-quickstart.git -cd zkValidium-quickstart -``` - -Create the `.env` file by copying the example: -```bash -cp .env.example .env -``` - -## Launch validium locally - -Pull the required Docker images from Docker Hub: -```bash -sudo docker compose pull -``` - -After pulling the images, start your local CDK validium: -```bash -sudo make run -``` - -To ensure all services are running properly, check the status of each container: -```bash -sudo docker compose ps -``` - -You should see similar to this output: -
-Container status details - -```bash -$ sudo docker ps --format "table {{.Names}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}" -NAMES COMMAND STATUS PORTS -explorer-sig-provider "./sig-provider-serv…" Up 11 minutes 0.0.0.0:8151->8050/tcp, :::8151->8050/tcp -visualizer-proxy "/docker-entrypoint.…" Up 11 minutes 80/tcp, 0.0.0.0:8083->8081/tcp, :::8083->8081/tcp -explorer-visualizer "./visualizer-server" Up 11 minutes 0.0.0.0:8152->8050/tcp, :::8152->8050/tcp -explorer-smart-contract-verifier "./smart-contract-ve…" Up 11 minutes 0.0.0.0:8150->8050/tcp, :::8150->8050/tcp -explorer-proxy-l2 "/docker-entrypoint.…" Up 11 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8084->8080/tcp, :::8084->8080/tcp -explorer-stats-l2 "./stats-server" Up 11 minutes 0.0.0.0:8154->8050/tcp, :::8154->8050/tcp -explorer-stats-db-l2 "docker-entrypoint.s…" Up 11 minutes 0.0.0.0:7434->5432/tcp, :::7434->5432/tcp -explorer-frontend-l2 "./entrypoint.sh nod…" Up 11 minutes 0.0.0.0:3001->3000/tcp, :::3001->3000/tcp -explorer-backend-l2 "sh -c 'bin/blocksco…" Up 11 minutes 0.0.0.0:4001->4000/tcp, :::4001->4000/tcp -zkevm-explorer-json-rpc "/bin/sh -c '/app/zk…" Up 11 minutes 0.0.0.0:8124->8124/tcp, :::8124->8124/tcp, 8123/tcp, 0.0.0.0:8134->8134/tcp, :::8134->8134/tcp -explorer-backend-l2-db "docker-entrypoint.s…" Up 11 minutes 0.0.0.0:5437->5432/tcp, :::5437->5432/tcp -explorer-proxy-l1 "/docker-entrypoint.…" Up 11 minutes 0.0.0.0:81->80/tcp, :::81->80/tcp, 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp -explorer-stats-l1 "./stats-server" Up 12 minutes 0.0.0.0:8153->8050/tcp, :::8153->8050/tcp -explorer-stats-db-l1 "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:7433->5432/tcp, :::7433->5432/tcp -explorer-frontend-l1 "./entrypoint.sh nod…" Up 12 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp -explorer-backend-l1 "sh -c 'bin/blocksco…" Up 12 minutes 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp -explorer-backend-l1-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5436->5432/tcp, :::5436->5432/tcp -zkevm-bridge-ui "/bin/sh /app/script…" Up 12 minutes 0.0.0.0:8088->80/tcp, :::8088->80/tcp -zkevm-bridge-service "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp -zkevm-bridge-db "docker-entrypoint.s…" Up 12 minutes 5438/tcp, 0.0.0.0:5438->5432/tcp, :::5438->5432/tcp -zkevm-json-rpc "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:8133->8133/tcp, :::8133->8133/tcp, 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp -zkevm-aggregator "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:50081->50081/tcp, :::50081->50081/tcp, 0.0.0.0:9093->9091/tcp, :::9093->9091/tcp -zkevm-l2gaspricer "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp -zkevm-sequence-sender "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp -zkevm-sequencer "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:6060->6060/tcp, :::6060->6060/tcp, 0.0.0.0:6900->6900/tcp, :::6900->6900/tcp, 8123/tcp, 0.0.0.0:9092->9091/tcp, :::9092->9091/tcp -zkevm-eth-tx-manager "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:9094->9091/tcp, :::9094->9091/tcp -zkevm-sync "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:9095->9091/tcp, :::9095->9091/tcp -zkevm-prover "zkProver -c /usr/sr…" Up 12 minutes 0.0.0.0:50061->50061/tcp, :::50061->50061/tcp, 0.0.0.0:50071->50071/tcp, :::50071->50071/tcp -zkevm-data-availability "/bin/sh -c '/app/cd…" Up 12 minutes 0.0.0.0:8444->8444/tcp, :::8444->8444/tcp -zkevm-data-node-db "docker-entrypoint.s…" Up 12 minutes (healthy) 0.0.0.0:5444->5432/tcp, :::5444->5432/tcp -zkevm-mock-l1-network "geth --http --http.…" Up 12 minutes 0.0.0.0:8545-8546->8545-8546/tcp, :::8545-8546->8545-8546/tcp, 30303/tcp, 30303/udp -zkevm-event-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5435->5432/tcp, :::5435->5432/tcp -zkevm-pool-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5433->5432/tcp, :::5433->5432/tcp -zkevm-state-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp -``` -
- - -If a service isn’t running (i.e. it is in **Exit 1** state), investigate further using the logs: -```bash -sudo docker compose logs -``` -:::info - -Find the **\** in the docker command output. - -::: - -### Useful commands - -To stop CDK validium, use: -```bash -sudo make stop -``` - -To restart all services: -```bash -sudo make restart -``` - -:::note - -This local deployment runs on an L1 Geth instance. - -::: - - ## Test validium - -Verify the block explorer is running by navigating to [localhost](http://localhost). - -You should see a page similar to this: - -
- -
- - -## Add the network to a Web3 wallet - -Follow MetaMask’s instructions on [how to set up a network manually](https://support.metamask.io/hc/en-us/articles/360043227612-How-to-add-a-custom-network-RPC). - -- Set the chain ID to **1001**. -- The currency symbol can be anything but we will use **POL** by default. -- The RPC node and block explorer containers can be found at ports **8123** and **80**, respectively. - -
- -
- -Switch to the new network: - -
- -
- -:::important - -- An account with test funds is available with private key `0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80` -- NEVER transfer real assets to the address associated with this private key. - -::: - -[Import the account to MetaMask](https://support.metamask.io/hc/en-us/articles/360015489331-How-to-import-an-account). The balance shows up as 100000 POL: - -
- -
- -Transfer some tokens to another account: - -
- -
- -After confirming the transaction, check the updated balances: - -
- -
- -You can also view the transaction details in the block explorer by clicking on the transaction details in MetaMask: - -
- -
- -

- -:::warning[Troubleshooting stuck transactions with MetaMask] - -If you encounter a stuck transaction, it is likely due to an incorrect nonce setting. - -To resolve this issue, follow the steps below: - -1. Open Metamask and navigate to your account. -2. Click on Settings. -3. In the Settings menu, select Advanced. -4. Locate the option Clear activity and nonce data and click on it. -5. This resets the nonce data associated with the account, which often resolves transaction-related issues. - -::: - -## Test the bridge - -CDK has a native bridge with UI that allows you to transfer funds between the L1 and the L2 validium. - -### L1 to L2 - -Add the L1 RPC to MetaMask: - -
- -
- -Switch to the L1 network and you will see the previously imported account with ~999 POL on the L1 chain. - -Verify the bridge UI by navigating to [localhost:8088](http://localhost:8088/). - -Click on **Connect a wallet > MetaMask**. - -:::note - -You won’t see this view the second time around. - -::: - -
- -
- -Select the previously imported account `0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266`. Once you are connected, you should see a page like this: - -
- -
- -Enter the amount (e.g. 5) to bridge and click **Continue**, after confirming you understood what you’re doing, you will see the **Confirm Bridge** page. - -Click **Bridge** and approve the transaction on the MetaMask pop-up: - -
- -
- -Once bridging is complete, you should see the **Activity** page: - -
- -
- -### L2 to L1 - -witch network on MetaMask to your validium chain and navigate back to [localhost:8088](http://localhost:8088/). - -You should see both the updated L1 and L2 balances: - -
- -
- -Enter an amount and follow the same process to bridge the fund back to the L1. - -:::note - -You cannot bridge back fund more than what you have previously bridged from L1 to the L2. - -::: - -The L2->L1 bridging is slightly different than L1->L2 and you will see the **Activity** page like this after the transaction is executed: - -
- -
- -Click **Finalise** and approve the transaction (Note: MetaMask will pop up a window to ask you to switch to the L1 network first). Then you will see this once the bridging is completed: - -
- -
diff --git a/docs/build/zkEVM/zk-node/setup-mainnet-rpc-node.md b/docs/build/zkEVM/zk-node/setup-mainnet-rpc-node.md deleted file mode 100644 index d2964af25e5..00000000000 --- a/docs/build/zkEVM/zk-node/setup-mainnet-rpc-node.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -sidebar_position: 1 -title: Setup Astar zkEVM Mainnet Permissionless RPC Node -sidebar_label: Setup zkEVM Mainnet RPC ---- - -## Overview - -Operators can deploy permissionless RPC nodes for **Astar zkEVM**. - -DApp projects need to run their own RPC node to the retrieve necessary blockchain data and not to rely on public infrastructure. Public endpoints may respond slower because of the large amount of users connected, and are rate limited. - -## Requirements - -### System - -:::note -Storage space requirements will increase as the network grows. -::: - -- 16GB RAM -- 4-core CPU -- 100GB Storage (This will increase over time) - -### Prerequisites - -This tutorial requires `docker` and `docker-compose` to be installed on your machine. If you don’t have these installed, check out the links provided below: - -- [https://www.docker.com/get-started](https://www.docker.com/get-started) -- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) - -### Ethereum RPC Node - -An Ethereum RPC node is required for running an **Astar zkEVM** node. -There are two options available: - -- Setup your own - the [Geth client](https://geth.ethereum.org/docs/getting-started/installing-geth) is one example. -- Use an RPC provider endpoint - developers building on Astar may be entitled to special offers or promos. - -This document does not cover the installation of the Ethereum node. We will use a public RPC endpoint for this document, but keep in mind that **this is not a viable production solution**: public endpoints are rate limited and as a result, your Astar zkEVM node may not synchronize correctly. - -## Setting Up zkNode - -In this section, we are going to start the five containers necessary for the **Astar zkEVM** RPC node to function: - -- zkevm-rpc -- zkevm-sync -- zkevm-state-db -- zkevm-pool-db -- zkevm-prover - -Let's build on this. - -Create dedicated directories for install and data. - -```bash -sudo mkdir /etc/zkevm && sudo chown -R $USER:$USER /etc/zkevm -sudo mkdir -p /var/lib/zkevm/{statedb,pooldb} && sudo chown -R $USER:$USER /var/lib/zkevm/ -``` - -Set local variables. - -``` -# define installation and config path -ZKEVM_NET=mainnet -ZKEVM_DIR=/etc/zkevm -``` - -Download and extract the artifacts. - -```bash -wget https://shared-assets.astar.network/files/zkevm/astar/astarzk.tar.gz -tar -xf astarzk.tar.gz -C $ZKEVM_DIR && rm astarzk.tar.gz -``` - -Copy the env file and edit the L1 RPC URL. - -```bash -cp $ZKEVM_DIR/example.env $ZKEVM_DIR/.env -nano $ZKEVM_DIR/.env -``` - -Modify the parameters. - -```bash -# Use your own Ethereum RPC URL here!! -ZKEVM_NODE_ETHERMAN_URL = "https://ethereum-rpc.publicnode.com" -``` - -Edit the node config file. - -```bash -nano $ZKEVM_DIR/config/environments/mainnet/node.config.toml -``` - -Modify the following parameters, you may also want to change the databases default user/passwords for more security. - -``` -[Etherman] -# Set your own Ethereum RPC URL -URL = "https://ethereum-rpc.publicnode.com" - -# Enable if you want to exploit metrics from nodes -[Metrics] -Enabled = true -``` - -Start the containers. - -```bash - -# start all the containers -sudo docker compose --env-file $ZKEVM_DIR/.env -f $ZKEVM_DIR/docker-compose.yml up -d -# or start containers on by one -sudo docker compose --env-file $ZKEVM_DIR/.env -f $ZKEVM_DIR/docker-compose.yml up -d -``` - -Verify that all containers are up and running: you should see the 5 containers with a status Up. - -```bash -sudo docker ps -``` - -Now you have an **Astar zkEVM** RPC node up and running on port 8545, you just have to wait for it to synchronize. - -## Using RPC - -View container logs. - -```bash -sudo docker logs -fn30 -``` - -Test RPC requests. - -```bash -# Get the chain Id -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_chainId", "params": []}' http://localhost:8545 -# Expected response -{"jsonrpc":"2.0","id":1,"result":"0x133e40"} -# Get the latest block -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_getBlockByNumber", "params": ["latest", false]}' http://localhost:8545 -``` - -Stop containers. - -```bash -sudo docker compose --env-file $ZKEVM_DIR/.env -f $ZKEVM_DIR/docker-compose.yml down -``` - -## Extra - -### Enable tracing - -To enable tracing features (`debug` and `txpool` modules) on the RPC, add the following command to the `zkevm-rpc` container in the `docker-compose` file: - -``` ---http.api=eth,net,debug,zkevm,txpool,web3 -``` - -### Access from outside - -To make a RPC endpoint URL available from outside, it is recommended to add a HTTP server. -You can refer to this section to install an [nginx server](/docs/build/nodes/archive-node/nginx). diff --git a/docs/getting-started.md b/docs/getting-started.md index 655f2b77c94..570eb65b63d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -12,7 +12,6 @@ Astar is an interoperable blockchain platform for Polkadot and Ethereum ecosyste - [**EVM**](/docs/build/EVM) - Dives deeper into the EVM on Astar and explains how EVM smart contracts can interact with non-EVM modules and the Wasm virtual machine through [precompiles](https://docs.astar.network/docs/build/EVM/precompiles/). - [**Wasm**](/docs/build/wasm) - Provides an overview of the [Wasm stack](https://docs.astar.network/docs/build/wasm/smart-contract-wasm) on Astar, [Wasm contract frameworks](/docs/build/wasm/dsls), and [Swanky Suite](/docs/build/wasm/swanky-suite/). - [**dApp Staking**](/docs/learn/dapp-staking/) - Earn tokens for yourself and your dApp by staking tokens and registering your dApp with Astar’s dApp Staking. -- [**zkEVM**](/docs/build/zkEVM) - Contains everything developers need to know to start building on Astar's Layer 2 scaling solution for Ethereum. - [**Nodes**](/docs/build/nodes) - Explains how to run full nodes, collators, indexers, and everything else related to infrastructure. - [**XCM**](/docs/learn/interoperability/xcm) - Explains how XCM is used in Astar and also how developers can use it to interact with the rest of the Polkadot network. - [**Integrations**](/docs/build/integrations/) - Provides relevant information about the wallets, indexers, and oracles that are integrated with the network. diff --git a/docs/learn/architecture/astar-zkevm.md b/docs/learn/architecture/astar-zkevm.md index 04073bcfdfb..8e9717a01cf 100644 --- a/docs/learn/architecture/astar-zkevm.md +++ b/docs/learn/architecture/astar-zkevm.md @@ -4,11 +4,27 @@ sidebar_position: 2 --- # Overview + + +:::danger + +As of [March 31, 2025](https://x.com/AstarNetwork/status/1906658995538194650), the Astar zkEVM has been officially deprecated and is no longer accessible to users or developers. + +- All bridges to and from Astar zkEVM have been disabled, and asset transfers are no longer supported. + +- Both public and private RPC endpoints have been shut down, preventing any further transaction submissions. + +If you have any outstanding concerns or require assistance, please reach out through our [Discord](https://discord.com/invite/astarnetwork). + +For more details, see the official announcement on the [Astar Forum](https://forum.astar.network/t/astar-zkevm-sunsetting-migration-plan/7780). + + ::: + The Astar zkEVM is a Layer 2 scaling solution for Ethereum connected to Polygon Aggregation Layer (AggLayer) for shared interoperability. It's a modular Validium blockchain. Smart contracts that run on the Ethereum Virtual Machine also run on Astar zkEVM. The zkEVM boasts the following key features: - **Lower Transaction Fees compared to Ethereum** - Due to the transaction batching, as explained above. - **Full EVM-equivalence** - Not only EVM compatibility; Equivalence. Smart contracts that work on Ethereum also work on Astar zkEVM. -- **Native Account Abstraction** - The Astar zkEVM provides native features designed to revolutionize the end-user experience, and make it seamless. See the [Account Abstraction section](/docs/build/zkEVM/integrations/account-abstraction/) to learn more about how to refine the end-user experience. -- **Top-tier Integrations** - Established names and brands that developers trust power the Astar zkEVM. See the [integrations section](/docs/build/zkEVM/integrations/) for more information about 3rd party service providers. +- **Native Account Abstraction** - The Astar zkEVM provides native features designed to revolutionize the end-user experience, and make it seamless. +- **Top-tier Integrations** - Established names and brands that developers trust power the Astar zkEVM. - **Interoperability and Exposure** - With Astar zkEVM, we are supporting interoperability between the Ethereum and Polkadot ecosystems, uniting communities, and empowering web3 accessibility through a common Multichain vision. - **Established Tools and Libraries** - Compatible with the tools web3 developers already know how to use, such as Remix, Hardhat, and Open Zeppelin. diff --git a/docs/learn/networks.md b/docs/learn/networks.md index e1cb38fbd5c..e70a6a1fd64 100644 --- a/docs/learn/networks.md +++ b/docs/learn/networks.md @@ -25,10 +25,6 @@ The Shibuya native token symbol is SBY. To obtain test tokens from the faucet, please visit the Astar Portal and connect to Shibuya. If for any reason the faucet is empty, please contact the Astar team on Discord. -### zKyoto (Sepolia) (Deprecated) - -zKyoto was connected to the Ethereum Sepolia testnet and Polygon AggLayer. Testing ground for dApps deployed on the Astar zkEVM. This testnet has now been transitioned to [Soneium Minato](https://docs.soneium.org/). - ## Mainnets Astar Collective, with the ASTR token, supports three mainnets: @@ -42,9 +38,5 @@ Astar Collective, with the ASTR token, supports three mainnets: Astar parachain is connected to Polkadot Relay chain supporting WASM & EVM smart contract deployments. The Astar native token symbol is ASTR. -### Astar zkEVM - -Astar zkEVM is an Ethereum Layer 2 network, powered by Polygon CDK. Technically referred to as Validium, it combines zk rollup technology with modular data availability. Next phase for Astar zkEVM is the transition to Soneium. - ### Soneium Soneium is a next-generation blockchain ecosystem designed to invoke emotion and empower creativity. It was founded by Sony Group Corporation, a global technology leader, and Startale, a Web3 innovator. Soneium stands as a versatile, general-purpose blockchain ready to serve diverse needs across all verticals and support users globally. Astar and it's token ASTR will play a crucial role in the ecosystem as driven asset. diff --git a/docs/learn/zkEVM/faq.md b/docs/learn/zkEVM/faq.md deleted file mode 100644 index 750748c6a31..00000000000 --- a/docs/learn/zkEVM/faq.md +++ /dev/null @@ -1,118 +0,0 @@ -import Figure from "/src/components/figure" - -# Astar zkEVM FAQs - -## Frequently Asked Questions - -Here you will find answers to the most common questions about Astar zkEVM such as how it works, how to interact, and how it relates to Astar's Polkadot parachain, Polygon, and the Ethereum network. - -### What is the relationship between Polygon and Astar zkEVM? - -At a high level, Polygon and Astar zkEVM are both scaling solutions for Ethereum, however, Polygon recently introduced an Aggregation Layer (AggLayer) designed to provide shared consensus, data availability, and liquidity across their supported Layer 2 networks, technically referred to as **Validiums.** Astar zkEVM is the first Validium connected to this AggLayer. - -### Is Astar leaving Polkadot? - -Astar is not leaving Polkadot. In fact, Astar has recently secured a parachain slot for the next two years to focus primarily on the development of tools for smart contract creation as well as the regular onboarding of new projects. - -### Are all three (EVM, Astar zkEVM and Wasm) VMs interoperable? - -Yes. Astar zkEVM will be interoperable with existing chains on day one because of its EVM equivalence, and also via partners such as Layer Zero that support traditional asset bridging, arbitrary cross-chain message passing, and remote smart contract calls. - -### What is unique about Astar zkEVM? - -There are several key features that make Astar zkEVM unique: - -- Bridging the Japanese market with global projects, enterprises, and developers. -- High EVM equivalency. -- High scalability via zero-knowledge technology. -- Trustless interoperability and shared security inherited from Ethereum. -- Significantly reduced transaction cost compared to Ethereum mainnet. - -### What is Astar zkEVM’s gas option? - -Bridged ETH is the gas token on Astar zkEVM testnet, and bridged ASTR may be added as an option at some point in the future. - -### Will Astar release a new token for the zkEVM? - -No. The value of Astar network as a whole is reflected in the ASTR token, and everything we do from a business-perspective is intended to either enhance or preseve it. We have no intention of introducing a token native to the zkEVM. - -### Will there be an airdrop for the zkEVM ecosystem? - -There will be a number of different ways participants in the zkEVM ecosystem can earn incentives, although, at least for now, a planned airdrop is not one of them. Please follow the zkEVM Journey campaign if you'd like to learn more, and to get involved during the launch phase. - -### Is Astar zkEVM a zk rollup? - -Early iterations used zk rollup architecture exclusively, however, adding modular data availability while connecting to Polygon AggLayer means Astar zkEVM may be more accurately categorized as a **Validium** (zk proofs + data availability) though transactions are still 'rolled up' and submitted on-chain to be finalized in batches. - -### What is the difference between Astar zkEVM and Ethereum mainnet? - -From a user perspective, Astar zkEVM distinguishes itself from the Ethereum mainnet primarily by offering a much lower transaction cost and faster speeds. These features open the door to developers to create products that weren't possible or that became impractical to run on Ethereum mainnet, such as web3 gaming or high-speed trading . - -### Is Astar zkEVM going to become a Layer 2 on Ethereum, or Polygon chain? - -Astar zkEVM will be deployed as a Validium on Ethereum Layer 2, powered by Polygon CDK and AggLayer. - -### Are you planning to support all ecosystems equally, or have some priorities? - -Astar zkEVM will be focusing on the Japanese and Korean markets, in coordination with Polygon Labs. Having different solutions will facilitate diverse needs for different dApp developers and enterprise solutions depending on their specific requirements. - -### Why is Astar expanding to Layer 2, as a zkEVM network? - -Our projects and partners have shown a growing interest in zero-knowledge technology and Layer 2 solutions, both of which are emerging trends. Scaling our current blockchain through zero-knowledge solutions could meet demand growth by accessing the Ethereum ecosystem. - -### What is the benefit for the current Astar ecosystem of deploying a Layer 2 zkEVM on Ethereum? - -Launching a layer 2 on Ethereum offers several advantages for the Astar ecosystem: - -- **More Choices for Builders**: With both Astar Substrate (layer 1) and Astar zkEVM (layer 2), developers have more places and tools to create/build with. -- Expanding to a bigger community. -- Astar can work more closely with Tier 1 projects on Ethereum. This means they can benefit from Astar's unique features, for example: Astar's dApp Staking. -- The Astar ecosystem will benefit from increased growth in transactions, active users, and liquidity. All are key factors for network success. -- More Japanese enterprises and real-world use cases are coming to the Astar ecosystem - -### Is Astar zkEVM Censorship Resistant? - -Astar zkEVM is censorship resistant from the protocol level, even though in the current architecture there is only a single sequencer proposing the batches to L1 but it cannot censor anyone since it is always possible to *force* batches directly into L1 rollup smart contract. That means essentially even if sequencer in theory can censor your TX going through it but it cannot censor you to send your TX directly to L1 smart contract - -### How can developers get started with building on Astar zkEVM? Are there any specific toolkits or SDKs available? - -See the [build section](/docs/build/zkEVM/quickstart.md) for more about how to get started. - -Current developers within the Astar community can benefit significantly from the expansive developer resources present in the Ethereum ecosystem where support and tools, including Hardhat and Truffle, are highly accessible. Eventually, Astar will introduce tools and SDKs tailored to specific Astar zkEVM functionalities. - -### How does gas pricing on Astar zkEVM compare to Ethereum and Polygon? - -Though transactions on Astar zkEVM will cost significantly less than those on Ethereum mainnet, it will be more expensive than Astar Substrate on Polkadot. The cost of transacting on the network is largely affected by transient network activity on Ethereum mainnet, which is typically higher than that of Astar Substrate. - -### What's the roadmap for the future development and deployment of Astar zkEVM? - -Astar zkEVM testnet rolled out in October 2023, with mainnet following in late Q1 2024. - -### Can assets be bridged or migrated from other chains to Astar zkEVM? If so, how? - -Absolutely! - -- ETH can be natively transferred in both directions from Ethereum to the zkEVM using a trustless bridge. -- ASTR and other tokens can be bridged over via the LayerZero protocol, or other supported bridges. -- In the future, Polygon LxLy bridge will facilitate transfer of assets and liquidity between networks connected to Polygon AggLayer. - -### How are zkEVM transactions collected and ordered? - -1. A user initiates a transaction in a wallet, such as Metamask, and forwards it to a Sequencer. -2. The transaction gets finalized on Astar zkEVM once the Sequencer commits to processing it. At this point, it's finalized on Astar zkEVM but not Ethereum, and referred to as the **Trusted State**. -3. The Sequencer submits batch data to the Ethereum smart contract. This allows any node to trustlessly sync from Ethereum, a phase called **Virtual State**. -4. An Aggregator collects pending transactions, verifies them, and constructs a Proof to confirm them on Ethereum. -5. With Proof validation, transactions achieve Ethereum finality, essential for withdrawals, termed as the **Consolidated State**. - -The above process is a summarized version of the transactions flow on Astar zkEVM. We recommend you to take a look at the complete [transaction life cycle](https://wiki.polygon.technology/docs/zkevm/protocol/l2-transaction-cycle-intro/) document if you'd like to learn more. - -### What types of dApps can be deployed on Astar zkEVM? - -Any dApps that are EVM compatible can be deployed on Astar zkEVM due to its EVM equivalence. This means that dApps built for Ethereum can be deployed on Astar's zkEVM, where they will benefit from scalability improvements and parallel processing due to the nature of how rollups work, and lower transaction costs. - -### What is the value of Astar zkEVM for ASTR token holders? - -Astar zkEVM uses the ASTR token in three new ways: as the gas fee for tooling, in the burning mechanism of the sequencer, and burning incentivized tokens to the network aggregator. This model will be evaluated on our testnet to maximize the value for ASTR holders. The final design is subject to change based on analysis from testing the model. - -
- diff --git a/docs/learn/zkEVM/img/astar-zkevm-value.png b/docs/learn/zkEVM/img/astar-zkevm-value.png deleted file mode 100644 index d3a32a80935..00000000000 Binary files a/docs/learn/zkEVM/img/astar-zkevm-value.png and /dev/null differ diff --git a/docs/learn/zkEVM/index.md b/docs/learn/zkEVM/index.md index 2a433070951..9e65614b1cd 100644 --- a/docs/learn/zkEVM/index.md +++ b/docs/learn/zkEVM/index.md @@ -2,27 +2,21 @@ title: Astar zkEVM --- -import Figure from '/src/components/figure' +:::danger -# Background +As of [March 31, 2025](https://x.com/AstarNetwork/status/1906658995538194650), the Astar zkEVM has been officially deprecated and is no longer accessible to users or developers. -Before we can describe what the zkEVM is and how it works, we need to explain a few background concepts. Layer-2 networks on Ethereum are a bit like Parachains on the Polkadot network, but here's how they differ: +- All bridges to and from Astar zkEVM have been disabled, and asset transfers are no longer supported. -The Substrate framework Polkadot is built with is *modular*, meaning developers are able to customize the features supported by their parachains; often choosing only those required to achieve the goals of their applications. +- Both public and private RPC endpoints have been shut down, preventing any further transaction submissions. -Although parachains are sovereign networks, they also benefit from the shared security of Polkadot as a whole, allowing them to interoperate with one another seamlessly through a separate, unified mechanism of consensus and finality. +If you have any outstanding concerns or require assistance, please reach out through our [Discord](https://discord.com/invite/astarnetwork). -This is unlike Ethereum, where Layer-2 networks, although sharing a common method of finality, do not share a common method of consensus (ie: no shared Sequencers), so cross-chain interoperability and fast withdrawals to other networks are limited. +For more details, see the official announcement on the [Astar Forum](https://forum.astar.network/t/astar-zkevm-sunsetting-migration-plan/7780). -## What do we mean by Monolithic versus Modular blockchains? + ::: -Layer-1 Blockchains are monolithic by nature and while each are able to perform four critical functions independently: **achieving Consensus amid disputes, Executing transactions, Storing data, and performing Settlement (Finality)** it's impossible for any single blockchain to perform them all *well* without making tradeoffs and running into theoretical limitations. This is where more granular blockchain solutions come in. - -By modularizing the blockchain protocol stack, Layer-2 solutions selectively offload functions normally provided by the Layer-1 to *highly specialized* off-chain workers designed not only to provide an equivalent, but ***superior*** experience compared to that of the underlying chain. - -Modular blockchain solutions are purpose-built to *excel* at performing only the functions they are specifically intended for, such as transaction **Execution** and **Data Availability**, leaving **Settlement** to the underlying Layer-1, theoretically advancing the challenges of blockchain scaling past those originally imposed by the *[blockchain trilemma](https://coinmarketcap.com/alexandria/glossary/blockchain-trilemma)*. - -## So, what is Astar zkEVM? +## What is Astar zkEVM? Astar zkEVM is a Layer-2 scaling solution leveraging Polygon's zero-knowledge technology and Aggregation Layer (AggLayer) to facilitate off-chain execution and data availability, otherwise known as a **Validium**, with finality guaranteed by Ethereum. This approach synthesizes the benefits of both fully integrated (monolithic) as well modular architectures, combining the best features of each. @@ -32,9 +26,8 @@ In coordination with our key partners, Astar zkEVM is well-positioned to take ad - **Some of the lowest transaction fees in the Ethereum ecosystem** - Off-chain transaction batching and data availability provides some of the lowest costs for transacting in the Ethereum ecosystem. - **Full EVM-equivalence** - Smart contracts that work on Ethereum also work on Astar zkEVM. -- **Native Account Abstraction** - The Astar zkEVM provides native features designed to revolutionize the end-user experience and make it seamless. See the [Account Abstraction section](/docs/build/zkEVM/integrations/account-abstraction/) for more technical information about how to refine the end-user experience. -- **Top-Tier Infrastructure Integrations** - Established names and brands that developers trust power the Astar zkEVM. See the [integrations section](/docs/build/zkEVM/integrations/) for more information about our 3rd party service providers. +- **Native Account Abstraction** - The Astar zkEVM provides native features designed to revolutionize the end-user experience and make it seamless. +- **Top-Tier Infrastructure Integrations** - Established names and brands that developers trust power the Astar zkEVM. - **Interoperability and Exposure** - With Astar zkEVM, we are supporting interoperability between the Ethereum, Polkadot, and Polygon ecosystems, uniting communities through a common vision. - **Established Tools and Libraries** - The zkEVM is compatible with tools and libraries developers already know how to use, such as Remix, Hardhat, and Open Zeppelin. -For more general information, check out the zkEVM [FAQ](/docs/learn/zkEVM/faq.md) page. \ No newline at end of file diff --git a/docs/learn/zkEVM/quickstart.md b/docs/learn/zkEVM/quickstart.md deleted file mode 100644 index 90e56d3c7a6..00000000000 --- a/docs/learn/zkEVM/quickstart.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -sidebar_position: 1 -title: Quickstart Guide -sidebar_label: Quickstart ---- -import metamask from '/docs/build/zkEVM/img/metamask-network.png' - -# Overview of Astar zkEVM - -Astar zkEVM is Layer 2 scaling solution for Ethereum offering a blazing fast and more cost-effective experience compared to Ethereum itself. Coupled with support from Polygon, it's the first network to plug into the Aggregation Layer (AggLayer) and harnesses the power of zero-knowledge proofs to move transaction execution and data availability off-chain, while continuing to operate under the same security umbrella as Ethereum. - -## Connecting to Astar zkEVM - -To add **Astar zkEVM** to your wallet manually, enter the following details : - -| RPC URL | ChainID | Block Explorer URL | Currency | -| ------------------------------- | ---------------- | ---------------- | ----- | -| `https://rpc.startale.com/astar-zkevm` | `3776` | [https://astar-zkevm.explorer.startale.com/](https://astar-zkevm.explorer.startale.com/) | **ETH** | - - -To add the network to MetaMask you can either use the data above, or find a link to add the network at the bottom of the respective block explorer page. - - -## Astar zkEVM Support - -If you have a question about using the Astar zkEVM please join and ask in the [Astar Discord server](https://discord.gg/astarnetwork), or consult the [FAQs](https://docs.astar.network/docs/learn/zkEVM/faq) diff --git a/docusaurus.config.js b/docusaurus.config.js index 75a69ee9310..ec52682f6ab 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -275,11 +275,6 @@ const config = { caption: "Astar Tokenomics: Inflation and Fees Model", url: "https://docs.astar.network/docs/learn/tokenomics2/", }, - { - title: "Astar zkEVM", - caption: "Layer 2 scaling solution connected to AggLayer", - url: "https://docs.astar.network/docs/learn/zkEVM/", - }, ], highlight: { single: { @@ -351,11 +346,6 @@ const config = { caption: "Transfer assets within and outside the Astar Ecosystem", url: "https://docs.astar.network/docs/use/manage-assets/transfer-tokens", }, - { - title: "Astar zkEVM", - caption: "Explore and utilize the Layer 2 Astar zkEVM", - url: "https://docs.astar.network/docs/use/zkevm-guides/", - }, { title: "dApp Staking", caption: "How ASTR holders or project owners can take part in dApp Staking", @@ -396,11 +386,6 @@ const config = { caption: "Set up a local environment tailored to your development requirements", url: "https://docs.astar.network/docs/build/environment/", }, - { - title: "Astar zkEVM", - caption: "Everything you need to build on Astar zkEVM Layer 2", - url: "https://docs.astar.network/docs/build/zkEVM/", - }, { title: "Integrations", caption: "Common services and infrastructure tools integrated on Astar Network", diff --git a/i18n/es/docusaurus-plugin-content-docs/current/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/current/getting-started.md index 4676ada6300..66afa35e40c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/getting-started.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/getting-started.md @@ -11,7 +11,6 @@ Astar es una plataforma blockchain interoperable para los ecosistemas de Polkado - [**Construir**](/docs/build) - Proporciona los recursos que necesitas para empezar a construir, probar, desplegar e interactuar con contratos inteligentes en la red Astar. - [**EVM**](/docs/build/EVM) - Profundiza en la EVM en Astar y explica cómo los contratos inteligentes EVM pueden interactuar con módulos no EVM y la máquina virtual Wasm a través de [precompilados](https://docs.astar.network/docs/build/EVM/precompiles/). - [**Wasm**](/docs/build/wasm) - Provee una visión general del [stack de Wasm](https://docs.astar.network/docs/build/wasm/smart-contract-wasm) en Astar, [Marcos de trabajo para contratos Wasm](/docs/build/wasm/dsls), y [Swanky Suite](/docs/build/wasm/swanky-suite/). -- [**zkEVM**](/docs/build/zkEVM) - Contiene todo lo que los desarrolladores necesitan saber para empezar a construir sobre la solución de escalado Layer 2 de Astar para Ethereum. - [**Nodos**](/docs/build/nodes) - Explica cómo gestionar nodos completos, recopiladores, indexadores y todo lo relacionado con la infraestructura. - [**XCM**](/docs/learn/interoperability/xcm) - Explica cómo se utiliza XCM en Astar y también cómo los desarrolladores pueden utilizarlo para interactuar con el resto de la red Polkadot. - [**Integraciones**](/docs/build/integrations/) - Proporciona información relevante sobre las billeteras, indexadores y oráculos integrados en la red. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md b/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md deleted file mode 100644 index 3c52e6486ec..00000000000 --- a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md +++ /dev/null @@ -1,122 +0,0 @@ -import Figure from "/src/components/figure" - -# Astar zkEVM FAQs - -## Preguntas frecuentes (FAQ) - -Aquí encontrarás respuestas a las preguntas más comunes sobre Astar zkEVM, como por ejemplo cómo funciona, cómo interactuar y cómo se relaciona con la parachain Polkadot de Astar, la cadena PoS Polygon y la red Ethereum. - -### ¿Cuál es la diferencia entre Polygon PoS y Astar zkEVM? - -Polygon PoS y Astar zkEVM ofrecen soluciones de escalado para Ethereum, aunque difieren en su arquitectura, mecanismos de consenso y opciones de disponibilidad de datos. - -Astar zkEVM, en particular, aprovecha la tecnología zk-rollup en la capa 2 de Ethereum para lograr una escalabilidad mejorada, seguridad compartida y equivalencia EVM, mientras que Polygon PoS es una cadena lateral independiente de Ethereum, que actúa como su propia capa 1, con su propio mecanismo de consenso y seguridad. - -El puente entre Ethereum y la Capa 2 es trustless, lo que significa que Astar zkEVM hereda la seguridad de Ethereum, mientras que los puentes entre Ethereum y otras cadenas de Capa 1 como Polygon PoS dependen del proveedor específico del puente para proporcionar garantías de seguridad. - -### ¿Está Astar abandonando Polkadot? - -Astar no está abandonando Polkadot. Apoyaremos la cadena como hasta ahora. De hecho, acabamos de conseguir un puesto de paracaidista para los próximos dos años, y nuestro principal objetivo es el desarrollo de herramientas para la creación de contratos inteligentes y la incorporación regular de nuevos proyectos. Así que estamos comprometidos incondicionalmente con Polkadot. - -### ¿Las tres máquinas virtuales (EVM, Astar zkEVM y Wasm) son interoperables? - -Sí. Astar zkEVM será interoperable con las cadenas existentes desde el primer día debido a su equivalencia EVM, y también a través de socios como Layer Zero que soportan el puente tradicional de activos, el paso arbitrario de mensajes entre cadenas y las llamadas a contratos inteligentes remotos. - -### ¿Qué es único en Astar zkEVM? - -Hay varias características clave que hacen a Astar zkEVM único: - -- Tendiendo puentes entre el mercado japonés y los proyectos, empresas y promotores de todo el mundo. -- Equivalencia alta de EVM. -- Alta escalabilidad a través de tecnología de conocimiento cero. -- Interoperabilidad sin confianza y seguridad compartida heredada de Ethereum. -- Coste de transacción significativamente reducido en comparación con Ethereum mainnet. - -### ¿Cuál es la opción de gas de Astar zkEVM? - -ETH puenteado es el token de gas en Astar zkEVM testnet, y ASTR puenteado puede ser añadido como una opción en algún momento en el futuro. - -### ¿Astar lanzará un nuevo token para el zkEVM? - -No. El valor de la red Astar en su conjunto se refleja en el token ASTR, y todo lo que hacemos desde el punto de vista empresarial está destinado a mejorarlo o preservarlo. No tenemos intención de introducir un token nativo de la zkEVM. - -### ¿Habrá un airdrop para el ecosistema zkEVM? - -Los participantes en el ecosistema zkEVM podrán obtener incentivos de distintas formas, aunque, al menos por ahora, airdrop no es una de ellas. Sigue la campaña zkEVM Journey si quieres saber más y participar en la fase de lanzamiento. - -### ¿Astar zkEVM utiliza una arquitectura ZK-Rollup? ¿Eso por qué? - -El equipo de Astar ha decidido utilizar la arquitectura ZK-Rollup para la red de pruebas. ZK-Rollups están completamente asegurados y respaldados por Ethereum. - -### ¿Cuál es la diferencia entre Astar zkEVM y Ethereum mainnet? - -Astar zkEVM se distingue de la red principal de Ethereum ofreciendo un coste de transacción mucho más bajo (tasas de gas) y un mayor rendimiento de transacción. Esta mejora del rendimiento, combinada con la reducción de los costes de transacción, ofrece a los desarrolladores el entorno ideal para crear aplicaciones que exigen altas velocidades de transacción sin la carga de unos costes elevados. - -### ¿Astar zkEVM va a convertirse en una Capa 2 en Ethereum, o Polygon PoS chain? - -Astar zkEVM será desplegado en Ethereum Layer 2, y será propulsado por la tecnología Polygon zkEVM. - -### ¿Tiene previsto apoyar a todos los ecosistemas por igual, o tiene algunas prioridades? - -Astar zkEVM se centrará en el mercado japonés, en coordinación con Polygon Labs. Tener diferentes soluciones facilitará diversas necesidades para diferentes desarrolladores de dApp y soluciones empresariales dependiendo de sus necesidades específicas. - -### ¿Por qué Astar se expande a la Capa 2, como una red zkEVM? - -Nuestros proyectos y socios han mostrado un creciente interés por la tecnología de conocimiento cero y las soluciones de capa 2, ambas tendencias emergentes. Escalar nuestro actual blockchain a través de soluciones de conocimiento cero podría satisfacer el crecimiento de la demanda accediendo al ecosistema Ethereum. - -### ¿Cuál es el beneficio para el ecosistema Astar actual de desplegar una capa 2 zkEVM en Ethereum? - -El lanzamiento de una capa 2 en Ethereum ofrece varias ventajas para el ecosistema Astar: - -- **Más opciones para los constructores**: Con Astar Substrate (capa 1) y Astar zkEVM (capa 2), los desarrolladores tienen más lugares y herramientas con las que crear/construir. -- Expandiendo hacia una comunidad más grande. -- Astar puede trabajar más estrechamente con los proyectos de nivel 1 en Ethereum. Esto significa que pueden beneficiarse de las características únicas de Astar, por ejemplo: dApp Staking de Astar. -- El ecosistema Astar se beneficiará de un mayor crecimiento de las transacciones, los usuarios activos y la liquidez. Todos son factores clave para el éxito de la red. -- Más empresas japonesas y casos de uso del mundo real están llegando al ecosistema Astar - -### ¿Es Astar zkEVM resistente a la censura? - -Astar zkEVM es resistente a la censura desde el nivel de protocolo, aunque en la arquitectura actual sólo hay un único secuenciador que propone los lotes a L1, pero no puede censurar a nadie ya que siempre es posible _forzar_ los lotes directamente en el contrato inteligente de rollup de L1. Eso significa esencialmente que incluso si el secuenciador en teoría puede censurar su TX pasando a través de él, pero no puede censurar a enviar su TX directamente a L1 contrato inteligente - -### ¿Cómo pueden empezar los desarrolladores con la construcción en Astar zkEVM? ¿Hay algún kit de herramientas o SDKs específicos disponibles? - -La información detallada sobre desarrollo será revelada junto con el lanzamiento de la red de pruebas. Adicionalmente, publicaremos documentación completa simultáneamente con el testnet, permitiendo a los desarrolladores comenzar a compilar inmediatamente. - -Los desarrolladores actuales de la comunidad Astar se beneficiarán significativamente de los extensos recursos de los desarrolladores presentes en el ecosistema Ethereum. Las herramientas de desarrollo de Ethereum familiares, incluyendo Hardhat, y Truffle, seguirán siendo accesibles. A medida que avanzamos, Astar presentará herramientas y SDKs adaptados a cualquier funcionalidad única de Astar zkEVM. - -### ¿Cómo se compara el precio del gas en Astar zkEVM con Ethereum y Polygon? - -Aunque las transacciones en Astar zkEVM serán significativamente más baratas que las de la red principal de Ethereum, serán más caras en comparación con Astar Substrate en Polkadot. La razón es que como Astar zkEVM es una solución de capa 2 de Ethereum, el costo de la red se ve afectado en gran medida por el costo de Ethereum mainnet, que es significativamente más alto que Astar Substrate. - -### ¿Cuál es el mapa de ruta para el futuro desarrollo y despliegue de Astar zkEVM? - -Astar zkEVM testnet comenzará a desplegarse en octubre de 2023 (Q4) con un despliegue previsto de mainnet después de las pruebas de batalla de nuestro entorno testnet. Tenemos previsto lanzar la mainnet Astar zkEVM en plena coordinación con nuestros socios de infraestructura para garantizar que los desarrolladores de aplicaciones digitales zkEVM dispongan de todas las herramientas y funciones que necesitan para empezar a crear desde el primer momento, como la mensajería entre cadenas (o bridging) y la abstracción de cuentas (AU). - -### ¿Se pueden acumular activos o migrar de otras cadenas a Astar zkEVM? Si es así, ¿cómo? - -- ETH puede ser transferido nativamente en ambas direcciones usando un puente sin confianza. -- ASTR y fichas adicionales serán transitadas a través del protocolo LayerZero. - -### ¿Cómo se recogen y ordenan las transacciones? - -1. Un usuario inicia una transacción en una billetera, como Metamask, y la reenvía a un Sequencer. -2. La transacción se finaliza en Astar zkEVM una vez que el secuenciador se compromete a procesarla. En este punto, está finalizado en Astar zkEVM pero no Ethereum, y referido como el **Estado de confianza**. -3. El secuenciador envía los datos por lotes al contrato inteligente de Ethereum. Esto permite que cualquier nodo sincronice sin confianza desde Ethereum, una fase llamada **Estado Virtual**. -4. Un agregador recoge transacciones pendientes, las verifica y construye una Prueba para confirmarlas en Ethereum. -5. Con la validación de la prueba, las transacciones alcanzan la finalidad de Ethereum, esencial para las retiradas, denominadas como el **Estado Consolidado**. - -El proceso anterior es una versión resumida del flujo de transacciones en Astar zkEVM. Te recomendamos que eches un vistazo al documento completo [ciclo de vida de las transacciones](https://wiki.polygon.technology/docs/zkevm/protocol/l2-transaction-cycle-intro/) por ahora si quieres saber más. - -### ¿Qué tipos de dApps se pueden desplegar en Astar zkEVM? - -Cualquier dApps compatible con EVM puede ser desplegado en Astar zkEVM debido a su equivalencia EVM. Esto significa que dApps construidos para Ethereum puede ser desplegado en zkEVM de Astar, donde se beneficiarán de mejoras de escalabilidad y procesamiento paralelo debido a la naturaleza de los rollups, y menores costos de transacción. - -### ¿Cómo se logra el consenso en el ecosistema zkEVM de Astar? - -Astar zkEVM existe en sí mismo como un programa acumulativo, que no requiere un consentimiento independiente, por lo tanto, Astar zkEVM hereda la seguridad de Ethereum. - -### ¿Cuál es el valor de Astar zkEVM para los poseedores de tokens ASTR? - -Astar zkEVM utiliza el token ASTR de tres nuevas maneras: como la tasa de gas para el utillaje, en el mecanismo de quema con el secuenciador, y quemando tokens incentivados al agregador de la red. Este modelo será evaluado en nuestra red de pruebas para maximizar el valor de los poseedores de ASTR. El diseño final está sujeto a cambios basados en análisis de la prueba del modelo. - -
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png b/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png deleted file mode 100644 index d3a32a80935..00000000000 Binary files a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png and /dev/null differ diff --git a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md b/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md deleted file mode 100644 index 831d07b13e7..00000000000 --- a/i18n/es/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md +++ /dev/null @@ -1,15 +0,0 @@ -# Astar zkEVM - -## ¿Qué es Astar zkEVM? - -Astar zkEVM sirve como una solución versátil para las empresas globales, acelerando la adopción de tecnología blockchain no sólo en Japón, sino a escala global. Se posiciona en particular como una puerta de entrada para las aventuras internacionales de juegos y entretenimiento para aprovechar el lucrativo mercado japonés. Un elemento central de la innovación de Astar es la adopción de la solución Ethereum Layer-2 Scaling. - -Los atributos clave del Astar zkEVM incluyen: - -- Escalabilidad que asegura operaciones fluidas incluso durante los altos volúmenes de transacción a través de tecnología de conocimiento cero. -- Equivalencia EVM. -- Mecanismos de seguridad derivados de Ethereum, garantizando un marco sólido y seguro. -- Interoperabilidad sin confianza con Ethereum, haciendo diversas integraciones más suaves. -- Costes de transacción significativamente reducidos en comparación con Ethereum, lo que lo hace económicamente ventajoso para los usuarios. - -Para más información, revisa la página zkEVM [FAQ](/docs/learn/zkEVM/faq). diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/build/_category_.json deleted file mode 100644 index 68c7c667481..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "開発", - "position": 4 -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/bridge-to-zkevm.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/bridge-to-zkevm.md deleted file mode 100644 index 5f8e9e4fc3c..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/bridge-to-zkevm.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 0 -title: Astar zkEVM へのブリッジ -sidebar_label: zkEVMへのブリッジ ---- -import bridge1 from '/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya1.jpg' -import bridge2 from '/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya2.jpg' -import bridge3 from '/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya3.jpg' -import bridge4 from '/docs/build/zkEVM/img/astar-bridge-zKatana-Shibuya4.jpg' -import network from '/docs/build/zkEVM/img/zKatana-network1.jpg' -import network1 from '/docs/build/zkEVM/img/add_zkEVM_network1.jpg' -import network2 from '/docs/build/zkEVM/img/add_zkEVM_network2.jpg' -import walletselect from '/docs/build/zkEVM/img/wallet-select.jpg' - -## 概要 - -ここでは、Astar zkEVM へのアセットのブリッジ方法をご紹介します。 現在、zkEVM にアセットをブリッジするには 2 つの方法があります: - -1. Ethereum L1 から Astar zkEVM へのブリッジ → ブリッジされた ETH は、Astar zkEVM 上での dApps のテストおよびデプロイに必要なネイティブトークンです。したがって、ネットワークを使用する前に、開発者は Layer 1 から Layer 2 へ ETH をブリッジする必要があります。 Astar Portal を介した Ethereum(Layer 1)から Astar zkEVM(Layer 2)へのブリッジがあり、ネットワークの混雑具合に応じておよそ10〜30 分かかります。 -2. Astar Parachain から Astar zkEVMへのブリッジ (現在開発中) → Astar Substrate EVMとAstar zkEVMの間での、ラップされたアセットのロックとミントを容易にする、サードパーティのアセットブリッジやメッセージネットワーク サードパーティのブリッジサービスおよび互換性のあるアセットの使用方法に関する詳細は、[integrations section](/docs/build/zkEVM/integrations/bridges-relays/) をご覧ください。 - -### Astar Portalを用いたETHの送金 - -[Astar Portal](https://portal.astar.network)を検索し、MetaMask を接続してください。 - -
- -
- -ネットワーク選択から、zKatana network に切り替えてください。もしくは MetaMask に zKatana network への切り替えを許可してください。 - -
- -
- -左側のタブで「Bridge」をクリックしてください。 Bridge のソースとして Sepolia が選択されていることを確認し、また送金先として zKatana が選択されていることを確認してください。 送金する ETH の金額を入力したら、「Confirm」ボタンを押してください。 - -
- -
- -MetaMaskでトランザクションに署名してください。 - -:::note -MetaMask のアクティビティタブ上でトランザクションが confirmed として表示されてから、Astar Portal と MetaMask 上で zKatana ネットワークの残高が更新されるまでおよそ 5 -10 分ほどかかります。 -::: - -
- -
-
- -
- -Astar zkEVM 上で使用可能な ETH が ブリッジされていることがMetaMask 上でご確認いただけるでしょう。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-eth-faq.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-eth-faq.md deleted file mode 100644 index 24d3a64ad4b..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-eth-faq.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -sidebar_position: 2 -title: zkEVMとEVM等価性に関するよくある質問 -sidebar_label: EVM等価性 ---- - -このドキュメントでは、Astar zkEVM のEVM等価性に関するよくある質問を解説します。 詳細については、[Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/)をご覧ください。 - -*** - -### EVM互換性とEVM等価性の違いは何ですか? - -最終的な目標は**互換性**ではありません。 究極の目標は**等価性**です。 **互換性のあるソリューションでは、既存のアプリのほとんどを動作させることができますが、コードの変更を要する場合があります**。 また、互換性があっても、開発者ツールが動作しない可能性があります。 - -**zkEVMはEVM等価性を目指して開発されています。なぜなら、EVM等価性によりEthereum上に構築されたアプリ、ツール、インフラは、一切の変更を必要とせず、すぐにAstar zkEVMに移植できるからです**。 すなわち、インフラがローンチ初日から100%動作するように設計されているのです。 これは、以下の理由により非常に重要です: - -1. **開発チームはコードを変更する必要はありません。** むしろ、変更によりセキュリティの脆弱性が生まれる可能性があります。 -2. **コードの変更は必要ありません**。 コードの変更に伴う監査が不要なため、時間とお金を節約できます。 -3. **zkEVMは突き詰めると、Ethereumのセキュリティと分散性から恩恵を受けます。** これは、Ethereum上でトランザクションが確定されるためです。 -4. Astar zkEVM は**活気に満ちたアクティブなEthereumコミュニティの恩恵を受けることができます**。 -5. ローンチ時点でEthereum上に構築されたdAppと互換性があるため、**ユーザーの素早いオンボーディング**が可能になります。 - -### どうしてEVM等価性が必要なのか? - -Ethereumは単なるブロックチェーンではありません。 スマートコントラクト、開発ツール、インフラ、ウォレットが豊富に存在するエコシステムなのです。 そして同時に、開発者、監査役、ユーザーの活気に満ちたコミュニティでもあります。 - -Ethereumをスケールさせる最善の方法は、このEthereumエコシステムとの等価性を維持することです。 Astar zkEVMはユーザーと開発者に、絶大なスケーラビリティとUX (ユーザー体験) の向上を備えたEthereum L1と同じレベルの環境を提供します。 - -### EVMオペコードはAstar zkEVM上でどのように異なりますか? - -Astar zkEVM では以下の EVM オペコードが異なります: **SELFDESTRUCT**、**EXTCODEHASH**、**BLOCKHASH**、**NUMBER** - -### Astar zkEVMがサポートしているプリコンパイル済みスマートコントラクトの機能を教えてください。 - -zkEVMでは、以下のプリコンパイル済みコントラクトがサポートされています: **ecRecover** と **identity** 。 - -他のプリコンパイル済みコントラクトは zkEVM のステートツリーに影響を与えず、 `revert` として扱われます。 全てのガスを前のコンテキストに戻し、 `success` フラグを "0" に設定します - -### 現在のzkEVMバージョンに存在しないプリコンパイル済みコントラクトを教えてください。 - -Astar zkEVMは、**SHA256**、**BLAKE**、**PAIRINGS**以外の全てのプリコンパイル済みコントラクトをサポートしています。 - -### Type 2のEVM等価性はいつ達成されますか? - -現在、Astar zkEVMはType 3のEVM等価性があります。 プリコンパイル済みのコントラクトがすべてサポートされた時、Type 2 または完全なEVM等価性を実現することができます。 - -### Astar zkEVM でのロールバックとリバートのプロセスを教えてください。 EVMと類似の構造でしょうか? - -ロールバックとリバートのプロセスは、通常のEVMと似たものです。 revertを起こすエラーまたは条件がある場合は常に、`REVERT` 命令を使用して実行を停止し、エラーメッセージを返します。 - -ロールバックは、無効なZKプルーフが原因で発生することもあります。(これは、Astar zkEVMに未定義動作を引き起こします。) この場合、トランザクションは中断され、すべての状態変更が取り消されます。 - -### Astar zkEVMはどのようにイベントやログを処理しますか? - -Astar zkEVMは、イベントを発生させ、将来参照するためにブロックチェーンにログを記録するという、他のEVMと同様の方法でイベントやログを処理します。 - -### Astar zkEVMとEthereumのエラーメッセージの共通点を教えてください。 - -Astar zkEVMは、Ethereumのエラーと高い互換性を持っています。 Astar zkEVMはEthereumよりも制約が多く、異なる概念(例えばブロックの代わりにバッチを用いるなど) を使用することに注意する必要があります。 したがって、より精密で種類の多いエラーが発生します。(例えば、Astar zkEVMにおけるガスの構想はより細分化されています)。 - -### ChainlinkはAstar zkEVMでトークン(ERC677) を使用できますか? - -Ethereumと同じように、Astar zkEVMにはどのようなスマートコントラクトも展開できるので、任意のトークンをデプロイできます。 ERC677をEthereumに送金したい場合、ブリッジはERC20トークン(双方向ブリッジ) に変換し、送金します。 - -ブリッジには、NFTやその他の規格のトークンを含むあらゆる値をブリッジできる、**低レベルでのメッセージ受け渡し機能**もあります。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-general-faq.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-general-faq.md deleted file mode 100644 index 55f9b494d6b..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-general-faq.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -sidebar_position: 0 -title: zkEVMについてのよくある質問 -sidebar_label: よくある質問 ---- - -# よくある質問 - -## 概要 - -このドキュメントでは、Astar zkEVM のEVM等価性に関するよくある質問を解説します。 詳細については、[Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/)をご覧ください。 - -### What is Astar zkEVM? - -Astar zkEVMは、Ethereum上のレイヤー2スケーリングソリューションで、EVM等価のスマートコントラクト環境を提供します。 これは、Ethereum用の既存のスマートコントラクト、開発ツール、およびウォレットのほとんどがAstar zkEVMでも動作することを意味します。 - -Astar zkEVM は、ゼロ知識証明の力を利用してトランザクションコストを削減し、処理能力を向上させると同時に、Ethereum のセキュリティを継承しています。 - -### Astar zkEVMの主な特徴は何ですか? - -- **EVM等価性**: ほとんどのイーサリアムスマートコントラクト、ウォレット、およびツールはAstar zkEVMでシームレスに動作します。 -- **Ethereumのセキュリティ**を継承しています。 -- L1と比べてコストが低く、optimisticロールアップなどの**他のL2ソリューションと比べて速いファイナリティ**を持ちます -- PoSと同様の処理能力を目指す**ゼロ知識証明**。 - -### Astar zkEVMによって、どの程度のガス代の削減が期待されますか? - -Ethereum L1と比較すると、ガス代の大幅な削減が期待できます。 AstarのLayer 2スケーリングソリューションは、トランザクションをバッチ化することで、1つのLayer 1トランザクションのコストを複数のLayer 2トランザクションへと効果的に分散させます。 - -### zkロールアップの仕組みとは? - -zk Rollupは大量のトランザクションを集約し、ゼロ知識技術によるvalidity proof (証明) を使用してEthereumネットワーク上で確定させます。 - -### zkEVM のどのような点が特別ですか? - -zkEVMは実現まで何年もかかると考えられていました; 完全なEVM等価性と高い処理性能 (ただし、両方ではない) という避けようのないトレードオフが立ちはだかるために、実用的でない、あるいは他のL2との競争に勝てないと考えられていたのです。 - -しかし、Polygon Labsによって開拓された証明システムのブレークスルーにより、L1、optimistic ロールアップ、他のzkロールアップより低いコストで高いパフォーマンスを提供しつつ、完全なEVM等価性が実現できるようになりました。 - -### Astar zkEVMをMetamask Walletに接続するにはどうすればいいですか? - -Astar zkEVMネットワークをウォレットに追加するには、[こちらのガイド](../quickstart.md) を確認してください。 こちらには、便利な機能を実演するビデオと最新のRPCの詳細が含まれています。 - -### Astar zkEVMは他のzkEVMと比較して、技術と性能の面でどうなのですか? 技術的な強みは何ですか? - -最も参考になるのは、[ブログ](https://vitalik.ca/general/2022/08/04/zkevm.html)で公開されている、zkEVMに関するVitalik Buterinの総合的な分析です。 - -しかし、Astar zkEVMと他のzkEVMの大きな違いは、zkEVMの効率的な証明作成と高いEthereum等価性です。 証明/検証コンポーネントの設計について: 他のプロジェクトでは算術回路アプローチを使用している一方、Astar zkEVMはステートマシンアプローチを使用しています。 - -### Astar zkEVMはオープンソースですか? - -はい、[Astar zkEVMは完全にオープンソース](https://polygon.technology/blog/polygon-zkevm-is-now-fully-open-source)で、AGPL v3オープンソースライセンスを持つPolygon zkEVMソリューションを使用しています。 - -### Astar zkEVMには固有のトークンがありますか? - -No. **ガス代にはETHが用いられます**。 将来的にはASTRがAstar zkEVMのステーキングやガバナンスに使用されることが期待されます。 - -また、Astar zkEVM が **ERC-4337経由で Account Abstraction をネイティブにサポートしている**ことも重要です。 これにより、ユーザーはどのトークンでもガス代を支払うことができます(ご自身でガスの種類を選択してください)。 - -### What types of dApps can be deployed on Astar zkEVM? - -EVMと互換性のあるdAppはすべてデプロイできます。 ただし、現在zkEVM でサポートされていない特定のプリコンパイル済みコントラクトを必要とするものは除きます。 サポートされているプリコンパイル済みコントラクトに関する詳細は、[Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/)をご覧ください。 - -### このレイヤー 2 zkEVMは他のチェーンと連携することができますか? - -**現時点ではできません。** 今後の目標 (野望) としては、ユーザーの資産をレイヤー 2 (L2) からレイヤー 2に移行させるチェーンを構築することです。 言ってしまうと、zkEVMのローンチ時点ではユーザーはこの機能を利用することができません。 しかし、L2からL2への資産の移動はAstarの将来のロードマップに含まれています。 - -### Astar zkEVMの主なユースケースは何ですか? - -**DeFiアプリケーション**: Astar zkEVMは高いセキュリティと検閲耐性を備えているため、DeFiアプリケーションに適しています。 zkRollupsを使うと、入出金のために長い期間待つ必要はありません。Astar zkEVMは、DeFi dAppsとDeFiユーザーにとってより資本効率の高い環境を提供します。 - -**NFT、Gamefi、およびエンタープライズアプリケーション**:低いガスコストと速いトランザクション、Ethereumとの結びつきによる高いレベルのセキュリティは一流のNFT、GameFi、およびエンタープライズアプリケーションにとって魅力的です。 - -**支払い**: ほとんど瞬時に、低料金でやり取りできる環境で、リアルタイムに取引をすることに興味を持っているユーザーは、Astar zkEVMが提供する価値を高く評価します。 - -### Astar zkEVMがL1に証明を発行するとき、証明が正確で必要なすべての取引が含まれているという信用はどのように実現されますか? - -AstarのzkRollupスマートコントラクトが保証します。 データの可用性と、公開された有効性証明が迅速かつ容易に検証可能なSNARK証明であることにより、証明は信頼できるものとなります。 - -### Astar zkEVMはSolidityとVyperの両方をサポートしていますか? - -はい、EVMオペコードにコンパイルされるすべての言語は、Astar zkEVMで動作するようにできています。 言い換えれば、Ethereum上で実行できるコードは、Astar zkEVM上で実行できるということです。 - -### RPCノードとは? - -**RPC(リモートプロシージャコール)** はEthereumと互換性のあるJSON-RPCインターフェースです。 これにより、MetaMask、Etherscan、Infuraなどの既存のツールとAstar zkEVMの統合が可能になります。 RPCは、プールにトランザクションを追加したり、読み取り専用メソッドを使用してEVMのステートとやり取りしたりします。 - -加えて、ソフトウェアアプリがEthereumブロックチェーンとやりとり(ブロックチェーンデータの読み込みとネットワークへのトランザクションの送信) を行うのに、Ethereumノードに接続する必要があります。 RPCノードはgethのような他のノードと同じように動作します。 - -### JSON-RPC EVMクエリをサポートしていますか? また、サポートされていないクエリは何ですか? - -公式クエリは全てサポートされています (`eth_*` エンドポイント)。 `debug_*` のような「追加の公式エンドポイント」からのアクセスに対するサポートに取り組んでいます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-protocol-faq.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-protocol-faq.md deleted file mode 100644 index 2731ae71987..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/faq/zkevm-protocol-faq.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -sidebar_position: 0 -title: zkEVMのプロトコルに関する質問 -sidebar_label: プロトコルに関する質問 ---- - -このドキュメントでは、Astar zkEVM のプロトコルに関するよくある質問を解説します。 詳細については、[Polygon zkEVM documentation](https://wiki.polygon.technology/docs/category/zkevm-protocol/)をご覧ください。 - -*** - -### How are transactions collected and ordered? - -- Astar zkEVMネットワーク上のトランザクションは**ユーザーのウォレットで作成され、そこで管理されている秘密鍵で署名されます**。 -- 生成され署名されると、**トランザクションは信頼されているシーケンサーのノードに送信**されます。その際、JSON-RPCインターフェイスを介してやり取りがなされます。 -- それからトランザクションは、**保留中のトランザクションプールに保存され、シーケンサーに選択されるのを待ちます**。 -- **シーケンサーはプールからトランザクションを読み取り**、それを棄却するか、注文し、実行するかを決めます。 -- 最後に、**シーケンサーはトランザクションをバッチにまとめ**、次にバッチの順序づけを行います。 - -### Rollupバッチを作る前にシーケンサーが待つ時間やトランザクションのインターバルはありますか? - -シーケンサーには常にオープンバッチがあります。 トランザクションは、このバッチがいっぱいになるか、長いタイムアウトが発生するまで、このバッチに追加されます。 これらのバッチは128K個のバッチ(または大きなタイムアウト)に達するまで蓄積され、蓄積したらL1へのシーケンシングトランザクションが送信されます。 - -L2ユーザーの観点からは、新しいL2ブロック(L2バッチとは異なる)がクローズされ、ユーザーに送信されるように見えます。 ユーザーには、L2 バッチがクローズされていない場合でも、トランザクションが確定したように見えます。 **1つの L2 トランザクションで1つの L2 ブロック**だからです。 - -### L1でファイナライズされるためにトランザクションはどのような過程を通過しますか? - -バッチ内の特定のトランザクションを検証するプロセスには、通常、3つのステップが必要です。 - -1. **Trusted State:** トランザクションは信頼のあるシーケンサーによってほとんど瞬時にこの状態になります。 L1でのトランザクションは必要ありません。 - -2. **Virtual State:** トランザクションはL1にあります。 状態が確定的で、計算が容易なため、この状態のトランザクションとその順番は変更できません。 - -3. **Verified State:** virtual stateがスマートコントラクトによって検証されると、資金を引き出すことが可能になります。 - -### シーケンサーは証明を生成するためにどのようにトランザクションを検証しますか? - -シーケンサーはトランザクションプールからトランザクションを取得し、それが正しくフォーマットされ、必要なすべての情報を含んでいることを確認します。 シーケンサーは以下の点をチェックします: - -- 送金者がトランザクションのガス代とスマートコントラクトにより必要とされる十分な資金を持っていることを確認することで、取引が有効であることを確認します。 もし十分な資金を持っていれば、有効で、正しいバイトコードを生成します。 - -- 送信者のトランザクションナンスをチェックし、最後に使用されたナンスより1だけ大きいものであることを確認することで、トランザクションが複製されていないことを確認します。 - -- 送信者の口座残高が別のトランザクションで既に使われていないことを確認して、トランザクションが二重支払いでないことを確認します。 - -トランザクションが有効と見なされると、シーケンサーは必要に応じてスマートコントラクトと口座残高の状態を更新し、Astar zkEVMの現在の状態にトランザクションを適用します。 所要時間とコストは、ネットワークの混雑具合や一般的なガス価格によって異なります。 - -### トランザクションがAstar zkEVMでファイナリティを達成するのはいつですか? - -**ユーザーがシーケンサーを信頼している場合**、トランザクションはシーケンサーにより順序づけられた時点 (すなわちTrusted State) で確定したとみなされます。 - -**ユーザーがL1の状態のみを信頼する場合**、トランザクションは**Virtual State**に到達した瞬間に確定します。 つまり、データが利用可能で、トランザクションが既にL1にある状態になった瞬間です。 - -**ユーザーが資金を引き出す必要がある場合**、プルーバー (証明発行者) が、変更不可能だが未検証の状態を検証済の状態へと変換するのを待つ必要があります。 この最後の状態を**ConsolidatedもしくはVerified State**と呼びます。 - -### シーケンサーとプルーバーはエコシステム内部の人物ですか?それとも外部の人物ですか? シーケンサーとプルーバーの分散性はどのようにして保証されますか? - -Astar zkEVMの**シーケンサーは、初期段階においては中央集権的にならざるを得ません。** 今後のリリースでシーケンサーを分散化するロードマップがあります。 - -同様に、**プルーバーも最初は集中しています**が、ビジョンとしてはプルーバーの市場を成立させることを目指しています。 プルーバーは証明を生成すること以外はほとんど役割を持ちません。 分散したプルーバーのシステムを構築することは、シーケンサーで同じことをするよりもはるかに重要 (そして難しい) です。 - -### zkNode はシーケンサーとアグリゲーターの両方として機能できますか? そうでない場合、ノードが果たす役割をどのようにして決定するのですか? - -zkNode は、ゼロ知識証明プロトコルの具体的な実装に応じて、シーケンサーとアグレガターの両方として機能することが可能です。 - -また実装によっては、ノードは一方の機能のみしか実行できないかもしれません。 ノードが果たしうる役割は、プロトコルの特定の実装とネットワークの要件によって決定されます。 例えば、 プロトコルによっては、ネットワークのセキュリティと効率性を確保するために、シーケンサーの役割とアグリゲータの役割を実行するためにそれぞれ特定の数のノードを必要とする場合があります。 - -### 状態同期コンポーネントは、トランザクションバッチとその有効性証明がL1上でミントされた後、どのようにしてL2で同期されますか? - -簡単にまとめると、バッチごとに、`globalExitRoot`という名前のハッシュが**L1 → L2**へと転送され、`localExitRoot`という名前の別のハッシュが**L2 → L1**へと転送されます。 - -`globalExitRoot` は主に、全ての入金内容を含んでおり、`localExitRoot` は全ての出金内容を含んでいます。 - -### Forced Batchとは何ですか? - -Forced BatchはL1トランザクションに含まれるL2バッチです。 信頼されたシーケンサーはこれらのバッチをトランザクションに含まなければなりません。 これは、シーケンサーの検閲を受けてもユーザーが資金を引き出せることを保証する仕組みです。 - -この性質に、よりシステムの検閲耐性を模倣します。 - -### Emergency Stateとは何ですか、そしてどのような時、それは発動しますか? - -Emergency Stateはバッチの順序づけ、バッチの検証、forced batchなどの機能を停止させます。 - -これは、スマートコントラクトの所有者、またはAstar zkEVMの場合、Security Councilマルチシグによって引き起こされます。 つまり、保留中の状態がタイムアウトに達した場合や脅威となる脆弱性が発生した場合、Security Councilが緊急状態を呼び出せるということです。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/fee.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/fee.md deleted file mode 100644 index 18e2bf5e4e6..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/fee.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -sidebar_position: 7 -title: Astar zkEVM トランザクションコスト試算 -sidebar_label: コストの試算 ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## Astar zkEVMの手数料はどのように動作するのか? -Astar zkEVMでは、L1のガス代に固定係数を適用してガス代を計算します。 その価格係数は固定の値で、あまり変化することはありません。また、その値はL1にトランザクションを発行するためにかかるロールアップのコストに基づいて決定されています。 簡単にいうと、L2のガス料金はL1のガス料金に比例するということです。 - -$$ -L2_\{gas\_fee\} = L1_\{gas\_fee\} * Factor -$$ - -L1のガス代はL1のトランザクション量に応じて変化します。 もしトランザクションのタイミングが変更可能であれば、L1のガス代が低いタイミング(週末など)でトランザクションを送信することで手数料を削減できます。 - -ネットワークの混雑具合によりガス代が変化する構造に基づくEIP-1559 ([こちら](https://eips.ethereum.org/EIPS/eip-1559)) が将来的に実装され、L2のガス代が流動的になる可能性があります。 - -## RPCノードからガス料金を取得する -以下のRPCコールを用いてAstar zkEVMのシークエンサーからガス代を取得することができます: - -```bash -curl https://rpc.zkatana.gelato.digital/ \ - -X POST \ - -H "Content-Type: application/json" \ - --data '{"method":"eth_gasPrice","params":[],"id":1,"jsonrpc":"2.0"}' - ``` - - 16進数のガス料金がwei建てで返ってきます。 - -## BlockscoutのPriceオラクルを使用する -BlockscoutのPriceオラクルはこれまでのブロックの平均からガス料金を計算します。`eth_gasPrice`メソッドを呼び出すわけではありません。 - - - - -GETリクエストを[Blockscout Price Oracle endpoint](https://zkatana.blockscout.com/api/v1/gas-price-oracle)に送信し、オラクルから推奨のガス料金を受け取ることができます。 - -#### cURL - -```bash -curl https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle -``` - -#### JavaScript - -```javascript -fetch('https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle') - .then(response => response.json()) - .then(json => console.log(json)) -``` - -#### Python - -```python -import requests -requests.get('https://astar-zkevm.explorer.startale.com/api/v1/gas-price-oracle').json() -``` - - - - -Send a GET request to the [Blockscout Price Oracle endpoint](https://zkatana.blockscout.com/api/v1/gas-price-oracle) to get a gas price recommendation from this oracle. - -#### cURL - -```bash -curl https://zkatana.blockscout.com/api/v1/gas-price-oracle -``` - -#### JavaScript - -```javascript -fetch('https://zkatana.blockscout.com/api/v1/gas-price-oracle') - .then(response => response.json()) - .then(json => console.log(json)) -``` - -#### Python - -```python -import requests -requests.get('https://zkatana.blockscout.com/api/v1/gas-price-oracle').json() -``` - - - - -### オラクルからのレスポンス - -BlockscoutのオラクルからのJSONレスポンスは以下のようになります: - -```json -{ - "average":3.02, - "fast":3.02, - "slow":3.02, -} -``` - -- {`average`, `fast`, `slow`} はGwei建てでのガス代になります。Astar zkEVMにトランザクションを送信する前にこの価格を参考にすることができます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/index.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/index.md deleted file mode 100644 index d84c390c865..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/index.md +++ /dev/null @@ -1,25 +0,0 @@ - -# Astar zkEVM 上での開発 - -## What is Astar zkEVM? - -Astar zkEVM は、Polygon の Chain Development Kit (チェーン開発ツール、CDK) および最先端のゼロ知識暗号技術を活用し、オフチェーンでのトランザクション実行を可能にする Ethereum Layer-2 スケーリングソリューションです。ファイナリティおよびセキュリティは、Ethereum によって保証されます。 主要なパートナーとの連携を通じて、Astar zkEVM は Ethereum エコシステム内に存在する膨大な開発者ベースと確立されたツールセットを有効活用することができ、主に以下のような特徴を誇ります: - -- **Ethereum や Astar Substrate EVM よりも高い TPS(Transaction Per Second)** - zk ロールアップのアーキテクチャを活用し、トランザクションは Layer 2 上で並列化、バッチ化されて Layer 1 に送信されます。これにより、高性能を必要とする Web3 ゲームや DeFi アプリケーションのパフォーマンスが大幅に向上します。 -- **Ethereum と比較して安いトランザクション手数料** - 上述の通り、トランザクションのバッチ処理を行うことで安いトランザクション手数料を実現しています。 -- **完全な EVM 等価性** - EVM 互換性ではなく、EVM 等価性を実現しています。 すなわち、Ethereum 上のスマートコントラクトが Astar zkEVM 上でも同じように動いているということです。 詳細はsmart contractをご確認ください。 -- **ネイティブの Account Abstraction** - Astar zkEVM は、エンドユーザーの UX を刷新し、シームレスにするために設計された機能をネイティブで提供しています。 詳細については、[Account Abstraction](/docs/build/zkEVM/integrations/account-abstraction/)を参照して、UX を向上させる方法についてご覧ください。 -- **著名なパートナー** - Astar zkEVM は、開発者の信頼を得ている組織やブランドにサポートされています。 詳細については、[integrations](/docs/build/zkEVM/integrations/)を参照して、サードパーティのサービスを提供する企業や組織に関する情報をご覧ください。 -- **相互運用性とマルチチェーン** - Astar zkEVM では、Ethereum と Polkadot のエコシステム間の相互運用性をサポートし、コミュニティを結びつけ、広く知られているマルチチェーンの理念を通じて Web3 のアクセシビリティを強化しています。 -- **確立されたツールとライブラリ** - Remix、Hardhat、および Open Zeppelin などの、既に Web3 開発者が使い慣れているツールと互換性があります。 - -## セクションの全体像 - -以下のセクションでは、開発環境をセットアップする手順を詳しく説明し、Astar zkEVM 上で高いスケーラビリティを持つ dApp とシームレスなユーザーオンボーディングを実現するためによく用いられるツールやサービスを紹介します。 - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/integrations/index.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/integrations/index.md deleted file mode 100644 index 94806bc5cae..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/integrations/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# Integrations - -ここでは、Astar zkEVM上でdAppを構築するためによく使われるサービスやツールをご覧いただけます。当社インフラの重要な要素に関するサンプルとガイドは以下のようになります: - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/quickstart.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/quickstart.md deleted file mode 100644 index f1664019250..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/quickstart.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -sidebar_position: 0 -title: Astar zkEVM クイックスタートガイド -sidebar_label: クイックスタート ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import metamask from '/docs/build/zkEVM/img/metamask-network.png' -import zkHeader from '/docs/build/img/zkHeader.png' - -
- -
- -Astar zkEVM は、Ethereum 上のゼロ知識証明を用いたスケーリングソリューションであり、既存の EVM スマートコントラクト、開発ツール、ウォレットがシームレスに動作する **EVM 等価**の環境を提供します。 -Astar zkEVM は、ゼロ知識証明の力を利用してトランザクションコストを削減し、処理能力を向上させると同時に、Ethereum のセキュリティを受け継いでいます。 - -Solidity のデベロッパーは Astar zkEVM にすぐに馴染むことができます。 RPC アドレスをzkEVM のものに切り替えるだけで、開発をスタートすることができます! - -:::info -Astar zkEVM 上での開発および運用に特別なツールやウォレットは必要ありません。 -::: - -開発者は、他の EVM チェーンから既存のコントラクトを zkEVM にデプロイでき、ユーザーは Ethereum からアセットを zkEVM にデポジットすることでトランザクションをバッチ化することができます。このトランザクションはゼロ知識証明の斬新な活用によって、最終的には Ethereum 上で確定されます。 ネイティブ実装されているアカウントアブストラクションにより、開発者は直感的で Web2 風の UI を作成することができます。そして、Web3特有の複雑さを排除し、オンボーディングプロセスを劇的に簡略化することができます。 - -## zkEVM への接続 - -:::info Reminder - -フィードバックはいかなるものであっても歓迎ですし、非常にありがたいです。ですから、エラーやDocsとの不一致があればチームメンバーもしくは[Astar Docs Github repo](https://github.com/AstarNetwork/astar-docs/issues)のイシューにご報告ください。よろしくお願いいたします。 -::: - -**Astar zkEVM**ネットワークをウォレットに手動で追加するには、以下の詳細情報を入力してください: - -MetaMaskにネットワークを追加するには、上記のデータを使用するか、対応するブロックエクスプローラーのページ下部にあるリンクを使用します。 - -## アセットのブリッジ - -次のステップは Ethereum → Astar zkEVM のアセットのブリッジです。 - -:::important -Astar 正規の[zkEVM Bridge](https://portal.astar.network)はサードパーティーのブリッジサービスとは違い、カウンターパーティーリスク(信用リスク)を持ちません。そして、プロトコルレベルでトラストレスです。 -::: - -## スマートコントラクトのデプロイ - -zkEVM 上の開発体験は、EVM とシームレスであり、全く同じです。 zkEVM 上の開発者は、既存のコードとツールを使用して zkEVM にデプロイでき、dApp ユーザーはより高いトランザクション処理速度と低い手数料を享受できます。 zkEVM 上でスマートコントラクトをデプロイする方法について詳しくは、こちらをご覧ください。 - -## 開発者向けの Astar zkEVM サポート - -サポートが必要な開発者は、[Ethereum StackExchange](https://discord.gg/astarnetwork)でイシューを開き、それに`Astar`のタグを付ける(推奨)か、[Astar Discord server](https://discord.gg/astarnetwork) に参加することができます。 - -
- -1. [こちら](https://ethereum.stackexchange.com/)から**Ethereum StackExchange**に参加します。 -2. イシューを新規作成します。 -3. 困っている内容について詳しく説明します。 -4. 最後に、Astar チームに知らせるために`Astar`タグを追加します。 - -
-
-Astar Discord server - -1. [こちら](https://discord.gg/astarnetwork)から **Astar Discord** サーバーに参加します。 -2. invite を承認してください。 -3. **#roles**で**Developer** を選択してください。 -4. **Builder/#zkevm-support** チャンネルに移動してください。 - -
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/index.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/index.md deleted file mode 100644 index 6def6ffe9bd..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# Smart Contracts - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - \ No newline at end of file diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/using-hardhat.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/using-hardhat.md deleted file mode 100644 index 011bac29517..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/using-hardhat.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -sidebar_position: 0 -title: Hardhatを使用してスマートコントラクトをデプロイする -sidebar_label: Hardhatを使用してデプロイする ---- -import Figure from '/src/components/figure' -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -Hardhatは、人気のあるスマートコントラクト開発フレームワークです。 このチュートリアルでは、Hardhatを使用して、Astar zkEVMテストネットにシンプルな、数を数えるスマートコントラクトをデプロイします。 -サンプルコントラクトとそれをデプロイするスクリプトを使用したHardhatプロジェクトの作成の基本について説明します。 - -Hardhatの使い方については、[公式のHardhatドキュメント](https://hardhat.org/getting-started/)を参照してください。 - -## プロジェクトの新規作成 - -空のフォルダに移動し、npm プロジェクトの作成を開始するには、`npm init` を実行し、表示される指示に従います。 yarnのようなnpm以外のパッケージマネージャーを使用することは可能ですが、Hardhatプラグインをシンプルにインストールするため、npm 7以降を使用することがHardhatにより推奨されています。 - -## Hardhat スマートコントラクト - -サンプルプロジェクトを作成するには、プロジェクトフォルダに`npx hardhat init` を実行します: - -
- -- **Press** `` javascript、typescript、または空のプロジェクトを選択します -- **プレス** `` プロジェクトのルートを設定します -- **プレス** `` `.gitignore`を追加します -- **Press** `` hardhat @nomicfoundation/hard-toolbox\` をインストールします。 - -## デプロイ用のアカウントを作成 - -- プロジェクトのルートフォルダに`.env`ファイルを作成し、次の行を追加します: - -```bash -ACCOUNT_PRIVATE_KEY='my private key' -``` - -- `.env` ファイルに秘密鍵を書き入れてください。 MetaMask から秘密鍵を取得できます。 MetaMaskから秘密鍵を取得する方法については、以下のセクションを参照してください。 - -
-MetaMaskから秘密鍵を取得する方法 - -- MetaMaskウィンドウの右上にある垂直方向の3つの点をクリックします - -- **アカウントの詳細**を選択し、**秘密鍵を表示**をクリックしてください - -- 秘密鍵を表示するには、メタマスクのパスワードを入力してください - -- 秘密鍵をコピーし、`.env`ファイルに貼り付けます。 - -
- -:::warning -**Do not commit your private key to a public repository!** - -.gitignoreファイルに`.env`が含まれていることを確認して、秘密鍵が公開されているリポジトリにコミットされないようにしてください。 -::: - -## ハードハットの設定 - -- `hardhat.config.js`ファイルを開き、以下のコードを貼り付けてください: - - - - -```js - require("dotenv").config(); - require("@nomicfoundation/hardhat-toolbox"); - - module.exports = { - solidity: "0.8.19", - paths: { - artifacts: "./src", - }, - networks: { - zKatana: { - url: `https://rpc.zkatana.gelato.digital`, - accounts: [process.env.ACCOUNT_PRIVATE_KEY], - }, - astarZkEvm: { - url: `https://rpc.startale.com/astar-zkevm`, - accounts: [process.env.ACCOUNT_PRIVATE_KEY], - }, - }, - }; -``` - - - -```js - import { HardhatUserConfig } from "hardhat/config"; - import "@nomicfoundation/hardhat-toolbox"; - import * as dotenv from "dotenv"; - - dotenv.config({ path: __dirname + "/.env" }); - const ACCOUNT_PRIVATE_KEY = process.env.ACCOUNT_PRIVATE_KEY || ""; - console.log("PrivateKey set:", !!ACCOUNT_PRIVATE_KEY) - - const config: HardhatUserConfig = { - solidity: "0.8.19", - paths: { - artifacts: "./src", - }, - networks: { - zKatana: { - url: `https://rpc.zkatana.gelato.digital`, - accounts: [ACCOUNT_PRIVATE_KEY] - }, - astarZkEvm: { - url: `https://rpc.startale.com/astar-zkevm`, - accounts: [process.env.ACCOUNT_PRIVATE_KEY], - }, - }, - }; - - export default config; -``` - - - - -## スマートコントラクトの作成 -:::info -**注意:** サンプルプロジェクトで用いる既存のスマートコントラクトコードは、`Lock.sol`コントラクトです。 削除しても、残しておいても全く問題ありません。 -::: -- コントラクトフォルダに`Counter.sol`という名前の新しいファイルを作成します。 - -```solidity -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; - -contract Counter { -uint256 currentCount = 0; - - function increment() public { - currentCount = currentCount + 1; - } - - function retrieve() public view returns (uint256){ - return currentCount; - } -} -``` - -- 以下のコードをコピーして `Counter.sol` コントラクトコードに貼り付けます: - -```js - const hre = require("hardhat"); - - async function main() { - const deployedContract = await hre.ethers.deployContract("Counter"); - await deployedContract.waitForDeployment(); - console.log( - `Counter contract deployed to https://zkatana.blockscout.com/address/${deployedContract.target}` - ); - } - - main().catch((error) => { - console.error(error); - process.exitCode = 1; - }); -``` - -## デプロイするスクリプトを作成 - -- `scripts/deploy.js` ファイルの内容を削除し、以下のコードを追加します: - -```js - const hre = require("hardhat"); - - async function main() { - const deployedContract = await hre.ethers.deployContract("Counter"); - await deployedContract.waitForDeployment(); - console.log( - `Counter contract deployed to https://zkatana.blockscout.com/address/${deployedContract.target}` - ); - } - - main().catch((error) => { - console.error(error); - process.exitCode = 1; - }); -``` - -## コントラクトのコンパイル -- dotenv パッケージのインストール: `npm install dotenv` -- コントラクトコードをコンパイルします。(CLIのプロジェクトルートに戻り、実行します。) - ```bash - npx hardhat compile - ``` - -## コントラクトのデプロイ - -- デプロイするスクリプトを実行: - ```bash - npx hardhat run scripts/deploy.js --network zKatana - ``` - - 出力例: - - ```bash - Counter contract deployed to https://zkatana.blockscout.com/address/0x8731DC57f9C7e01f5Ba733E7a10692cA540862f8 - ``` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/verify-smart-contract.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/verify-smart-contract.md deleted file mode 100644 index 93f519cc839..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/verify-smart-contract.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -sidebar_position: 4 -title: スマートコントラクトのVerify -sidebar_label: コントラクトの認証 ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import Figure from '/src/components/figure' - -zKatana testnetにデプロイされたスマートコントラクトは、デプロイのフレームワークやコントラクトの複雑さに応じて様々な方法で検証することが可能です。 ここでの目的は、具体例を用いて、デプロイされたスマートコントラクトを手動で認証する方法を説明することです。 - -このガイドに沿って作業する間、ウォレットが接続されているようにしてください。 このチュートリアルでは、MetaMaskウォレットを使用します。 -スマートコントラクトの検証方法詳細については、[Blockscoutドキュメント](https://docs.blockscout.com/for-developers/verify-contracts)を参照してください。 - -## 手動認証 - -スマートコントラクトを正常にコンパイルした後、次の手順に従ってスマートコントラクトを認証します。 - -1. スマートコントラクトがデプロイされている**アドレス**をコピーします。 - -2. [zKatana Explorer](https://zkatana.blockscout.com)に移動し、コントラクトアドレスを検索ボックスに貼り付けます。 これにより、**コントラクトの詳細**というラベルの付いたウィンドウが開きます。 - -3. **Transactions**、**Token transfers**、**Internal txns**、**Coin Balance History**、**Contract**と表示されたタブのあるボックスまでスクロールします。 - -4. **Contract**タブを選択し、**Verify and Publish**ボタンをクリックします。 - -5. コントラクトコードを提出するには3つの方法があります。 その内、次の2つの選択肢について説明します: - - Solidity, Flattenedソースコード - - Solidity, 標準入力のJSON - -### Solidity, Flattenedソースコード - -1. **via Flatened Source Code** オプションを選択して **Next** をクリックします。 -2. コントラクトのコンパイラーバージョンに基づいて、**コンパイラー** をアップデートするには、 - - - ↓ をクリックしてコンパイラーバージョンのリストを確認します。 - - - 対応するバージョンを選択してください。 たとえば、コードに`pragma solidity^0.8.9;`と書かれている場合は`v0.8.9+commit.e5eed63a`を選択してください。 -3. コントラクトの最適化設定に基づいて最適化オプションを選択します。 -4. フレームワークには、ソースコードをflattenする特別な方法を持っているものがあります。 例えば、**Hardhat**、**Remix**、**Foundry**などがそうです。 1つのファイルからなるコントラクトを使用していて、import がない場合は、ファイルをflattenする必要はありません。 - - - -Hardhatを用いてコントラクトコードをflattenするには、次のコマンドを実行するだけで大丈夫です: - -```bash -npx hardhat flatten -``` -結果は標準出力に表示されます。 `>`リダイレクト演算子を使用して、flattenされたソースコードを含むファイルを作成することができます。 - -```bash -npx hardhat flatten > flattened.sol -``` -新しい`flatented.sol`ファイルの内容をコピーし、エクスプローラの`Contract code`フィールドに貼り付けます。 - - - -Remixでコントラクトコードをflattenするためには、コントラクト名を右クリックし、表示されるドロップダウンメニューから **Flatten** オプションを選択するだけです。 以下の図を参考にしてください。 - -
- -**Flatten**を選択すると、拡張子`_flatten.sol`を持つ新しい`.sol`ファイルが自動的に作成されます。 新しい`_flatten.sol`ファイルの内容をコピーし、エクスプローラの`Contract code`フィールドに貼り付けます。 - - - -Foundryを使用してコードをflattenするためには、以下のコマンドを使用してください: - -```bash -forge flatten src/ -o .sol -``` - -このコマンドを使用すると、flattened codeは、`.sol`ファイルに保存されます。 新しい`.sol`ファイルの内容をコピーし、エクスプローラの`Contract code`フィールドに貼り付けます。 - -コントラクトのコンパイラーバージョンに基づいて、コンパイラーをアップデートするには、 たとえば、コードに`pragma solidity^0.8.9;`と書かれている場合は`v0.8.9+commit.e5eed63a`を選択してください。 -コントラクトの最適化設定に基づいて最適化オプションを選択します。 - - - -### Solidity、標準JSON入力 - -**via Standard JSON Input** オプションを選択して **Next** をクリックします。 - -1. コントラクトのコンパイラーバージョンに基づいて、**コンパイラー** をアップデートするには、 - - - ↓ をクリックしてコンパイラーバージョンのリストを確認します。 - - - 対応するバージョンを選択してください。 たとえば、コードに`pragma solidity^0.8.9;`と書かれている場合は`v0.8.9+commit.e5eed63a`を選択してください。 - -2. **Standard Input JSON** ファイルを _standard input JSON ファイルをドロップするか、ここをクリック_と書かれたフィールドに貼り付けます。 standard input JSONファイルはローカルのプロジェクトフォルダにあります。 - -
-標準入力のJSONファイルを見つけるには - -1. Hardhatプロジェクトの場合は、`src/build-info`フォルダに移動し、`.json`ファイルを開きます。 - -
- -2. `input` JSON オブジェクトを探します。 json ファイルをフォーマットして読みやすくします。 - -3. `input` JSON オブジェクトの値だけを新しいファイルにコピーします - -
- -4. この新しいファイルを**Drop file of Click here**フィールドにドラッグ&ドロップします。 - -
- -5. **Verify & Publish**ボタンをクリックして、デプロイ済みのスマートコントラクトを認証してください。 \ No newline at end of file diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/write-smart-contract.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/write-smart-contract.md deleted file mode 100644 index 4640ba8d7d1..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/smart-contracts/write-smart-contract.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -sidebar_position: 0 -title: OpenZeppelinウィザードを使用してスマートコントラクトを作成する -sidebar_label: コントラクトの作成 ---- -import Figure from '/src/components/figure' - -このドキュメントでは、OpenZeppelinウィザードを使用してスマートコントラクトのコードを自動的に書く方法を説明します。 作成されたスマートコントラクトのコードは、**Open in Remix** ボタンをクリックしてRemix と統合したり、クリップボードにコピーして、使用したいIDE に貼り付けたりできます。 - -## はじめに - -ブラウザで [OpenZeppelin Wizard](https://wizard.openzeppelin.com) に移動します。 最初に注意すべきことは、 **Solidity Wizard** と **Cairo Wizard** ボタンがあることです。 - -以下に挙げるいずれかのタブを選択し、Solidity (EVMチェーンの場合)またはCairolang(Starknetで使用可能)のすぐに使用可能なスマートコントラクトコードの作成を始めることができます。 These are: - -- ERC20: ERC-20トークンのスマートコントラクト作成用 -- ERC721: NFT トークンのスマートコントラクト作成用 -- ERC1155:ERC-1155トークンのスマートコントラクト作成用 -- Governor:DAOの作成用 -- Custom: カスタマイズされたスマートコントラクトの作成用 - -## NFT コントラクトの作成 - -視覚的にわかりやすいよう、NFT スマートコントラクトを作成します。 `Mintable` かつ `Burnable`な`ERC721`トークンを作成し、適切なライセンスを指定したいとします。 - -1. **ERC721** タブを選択します。 - -2. `Name` と `Symbol`のフィールドを入力し、NFT に名前とシンボルを与えてください。 - -3. 左側のチェックボックスを使用してトークンの機能を選択してください - -- `Mintable`チェックボックスにチェックを入れてください -- `Auto Increment Ids` チェックボックスにチェックを入れると、ミントされるNFTの唯一性が担保されます。 -- `Burnable`チェックボックスにチェックを入れてください -- **デフォルトのMIT license**を残すか、ご自身の選択でライセンスを入力してください - -機能が選択されるたびに新しいコード行が自動的に書き込まれることに注目してください。 - -## コントラクトが完成しました - -結果として生成されるコード行で、Solidity で書かれたNFT トークンのコントラクトが完成しました。 上記のように、このソースコードをお好みのIDEに移植するか、Remixで直接開くことができます。 - -以下の図は、自動書き込みにより作成されたNFT スマートコントラクトのコードを示しています。 - -
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/index.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/index.md deleted file mode 100644 index 09eb346ca2f..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# - -このセクションではAstar zkEVM上でノードを動かす方法についての情報をご提供します。 - -
- -import DocCardList from '@theme/DocCardList'; -import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; - - diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-rollup-node.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-rollup-node.md deleted file mode 100644 index fa370421147..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-rollup-node.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -sidebar_position: 0 -title: ローカル Rollup ノードのセットアップ -sidebar_label: ローカル Rollup ノードのセットアップ ---- - -:::info -ZK の Rollup バージョンは、Astar zKatana 環境で使用されます。 -::: - -:::warning -[issue](https://github.com/etherum/go-ethereum/issues/27274) が開いているため、ローカルノードの実行中に問題が発生する可能性があります。 -::: - -開発者が、ユーザーや開発者自身を不必要なリスクにさらすことなく、**Astar zkEVM**のようなブロックチェーン技術を開発するためのネットワークを徹底的にテストできることは重要です。 開発者が、スマートコントラクトをテストしたり、新しいコードを試したり、ローカルマシン上でネットワークを使って遊んだりできる環境が存在するべきです。 - -このため、Astar zkEVMはローカル開発環境を提供しています。 このチュートリアルは、外部のピアノードへの接続がないローカルのシングルノードzkEVMブロックチェーンを作成するのに役立ちます。 お手持ちのローカルマシン上にのみ存在するブロックチェーンということです。 - -:::caution - -現在、zkProverはARMアーキテクチャのMacでは動作しません。 Windowsユーザーの場合、WSL/WSL2の使用は非推奨です。 - -残念ながら、Apple M1 チップは現時点ではサポートされていません - zkProver の最適化には特定の Intel 命令が必要だからです。 つまり、AMDなどのOSに関係なく、M1以外のコンピュータでも動作しないものがあることを意味します。 - -::: - -このチュートリアルを通して、次のコンポーネントを実行することができます: - -- zkEVM ノードデータベース -- エクスプローラーデータベース -- L1ネットワーク -- プルーバー -- zkEVM ノードコンポーネント -- Explorers - -## Prerequisites - -現在のバージョンの環境におけるチュートリアルには、前もってコンピューターに `go`、`docker`、`docker-compose`がインストールされている必要があります。 インストールされていない場合は、以下のリンクを確認してください: - -- [https://go.dev/doc/install](https://go.dev/doc/install) -- [https://www.docker.com/get-started](https://www.docker.com/get-started) -- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) - -### システム要件 - -- zkEVM ノード: 16GB RAM (4コアCPU搭載) -- zkProver: 1TB RAM (128コアCPU搭載) - -もし本格的なzkProverを実行したい場合は、少なくとも1TBのRAMが必要です。 Proverの要件を満たすことができない場合でも、zkNodeを実行することは可能です。 - -## zkNode の設定 - -zkEVMノードのセットアップを開始する前に、Polygon zkEVM Githubから[公式のzkNodeリポジトリ](https://github.com/0xPolygonHermez/zkevm-node)をクローンする必要があります。 - -```bash -git clone https://github.com/0xPolygonHermez/zkevm-node.git -``` - -`zkevm-node` docker イメージは、少なくとも1回、加えてコードが変更されるたびにビルドする必要があります。 `zkevm-node`イメージをまだビルドしていない場合は、以下のコマンドを実行する必要があります: - -```bash -make build-docker -``` - -:::caution Docker イメージのビルド - -特定のバージョンの Testnet 実装では、正しく、かつ対応しているタグから設定ファイルを使用していることを確認してください。 例: **RC9イメージをビルドするには、RC9タグの設定ファイルを使用してください**。 - -すべてのタグはここにあります: **https\://github.com/0xPolygonHermez/zkevm-node/tags** - -::: - -`zkevm-node` 上のコマンドは、スマートコントラクトとやり取りし、特定のコンポーネントを実行し、暗号化ファイルを作成し、デバッグ情報を出力することができます。 - -バイナリプログラムとやり取りするために、 `docker-compose` ファイルと `Makefile` を用意しており、さまざまなサービスやコンポーネントを起動、停止できます。そのため、スムーズなローカルデプロイと開発者のためのより良いコマンドラインインターフェースが保証されています。 - -:::warning - -すべてのデータは各ドッカーコンテナ内に保存されます。 つまり、コンテナを削除すると、データは失われます。 - -::: - -`test/`ディレクトリには、開発とデバッグのためのスクリプトとファイルが含まれています。 ローカルマシンの作業ディレクトリを `test/` に移動します。 - -```bash -cd test/ -``` - -ここで、zkNode 環境を実行します: - -```bash -make run -``` - -zkNodeを停止するには: - -```bash -make stop -``` - -zkNode 環境全体を再起動するには: - -```bash -make restart -``` - -## 設定パラメーター - -シンクロナイザーは、主にEthereumから、またそれに加えて**シーケンサー**の情報発信メカニズムを介して、ネットワークアップデートを定期的にpullし、最新の状態を維持します。 設定により特別な指定がない限り、シンクロナイザーの**デフォルト同期率**は**2秒**ごとになります。 - -**秘密鍵の保存**に用られる**キーストア**ファイルは、シーケンサーとアグリゲータを実行するために通常必要になりますが、シンクロナイザー/RPC-セットアップには必要ありません。 - -:::info - -L1トランザクションが送信されない処理など、**Keystore**ファイルが必要とされるべきではないにも関わらず、ノードを実行するために必要とされる、不便な状況があります。 信頼できるシーケンサーとアグリゲーターが活動しているため、**キーストアはMango Testnetでは必要ありません**。 - -これは、zkEVMネットワークが分散性の実装を達成したときに改めて導入が検討されます。 - -::: - -## サンプルデータ - -ネットワークのテストを開始する前に、ローカルのzkEVMノードにデータを追加しておくことが重要です。 `make run` コマンドは、環境を実行するために必要なコンテナを実行しますが、それ以外は実行しません。 つまり、**ローカルのL2ネットワークは基本的に空です**。 - -ネットワーク上に、すでにデプロイされているサンプルデータが必要な場合は、次のスクリプトを使用できます。 - -```bash -# トランザクションとスマートコントラクトのサンプルを追加するには: -make deploy-sc - -# 完全な Uniswap 環境をデプロイするには: -make deploy-uniswap - -# MATIC スマートコントラクトにトークンの使用量を設定することを許可するには: -make run-approve-matic -``` - -## メタマスクへの接続 - -:::info - -MetaMaskを設定している間、ネットワークが動作している必要がありますので、ローカルでネットワークが稼働していることを確認してください。 - -::: - -ローカルで zkEVM 環境を使用できるように MetaMask を設定するには、以下の手順に従ってください。 - -1. MetaMaskウォレットにログインする -2. アカウントの画像をクリックし、**設定**をクリックしてください -3. 左のメニューから**ネットワーク**をクリックしてください -4. **ネットワークを追加**ボタンをクリックしてください -5. L2ネットワークの情報を入力してください - - **ネットワーク名:** Astar zkEVM - Local - - **新しい RPC URL:** [http://localhost:8123](http://localhost:8123) \* **ChainID:** 1001 - - **通貨記号:** ETH - - **ブロックエクスプローラのURL:** [http://localhost:4000](http://localhost:4000)6. **保存**をクリックします -6. **ネットワークを追加**ボタンをクリックしてください -7. L1ネットワークの情報を入力してください - - **ネットワーク名:** Geth - ローカル - - **新しい RPC URL:** [http://localhost:8545](http://localhost:8545) \* **ChainID:** 1337 - - **通貨記号:** ETH -8. **保存**をクリックします - -これで、ローカルのzkEVMネットワークとやり取りし、MetaMaskウォレットからトランザクションに署名できるようになりました。 - diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-validium-node.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-validium-node.md deleted file mode 100644 index 37bbc3d6a36..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-local-validium-node.md +++ /dev/null @@ -1,335 +0,0 @@ ---- -sidebar_position: 1 -title: ローカル Validium ノードのセットアップ -sidebar_label: ローカル Validium ノードのセットアップ ---- - -import cdk1 from '/docs/build/zkEVM/img/add-cdk-1.png' -import cdk2 from '/docs/build/zkEVM/img/add-cdk-2.png' -import cdk3 from '/docs/build/zkEVM/img/add-cdk-3.png' -import cdk4 from '/docs/build/zkEVM/img/add-cdk-4.png' -import cdk5 from '/docs/build/zkEVM/img/add-cdk-5.gif' -import cdk6 from '/docs/build/zkEVM/img/add-cdk-6.gif' -import cdk7 from '/docs/build/zkEVM/img/add-cdk-7.png' -import cdk8 from '/docs/build/zkEVM/img/add-cdk-8.png' -import cdk9 from '/docs/build/zkEVM/img/add-cdk-9.png' -import cdk10 from '/docs/build/zkEVM/img/add-cdk-10.png' -import cdk11 from '/docs/build/zkEVM/img/add-cdk-11.png' -import cdk12 from '/docs/build/zkEVM/img/add-cdk-12.png' -import cdk13 from '/docs/build/zkEVM/img/add-cdk-13.png' -import cdk14 from '/docs/build/zkEVM/img/add-cdk-14.png' -import cdk15 from '/docs/build/zkEVM/img/add-cdk-15.png' - - -## Validium - -このクイックスタートガイドでは、ローカルマシン上にCDK Validiumを設定し、以下のコンポーネントを設定して実行する方法を示します: - -- zkEVM データベース: データノード、イベント、エクスプローラーL1およびL2、プール、状態、ブリッジサービス -- zkEVM ノードコンポーネント: アグリゲーター、アプルーブサービス、シーケンサーとシーケンスセンダー、シンクロナイザー -- L1 network (mock) -- プローバー -- エクスプローラー L1, L2 -- JSON RPC エクスプローラー -- L2 ガスプライサー -- DAC: データ可用性サービス、DACセットアップ委員会 -- zkEVMブリッジサービスとUI - -:::note - -このドキュメンテーションでは、標準的なデプロイメントを説明しています。 -設定ファイルを編集して独自の設定を実装します。 - -::: - -## 前提条件 - -### ハードウェア要件 - -- Linux ベース OS OS (e.g., Ubuntu Server 22.04 LTS). -- 少なくとも 16GB RAM と 4 コア CPU. -- AMD64 アーキテクチャシステム. - -:::caution - -CDKはARMベースのMacをサポートしていません。 - -::: - -### ソフトウェア要件 - -現在の環境のチュートリアルでは、あらかじめマシンに`go`と`docker`がインストールされている必要があります。これらがインストールされていない場合は、以下のリンクをご覧ください: - -- [Go](https://go.dev/doc/install) -- [Docker and Docker compose](https://docs.docker.com/engine/install/ubuntu/) - -:::note - -このドキュメントでは、docker compose v2を使用しています。 - -::: - -## make をインストール - -Ubuntuでmakeをインストール: -```bash -sudo apt install make -``` - -## リポジトリのクローン - -以下のコマンドを実行: - -```bash -git clone https://github.com/Snapchain/zkValidium-quickstart.git -cd zkValidium-quickstart -``` - -例をコピーして`.env`ファイルを作成: -```bash -cp .env.example .env -``` - -## ローカルで Validium を起動 - -Docker Hubから必要なDockerイメージをプル: -```bash -sudo docker compose pull -``` - -イメージをプルした後、ローカルのCDK validiumを起動: -```bash -sudo make run -``` - -すべてのサービスが正常に動作していることを確認するため、各コンテナのステータスを確認: -```bash -sudo docker compose ps -``` - -このような出力が表示されます: -
-コンテナのステータス詳細 - -```bash -$ sudo docker ps --format "table {{.Names}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}" -NAMES COMMAND STATUS PORTS -explorer-sig-provider "./sig-provider-serv…" Up 11 minutes 0.0.0.0:8151->8050/tcp, :::8151->8050/tcp -visualizer-proxy "/docker-entrypoint.…" Up 11 minutes 80/tcp, 0.0.0.0:8083->8081/tcp, :::8083->8081/tcp -explorer-visualizer "./visualizer-server" Up 11 minutes 0.0.0.0:8152->8050/tcp, :::8152->8050/tcp -explorer-smart-contract-verifier "./smart-contract-ve…" Up 11 minutes 0.0.0.0:8150->8050/tcp, :::8150->8050/tcp -explorer-proxy-l2 "/docker-entrypoint.…" Up 11 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8084->8080/tcp, :::8084->8080/tcp -explorer-stats-l2 "./stats-server" Up 11 minutes 0.0.0.0:8154->8050/tcp, :::8154->8050/tcp -explorer-stats-db-l2 "docker-entrypoint.s…" Up 11 minutes 0.0.0.0:7434->5432/tcp, :::7434->5432/tcp -explorer-frontend-l2 "./entrypoint.sh nod…" Up 11 minutes 0.0.0.0:3001->3000/tcp, :::3001->3000/tcp -explorer-backend-l2 "sh -c 'bin/blocksco…" Up 11 minutes 0.0.0.0:4001->4000/tcp, :::4001->4000/tcp -zkevm-explorer-json-rpc "/bin/sh -c '/app/zk…" Up 11 minutes 0.0.0.0:8124->8124/tcp, :::8124->8124/tcp, 8123/tcp, 0.0.0.0:8134->8134/tcp, :::8134->8134/tcp -explorer-backend-l2-db "docker-entrypoint.s…" Up 11 minutes 0.0.0.0:5437->5432/tcp, :::5437->5432/tcp -explorer-proxy-l1 "/docker-entrypoint.…" Up 11 minutes 0.0.0.0:81->80/tcp, :::81->80/tcp, 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp -explorer-stats-l1 "./stats-server" Up 12 minutes 0.0.0.0:8153->8050/tcp, :::8153->8050/tcp -explorer-stats-db-l1 "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:7433->5432/tcp, :::7433->5432/tcp -explorer-frontend-l1 "./entrypoint.sh nod…" Up 12 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp -explorer-backend-l1 "sh -c 'bin/blocksco…" Up 12 minutes 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp -explorer-backend-l1-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5436->5432/tcp, :::5436->5432/tcp -zkevm-bridge-ui "/bin/sh /app/script…" Up 12 minutes 0.0.0.0:8088->80/tcp, :::8088->80/tcp -zkevm-bridge-service "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp -zkevm-bridge-db "docker-entrypoint.s…" Up 12 minutes 5438/tcp, 0.0.0.0:5438->5432/tcp, :::5438->5432/tcp -zkevm-json-rpc "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:8133->8133/tcp, :::8133->8133/tcp, 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp -zkevm-aggregator "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:50081->50081/tcp, :::50081->50081/tcp, 0.0.0.0:9093->9091/tcp, :::9093->9091/tcp -zkevm-l2gaspricer "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp -zkevm-sequence-sender "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp -zkevm-sequencer "/bin/sh -c '/app/zk…" Up 12 minutes 0.0.0.0:6060->6060/tcp, :::6060->6060/tcp, 0.0.0.0:6900->6900/tcp, :::6900->6900/tcp, 8123/tcp, 0.0.0.0:9092->9091/tcp, :::9092->9091/tcp -zkevm-eth-tx-manager "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:9094->9091/tcp, :::9094->9091/tcp -zkevm-sync "/bin/sh -c '/app/zk…" Up 12 minutes 8123/tcp, 0.0.0.0:9095->9091/tcp, :::9095->9091/tcp -zkevm-prover "zkProver -c /usr/sr…" Up 12 minutes 0.0.0.0:50061->50061/tcp, :::50061->50061/tcp, 0.0.0.0:50071->50071/tcp, :::50071->50071/tcp -zkevm-data-availability "/bin/sh -c '/app/cd…" Up 12 minutes 0.0.0.0:8444->8444/tcp, :::8444->8444/tcp -zkevm-data-node-db "docker-entrypoint.s…" Up 12 minutes (healthy) 0.0.0.0:5444->5432/tcp, :::5444->5432/tcp -zkevm-mock-l1-network "geth --http --http.…" Up 12 minutes 0.0.0.0:8545-8546->8545-8546/tcp, :::8545-8546->8545-8546/tcp, 30303/tcp, 30303/udp -zkevm-event-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5435->5432/tcp, :::5435->5432/tcp -zkevm-pool-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5433->5432/tcp, :::5433->5432/tcp -zkevm-state-db "docker-entrypoint.s…" Up 12 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp -``` -
- - -サービスが動作していない場合(つまり、 **Exit 1** の状態にある場合)、ログを使用してさらに調査: -```bash -sudo docker compose logs -``` -:::info - -dockerコマンドの出力で **\** を見つけます。 - -::: - -### 便利なコマンド - -CDK Validiumを停止するには: -```bash -sudo make stop -``` - -すべてのサービスを再起動するには: -```bash -sudo make restart -``` - -:::note - -このローカルデプロイメントはL1 Gethインスタンスで動作します。 - -::: - - ## Validium をテスト - -[localhost](http://localhost) に移動してブロックエクスプローラが動作していることを確認します。 - -次のようなページが表示されます: - -
- -
- - -## Web3ウォレットにネットワークを追加 - -MetaMaskの手順に従って、[ネットワークを手動で設定](https://support.metamask.io/hc/en-us/articles/360043227612-How-to-add-a-custom-network-RPC)します。 - -- チェーンIDを **1001** に設定します -- 通貨記号は何でも良いですが、デフォルトでは **POL** を使用します -- RPCノードとブロックエクスプローラのコンテナはそれぞれポート **8123** と **80** で見つけることができます - -
- -
- -新しいネットワークに切り替えます: - -
- -
- -:::important - -- テスト資金が入ったアカウントが利用可能で、プライベートキーは `0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80` です -- このプライベートキーに関連付けられたアドレスには、絶対に実際の資産を送信しないでください - -::: - -[アカウントをMetaMaskにインポートします](https://support.metamask.io/hc/en-us/articles/360015489331-How-to-import-an-account)。残高は100000 POLと表示されます: - -
- -
- -トークンを別のアカウントに送信します: - -
- -
- -トランザクションを確認した後、更新された残高を確認します: - -
- -
- -MetaMaskの **エクスプローラーで表示(View on explorer)** をクリックすることで、トランザクションの詳細を表示することもできます: - -
- -
- -

- -:::warning[Metamaskでの取引が詰まる問題のトラブルシューティング] - -取引が詰まる問題に遭遇した場合、それはおそらくnonce設定が間違っているためです。 - -この問題を解決するためには、以下の手順を実行します: - -1. MetaMaskを開き、アカウントに移動します -2. 「設定」をクリックします -3. 設定メニューで「高度な設定」を選択します -4. 「アクティビティとナンスデータを消去」のオプションを探し、それをクリックします -5. 多くの場合、これによりアカウントに関連付けられたnonceデータがリセットされ、取引関連の問題が解決します - -::: - -## ブリッジをテスト - -CDKには、L1とL2 Validium 間で資金を移動できるネイティブブリッジとUIがあります。 - -### L1 to L2 - -MetaMaskにL1 RPCを追加します: - -
- -
- -L1ネットワークに切り替えると、以前にインポートしたアカウントがL1チェーン上で約999 POLを持っていることがわかります。 - -[localhost:8088](http://localhost:8088/) に移動して、ブリッジUIを確認します。 - -**Connect a wallet > MetaMask** をクリックします。 - -:::note - -このビューは2回目以降は表示されません。 - -::: - -
- -
- -以前にインポートしたアカウント`0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266`を選択します。接続が完了すると、このようなページが表示されます。 - -
- -
- -ブリッジする金額(例:5)を入力し、 **Continue** をクリックします。あなたが何をしているかを理解したことを確認した後、 **ブリッジの確認** ページが表示されます。 - -**Bridge** をクリックし、MetaMaskのポップアップでトランザクションを承認します: - -
- -
- -ブリッジが完了すると、 **アクティビティ** ページが表示されます。 - -
- -
- -### L2 から L1 へ - -MetaMaskのネットワークをあなたのValidiumチェーンに切り替え、[localhost:8088](http://localhost:8088/)に戻ります。 - -更新されたL1とL2の残高が表示されます。 - -
- -
- -金額を入力し、同じプロセスを経て、資金をL1に戻すためのブリッジを作成します。 - -:::note - -あなたは、前にL1からL2にブリッジしたもの以上の資金を戻すことはできません。 - -::: - -L2からL1へのブリッジは、L1からL2へのものとは少し異なり、トランザクションが実行された後には、このような **アクティビティ** ページが表示されます: - -
- -
- -**Finalise** をクリックし、トランザクションを承認します(注:MetaMaskは、最初にL1ネットワークに切り替えるようにとのウィンドウをポップアップします)。その後、ブリッジが完了したら、このように表示されます: - -
- -
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-rpc-node.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-rpc-node.md deleted file mode 100644 index 8c086141c4f..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zk-node/setup-rpc-node.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -sidebar_position: 0 -title: Astar zkEVM パーミッションレス RPCノードのセットアップ -sidebar_label: zkEVM RPCのセットアップ ---- - -## 概要 - -オペレータは、パーミッションレスRPCノードを**Astar zkEVM**にデプロイできます。 - -DAppプロジェクトは、公共インフラに頼らず、必要なブロックチェーンデータを取得するために独自のRPCノードを実行する必要があります。 公開されているエンドポイントは、接続しているユーザーが多いため、応答が遅くなることがあり、アクセスの頻度が制限されています。 - -## Requirements - -### System - -:::note -ネットワークが拡大するにつれて、ストレージスペースの要件が増大します。 -::: - -- 16GB RAM -- 4コアのCPU -- 100GBのストレージ (時間の経過とともに増加します) - -### Prerequisites - -このチュートリアルでは、コンピューターに `docker` と `docker-compose` がインストールされている必要があります。 インストールされていない場合は、以下のリンクを確認してください: - -- [https://www.docker.com/get-started](https://www.docker.com/get-started) -- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) - -### イーサリアムRPCノード - -**Astar zkEVM** ノードを実行するには、Ethereum RPCノードが必要です。 -Ethereum RPCの実行には2つのオプションがあります: - -- 独自の設定 - [Geth client](https://geth.ethereum.org/docs/getting-started/installing-geth) はその一例です。 -- RPCプロバイダーのエンドポイントを使用する - Astar上で開発するデベロッパーは、特別なオファーやプロモーションを受けることができます。 - -このドキュメントでは、Ethereumノードのインストールについて説明していません。 このドキュメントでは公開されているRPCエンドポイントを使用します。しかし、**これはプロダクトレベルでは実行可能ではない**ことに留意してください。公開されているエンドポイントにはアクセス頻度に制限があり、結果としてAstar zkEVMノードが正しく同期しない可能性があります。 - -## zkNode の設定 - -このセクションでは、**Astar zkEVM** RPCノードの機能に必要な5つのコンテナを起動します。 - -- zkevm-rpc -- zkevm-sync -- zkevm-state-db -- zkevm-pool-db -- zkevm-prover - -このDocsの執筆時点で、**zKatana testnet** は **Astar zkEVM** に利用可能な唯一のネットワークです。 そしてL1のイーサリアム**セポリアテストネット**に接続されています。 - -zKatana testnet上で開発していきましょう。 - -設定、インストール、およびデータ専用のディレクトリをそれぞれ作成します。 - -```bash -sudo mkdir -p /etc/zkevm/{install,config} && sudo chown -R $USER:$USER /etc/zkevm -sudo mkdir -p /var/lib/zkevm/{statedb,pooldb} && sudo chown -R $USER:$USER /var/lib/zkevm/ -``` - -ローカル変数を設定します。 - -``` -# define installation and config path -ZKEVM_NET=testnet -ZKEVM_DIR=/etc/zkevm/install -ZKEVM_CONFIG_DIR=/etc/zkevm/config -``` - -アーティファクトをダウンロードし、抽出します。 - -```bash -wget https://shared-assets.astar.network/files/zkevm/zkatana/zkatana.tar.gz -tar -xf zkatana.tar.gz -C $ZKEVM_DIR && rm zkatana.tar.gz -``` - -envファイルをコピーし、L1のRPCのURLを編集します。 - -```bash -cp $ZKEVM_DIR/$ZKEVM_NET/example.env $ZKEVM_CONFIG_DIR/.env -nano $ZKEVM_CONFIG_DIR/.env -``` - -パラメータを変更します。 - -```bash -# Use your own Sepolia RPC URL here!! -ZKEVM_NODE_ETHERMAN_URL = "https://eth-sepolia-public.unifra.io" -``` - -ノードの設定ファイルを編集します。 - -```bash -nano $ZKEVM_DIR/$ZKEVM_NET/config/environments/$ZKEVM_NET/node.config.toml -``` - -次のパラメータを変更します。セキュリティを強化するために、データベースのデフォルトのユーザーおよびパスワードを変更することもできます。 - -``` -[Etherman] -# Set your own Sepolia RPC URL -URL = "https://eth-sepolia-public.unifra.io" - -# Enable if you want to exploit metrics from nodes -[Metrics] -Enabled = true -``` - -コンテナを起動します。 - -```bash - -# start all the containers -sudo docker compose --env-file $ZKEVM_CONFIG_DIR/.env -f $ZKEVM_DIR/$ZKEVM_NET/docker-compose.yml up -d -# or start containers on by one -sudo docker compose --env-file $ZKEVM_CONFIG_DIR/.env -f $ZKEVM_DIR/$ZKEVM_NET/docker-compose.yml up -d -``` - -すべてのコンテナが起動し、動作していることを確認します。ステータスがUpになっているコンテナが5つ表示されるはずです。 - -```bash -sudo docker ps -``` - -これで**Astar zkEVM** RPCノードがポート8545上で動作するようになりました。あとは同期するのを待つだけです。 - -## RPCを使用する - -コンテナログを表示します。 - -```bash -sudo docker logs -fn30 -``` - -RPCリクエストをテストします。 - -```bash -# Get the chain Id -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_chainId", "params": []}' http://localhost:8545 -# Expected response -{"jsonrpc":"2.0","id":1,"result":"0x133e40"} -# Get the latest block -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_getBlockByNumber", "params": ["latest", false]}' http://localhost:8545 -``` - -コンテナを停止します。 - -```bash -sudo docker compose --env-file $ZKEVM_CONFIG_DIR/.env -f $ZKEVM_DIR/$ZKEVM_NET/docker-compose.yml down -``` - -## その他 - -### トレーシングを有効にする - -RPCでトレース機能(`debug`と`txpool`モジュール)を有効にするには、`docker-compose`ファイルの`zkevm-rpc`コンテナに次のコマンドを追加します: - -``` ---http.api=eth,net,debug,zkevm,txpool,web3 -``` - -### 外部からのアクセス - -RPCエンドポイントのURLを外部から利用できるようにするには、HTTPサーバーを追加することをお勧めします。 -nginx serverをインストールするには、[nginx server セクション](/docs/build/nodes/archive-node/nginx)を参照してください。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zkevm-faucet.md b/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zkevm-faucet.md deleted file mode 100644 index 002d17181b5..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/build/zkEVM/zkevm-faucet.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -sidebar_position: 4 -title: Astar zkEVM Faucet -sidebar_label: Faucet ---- - -import sepolia from '/docs/build/zkEVM/img/metamask-sepolia-select.png' -import useBaseUrl from '@docusaurus/useBaseUrl'; - -## 概要 - -zKatana テストネット上の ETH を直接手にいれる faucet はありません。 [Astar Bridge](./bridge-to-zkevm.md) を使って Sepolia ETH を zKatana テストネットにブリッジすることができます。 - -## MetaMask を Sepolia テストネットに接続してください。 - -MetaMask を開き、左上にあるネットワークの一覧をクリックしてください。 「Show test networks」のトグルを開き、「Sepolia」を選択してください。 - -
- -
- -## Faucet - -**Faucet** は Testnet トークンを獲得するために用意されているツールです。 - -公開されている Sepolia ETH の faucet はこちらから利用可能です: - -- アカウント作成は必要ありません。 2.5 sETH 手に入ります。 -- https\://faucet.quicknode.com/ethereum/sepolia - QuickNode により運営されています。 アカウント作成は必要ありません。 0.1 sETH 手に入ります。 -- https\://sepoliafaucet.com/ - Alchemy により運営されています。 Alchemy のアカウントが必要です。 0.5 sETH 手に入ります。 -- https\://www\.infura.io/faucet/sepolia - Infura により運営されています。 Alchemy のアカウントが必要です。 - -Sepolia ETH を手に入れたら、[Astar Bridge](./bridge-to-zkevm)を使用して Astar zKatana にアセットをブリッジしてください。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/current/getting-started.md index 9d74fee35cf..4b7ebe44aee 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/getting-started.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/getting-started.md @@ -14,8 +14,6 @@ Astar は、Polkadot および Ethereum エコシステム向けの相互運用 - [**Wasm**](/docs/build/wasm) - Astar 上の[Wasm stack](https://docs.astar.network/docs/build/wasm/smart-contract-wasm)、[Wasm contract frameworks](/docs/build/wasm/dsls)、および[Swanky Suite](/docs/build/wasm/swanky-suite/)の概要をご提供します。 -- [**zkEVM**](/docs/build/zkEVM) - Astar の Ethereum 向け Layer 2 スケーリングソリューションで構築を始めるために開発者が知っておくべき内容を全てまとめています。 - - [**Nodes**](/docs/build/nodes) - インフラストラクチャに関連するフルノード、コレーター、インデクサなどの実行方法について説明します。 - [**XCM**](/docs/learn/interoperability/xcm) - XCM が Astar でどのように使用され、開発者がそれを利用して Polkadot ネットワーク上のその他のエコシステムとどのようにやりとりできるかについて説明します。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md b/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md deleted file mode 100644 index c63acc72596..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/faq.md +++ /dev/null @@ -1,129 +0,0 @@ -import Figure from "/src/components/figure" - -# Astar zkEVM FAQs - -## よくある質問 - -Astar zkEVM に関する最もよくある質問に対する答えをここにまとめています。(どのように動作するか、どのように相互作用するか、Astar の Polkadot パラチェーン、Polygon PoS チェーン、Ethereum ネットワークとどう相互作用するか等) - -### Polygon PoS と Astar zkEVM の違いは何ですか? - -Polygon PoS と Astar zkEVM はどちらも Ethereum にスケーリングソリューションを提供します。しかし、アーキテクチャやコンセンサスメカニズム、データ可用性のオプションに違いがあります。 - -Astar zkEVM は特に、より良いスケーラビリティ、セキュリティ、EVM 等価性の達成のため、Ethereum Layer 2 の zk ロールアップの技術を活用します。一方で、Polygon PoS は Ethereum の独立したサイドチェーンで、独自のコンセンサスメカニズムとセキュリティを持つ独自の Layer 1 として機能します。 - -Ethereum と Layer 2 の間のブリッジはトラストレスです。つまり、Ethereum と Polygon Pos のようなその他の Layer 1 チェーンの間でのブリッジがセキュリティを保証している特定のブリッジプロバイダーに依存している一方で、Astar zkEVM は Ethereum のセキュリティを継承しているということです。 - -### Astar は Polkadot を離れようとしているのですか? - -Astar は Polkadot のエコシステムから離れようとしているわけではありません。私たちはこれまでと同様に Polkadot を支えていきます。実際のところ、スマートコントラクト構築と新しいプロジェクトの最適なオンボーディングに向けた開発ツールという当初の目的とともに私たちはパラチェーンスロットを以降 2 年間分確保したところです。つまり、私たちは Polkadot に心の底から貢献しようとしているということです。 - -### 3 つの Virtual Machine (EVM、Astar zkEVM、Wasm) は全て相互運用可能なのですか? - -はい。 Astar zkEVM はその EVM 等価性とアセットのブリッジや任意のチェーン間メッセージ送信、遠隔でのスマートコントラクト呼び出しをサポートする Layer Zero 等のパートナーを通して、ローンチ直後から既存のチェーンと相互運用可能になる予定です。 - -### Astar zkEVM ならではの特徴はなんですか? - -Astar zkEVM ならではの主な特徴はいくつか存在します: - -- 日本市場とグローバルのプロジェクトや企業、開発者との架け橋となる。 -- 高い EVM 等価性 -- ゼロ知識技術を通した高いスケーラビリティ -- Ethereum から継承したトラストレスな相互運用性とセキュリティ -- Ethereum メインネットと比較して明かに削減されたトランザクションコスト - -### Astar zkEVM のガスの選択肢は? - -ブリッジされた ETH が Astar zkEVM テストネットのガスに使用されるトークンで、ブリッジされた ASTR も将来的には同様に扱えるようにオプションとして追加されると思われます。 - -### Astar は zkEVM に向けて新たなトークンをリリースする予定ですか? - -いいえ。Astar ネットワーク全体としての価値は ASTR トークンに反映されます。そして、私たちがビジネスの観点で行うすべてのことは ASTR トークンの価値を高めたり、維持したりすることを目標としています。私たちに、zkEVM に固有のトークンを新たに導入する意図はありません。 - -### zkEVM のエコシステムでエアドロップが行われる予定はありますか? - -zkEVM エコシステムで参加者がインセンティブを得る方法はいくつもありますが、少なくとも現時点ではエアドロップは計画されていません。より詳しいことを知り、成長段階のうちにコミュニティに関わりたいという人は zkEVM ジャーニーキャンペーンをチェックしてみてください。 - -### Astar zkEVM は ZK-Rollup アーキテクチャを採用しているのですか? また、その理由はなぜですか? - -Astar チームはテストネットに ZK-Rollup アーキテクチャを使用することを決定しています。ZK-Rollups は完全に安全性が担保されていて、Ethereum によって支えられています。 - -### Astar zkEVM  と Ethereum メインネットの違いはなんですか? - -Astar zkEVM は、主にガス料金がはるかに安く、トランザクションの処理能力が大幅に向上していることによって、Ethereum メインネットから差別化されています。この高い処理能力と低い取引コストの組み合わせは、高い取引速度を必要とするアプリケーションの開発者に、高コストの負担なしに理想的な環境を提供します。 - -### Astar zkEVM は Ethereum または Polygon PoS の Layer 2 になる予定ですか? - -Astar zkEVM は Polygon の zkEVM 技術によって実現され、Ethereum Layer 2 上にデプロイされる予定です。 - -### すべてのエコシステムを平等にサポートするつもりですか? それとも、何らかの優先順位がありますか? - -Astar zkEVM は、Polygon Labs と協力して、日本市場に焦点を当てています。異なるソリューションを提供することで、特定の要件に応じて、さまざまな dApp 開発者や企業ソリューションの多様なニーズを容易にするでしょう。 - -### どうして Astar は zkEVM ネットワークとして Layer 2 に事業を拡大しているのですか? - -当社のプロジェクトとパートナーは、成長傾向にあるゼロナレッジ技術とレイヤー 2 のソリューションにますます興味を示しています。ゼロナレッジソリューションを介して現在のブロックチェーンをスケーリングすることは、Ethereum エコシステムへのアクセスによって需要の成長に応じることができます。 - -### 現在の Astar エコシステムにとって Ethereum の Layer 2 をデプロイすることの利点はなんですか? - -Ethereum 上に Layer 2 を立ち上げることは Astar エコシステムに幾つかの利点を提供します: - -- **開発者たちにより多くの選択肢を**: layer 1 の Astar Substrate と layer 2 の Astar zkEVM の両方によって、開発者たちは開発に用いるより多くの環境とツールを手に入れることができます。 -- より大きなコミュニティに拡大することができます。 -- Astar は、Ethereum の Tier 1 プロジェクトとより密接に協力できます。これは、dApp ステーキングをはじめとする Astar のユニークな機能から Tier 1 プロジェクトが利益を得ることができることを意味します。 -- Astar エコシステムは、取引数やアクティブユーザー数の増加、そして流動性の向上から利益を受けるでしょう。これらはすべてネットワークの成功にとって重要な要因です。 -- ますます多くの日本企業と実世界のユースケースが Astar エコシステムに参加しています。 - -### Astar zkEVM は検閲耐性を備えていますか? - -Astar zkEVM はプロトコルレベルで検閲に対抗できる構造を持っています。現在のアーキテクチャでは L1 にバッチを提案するシーケンサーが 1 つしかないものの、それは常に L1 ロールアップスマートコントラクトにバッチを直接送ることができるため、誰かを検閲することはできません。つまり、理論的にはシーケンサーがトランザクションを通過する際にそれを検閲できるかもしれませんが、 L1 スマートコントラクトにトランザクションを直接送信するためには検閲することはできないということです。 - -### 開発者はどのようにして Astar zkEVM 上での開発を開始できますか?利用可能な特定のツールや SDK はありますか? - -開発に関する詳細情報は、テストネットのローンチと共に明らかにされます。 -それに加えて、テストネットと同時に包括的なドキュメンテーションを公開し、開発者がすぐに開発を開始できるようにします。 - -Astar コミュニティ内の現在の開発者は、Ethereum エコシステムに存在する豊富な開発リソースから大きな利益を得るでしょう。Hardhat や Truffle を含むお馴染みの Ethereum の開発者向けツールは引き続き利用可能です。Astar は進化するにつれて、Astar zkEVM の特別な機能に合わせたツールや SDK を導入していきます。 - -### Astar zkEVM 上のガス価格は Ethereum や Polygon と比べてどのようになりますか? - -Astar zkEVM 上での取引は Ethereum メインネット上のものより格段に安価ですが、それにもかかわらず、Polkadot 上の Astar Substrate と比較すると、より高価になるでしょう。その理由は、Astar zkEVM が Ethereum の Layer 2 ソリューションであるため、ネットワークのコストは主に Ethereum メインネットのコストに大きく影響を受け、これは Astar Substrate よりも大幅に高いからです。 - -### 将来的な Astar zkEVM の開発とデプロイのロードマップはどのようなものですか? - -Astar zkEVM のテストネットは 2023 年 10 月(第 4 四半期)から段階的に展開され、テストネット環境のバトルテストが終了した後にメインネットを展開する予定です。zkEVM dApp 開発者が直ちに開発を始めるために必要なツールや機能、例えばクロスチェーンメッセージング(ブリッジング)やアカウントアブストラクションなどを提供するために、Astar zkEVM メインネットをインフラストラクチャパートナーと完全に連携して展開する予定です! - -### 他のチェーンから Astar zkEVM 上にアセットをブリッジすることは可能ですか?もし可能であれば、どのようにすればいいですか? - -- ETH はトラストレスなブリッジを用いて、スムーズに双方向への送金が可能です。 -- ASTR とその他のトークンは LayerZero プロトコルを通してやりとりされます。 - -### トランザクションはどのようにして集められ、順序づけられますか? - -1. ユーザーが、Metamask などのウォレットでトランザクションを開始し、それをシーケンサーに転送します。 -2. トランザクションは、シーケンサーが処理をコミットすると、Astar zkEVM 上で確定されます。この時点で、Astar zkEVM 上では確定していますが、Ethereum 上では確定しておらず、これを**Trusted State**と呼びます。 -3. シーケンサーはバッチデータを Ethereum のスマートコントラクトに提出します。これにより、どのノードでも信頼性のある方法で Ethereum から同期できるようになり、このフェーズが**Virtual State**と呼ばれます。 -4. アグリゲーターは保留中のトランザクションを収集し、これらを検証し、Ethereum 上で確認するためのプルーフを構築します。 -5. プルーフの検証によって、トランザクションは Ethereum 上で、出金のために必要不可欠な確定性を達成します。この状態を**Consolidated State**と表現します。 - -上記のプロセスは Astar zkEVM 上でのトランザクションフローの要約です。さらに詳しい情報が必要な場合は完全版の[transaction life cycle](https://wiki.polygon.technology/docs/zkevm/protocol/l2-transaction-cycle-intro/)ドキュメントをご覧になることをお勧めいたします。 - -### Astar zkEVM 上ではどのようなタイプの dApp がデプロイできますか? - -Astar zkEVM は EVM 等価性を持つため、EVM 互換のどんな dApp も展開できます。これは、Ethereum 向けに開発された dApp が Astar の zkEVM 上に展開でき、ロールアップの性質によるスケーラビリティの向上と並列処理、そして低い取引コストの恩恵を受けることができることを意味します。 - -### Astar zkEVM エコシステム内ではどのようにしてコンセンサスが達成されますか? - -Astar zkEVM 自体はロールアップとして存在し、独立したコンセンサスは不要です。したがって Astar zkEVM は Ethereum のセキュリティを受け継いでいます。 - -### ASTR トークンの保有者にとって、Astar zkEVM の価値はなんですか? - -Astar zkEVM は ASTR トークンを新たな 3 つの方法で使用します: - -- ツール開発のガス代 -- シーケンサーのバーニングメカニズム -- そしてネットワークアグリゲーターへのバーニングインセンティブ - -このモデルはテストネットで評価され、ASTR トークンの保有者にとっての価値を最大化するために調整されます。最終的な設計はモデルのテストと分析に基づいて変更される可能性があります。 - -
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png b/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png deleted file mode 100644 index d3a32a80935..00000000000 Binary files a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/img/astar-zkevm-value.png and /dev/null differ diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md b/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md deleted file mode 100644 index 136bcbd088a..00000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/learn/zkEVM/index.md +++ /dev/null @@ -1,16 +0,0 @@ -# Astar zkEVM - -## Astar zkEVM とは? - -Astar zkEVM は日本だけでなく、世界規模でブロックチェーン技術の導入を加速させるための万能なソリューションとして機能しています。特に、国際的なゲームやエンターテイメントのベンチャー企業が利益の大きい日本市場に参入するための入り口として位置づけられています。Astar の変革の中心にあるのは Ethereum Layer-2 スケーリングソリューションを採用したことです。 - -Astar zkEVM の主な機能は以下のようになります: - -- ゼロ知識技術を通じた、高いトランザクション量の中でも円滑な運用を保証するスケーラビリティ - -- EVM 等価性 -- Ethereum に由来するセキュリティ機構。頑強で安全なフレームワークを保証する。 -- Ethereum とのトラストレスな相互運用性。様々な統合をよりスムーズにする。 -- Ethereum と比較して明かに削減されたトランザクションコスト。ユーザーにとって経済的な利点を与える。 - -詳細は zkEVM [FAQ](/learn/zkEVM/faq.md) のページをご覧ください。