Skip to content

Commit

Permalink
chore: fix more links
Browse files Browse the repository at this point in the history
  • Loading branch information
popzxc committed Dec 5, 2024
1 parent c93ec33 commit 2e67ab5
Show file tree
Hide file tree
Showing 26 changed files with 34 additions and 49 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ In this section you will learn how to:

1. Before you start, make sure that
[you’ve configured the %%zk_testnet_name%% in your wallet](/zksync-era/environment).
2. Have at least 0.5 %%zk_testnet_name%% ETH. If you need more, use [one of the faucets](/ecosystem/network-faucets).
2. Have at least 0.5 %%zk_testnet_name%% ETH. If you need more, use [one of the faucets](/zksync-era/ecosystem/network-faucets).

## Review the smart contract code

Expand Down Expand Up @@ -71,7 +71,7 @@ The Solidity smart contract contains two functions:
- `getLastMessage` returns the last message sent.

::callout{icon="i-heroicons-light-bulb"}
ZKsync Era is [EVM compatible](/build/resources/glossary#evm-compatible).
ZKsync Era is [EVM compatible](/zksync-protocol/glossary#evm-compatible).
You can write smart contracts with Solidity or Vyper and use existing popular libraries like OpenZeppelin, just like on Ethereum.
::

Expand Down Expand Up @@ -121,7 +121,7 @@ ZK is the endgame ✌️

## Next steps

- Continue learning by [deploying an ERC20 token to ZKsync](/build/start-coding/quick-start/erc20-token).
- Continue learning by [deploying an ERC20 token to ZKsync](/zksync-era/guides/quick-start/erc20-token).
- Join the [ZKsync developer community in Discord](https://join.zksync.dev/) where you can ask any questions about this
tutorial in the `#dev-quickstart` channel.
- Join our [GitHub Discussions Community](%%zk_git_repo_zksync-developers%%/discussions/) to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This is what you're going to do:

1. Before you start, make sure that
[you’ve configured the %%zk_testnet_name%% in your wallet](/zksync-era/environment).
2. Have at least 0.5 %%zk_testnet_name%% ETH. If you need more, use [one of the faucets](/ecosystem/network-faucets).
2. Have at least 0.5 %%zk_testnet_name%% ETH. If you need more, use [one of the faucets](/zksync-era/ecosystem/network-faucets).

## Custom ERC20 token code

Expand Down Expand Up @@ -45,7 +45,7 @@ contract TestToken is ERC20, Ownable, ERC20Burnable {
```

::callout{icon="i-heroicons-light-bulb"}
ZKsync Era is [EVM compatible](/build/resources/glossary#evm-compatible), so you can use existing popular libraries like OpenZeppelin.
ZKsync Era is [EVM compatible](/zksync-protocol/glossary#evm-compatible), so you can use existing popular libraries like OpenZeppelin.
::

The most important features are:
Expand Down Expand Up @@ -92,7 +92,7 @@ The ERC20 token code is provided “as is” without any express or implied warr

## Next steps

- Continue learning about [paymasters and paying transaction fees with this ERC20 token](/build/start-coding/quick-start/paymasters-introduction).
- Continue learning about [paymasters and paying transaction fees with this ERC20 token](/zksync-era/guides/quick-start/paymasters-introduction).
- Join the [ZKsync developer community in Discord](https://join.zksync.dev/) where you can ask any questions about this
tutorial in the `#dev-quickstart` channel.
- Join our [GitHub Discussions Community](%%zk_git_repo_zksync-developers%%/discussions/) to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn about paymasters and use one to pay transaction fees with you
---

This tutorial makes use of smart contracts deployed in the previous two tutorials,
[Deploy your first contract](/build/start-coding/quick-start/deploy-your-first-contract) and [Create an ERC20 token](/build/start-coding/quick-start/erc20-token).
[Deploy your first contract](/zksync-era/guides/quick-start/deploy-your-first-contract) and [Create an ERC20 token](/zksync-era/guides/quick-start/erc20-token).
This section introduces one of the custom features
of ZKsync: native account abstraction and paymasters.

Expand All @@ -20,7 +20,7 @@ In this tutorial we will:

1. Before you start, make sure that
[you’ve configured the %%zk_testnet_name%% in your browser wallet by following the instructions here](/zksync-era/environment).
1. In addition, fund your wallet with %%zk_testnet_name%% ETH using [one of the available faucets](/ecosystem/network-faucets).
1. In addition, fund your wallet with %%zk_testnet_name%% ETH using [one of the available faucets](/zksync-era/ecosystem/network-faucets).

## What is a Paymaster?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ Finally we retrieve and print the ETH and ERC20 balances to see how they’ve ch
## Run the script

To run the script, first enter the addresses of the `ZeekMessages.sol` and `TestToken.sol` contracts that we
deployed previously ([Deploy your first contract](/build/start-coding/quick-start/deploy-your-first-contract) and
[Erc20 Token](/build/start-coding/quick-start/erc20-token)) in the following variables at the beginning of
deployed previously ([Deploy your first contract](/zksync-era/guides/quick-start/deploy-your-first-contract) and
[Erc20 Token](/zksync-era/guides/quick-start/erc20-token)) in the following variables at the beginning of
the script:

```typescript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,9 @@ for the `CrowdfundingCampaign` contract in the [next guide](/zksync-era/guides/z
This will allow you to efficiently manage multiple crowdfunding campaigns, each with their own unique parameters.
- **Dive Deeper into ZKsync Features:** Investigate advanced ZKsync features such as account abstraction,
and paymasters.
- **Join the Community:** Engage with the [ZKsync developer community][zksync-community] through forums,
- **Join the Community:** Engage with the ZKsync developer community through forums,
Discord channels, Dev Discussions, or GitHub repositories. Share your experiences, ask questions,
and collaborate on projects.

[crowdfunding-campaign-sol]: https://github.com/matter-labs/zksync-contract-templates/blob/main/templates/101/contracts/1-hello-zksync/CrowdfundingCampaign.sol
[deploy-script]: https://github.com/matter-labs/zksync-contract-templates/blob/main/templates/101/deploy/1-hello-zksync/deploy.ts
[zksync-community]: /build/resources/community-channels
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,9 @@ comprehensive tests is critical.
- **Advanced ZKsync Integrations:** Explore deeper into ZKsync's ecosystem by
implementing features like account abstraction and paymasters to enhance user
experience and contract flexibility.
- **Community Engagement and Contribution:** Join the vibrant [ZKsync developer community][zksync-community].
- **Community Engagement and Contribution:** Join the vibrant ZKsync developer community.
Participate in forums, Discord, or GitHub discussions. Sharing insights, asking queries,
and contributing can enrich the ecosystem and your understanding of ZKsync.

[crowdfunding-factory-sol]: https://github.com/matter-labs/zksync-contract-templates/blob/main/templates/101/contracts/2-contract-factory/CrowdfundingFactory.sol
[deploy-script]: https://github.com/matter-labs/zksync-contract-templates/blob/main/templates/101/deploy/2-contract-factory/deploy.ts
[zksync-community]: /build/resources/community-channels
3 changes: 1 addition & 2 deletions content/00.zksync-era/10.guides/20.zksync-101/30.testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,8 @@ over time without losing state or funds.
- **Advanced ZKsync Integrations:** Explore deeper into ZKsync's ecosystem by
implementing features like account abstraction and paymasters to enhance user
experience and contract flexibility.
- **Community Engagement and Contribution:** Join the vibrant [ZKsync developer community][zksync-community].
- **Community Engagement and Contribution:** Join the vibrant ZKsync developer community.
Participate in forums, Discord, or GitHub discussions. Sharing insights, asking queries,
and contributing can enrich the ecosystem and your understanding of ZKsync.
[crowdfunding-campaign-test]: https://github.com/matter-labs/zksync-contract-templates/blob/main/templates/101/test/1-hello-zksync/CrowdfundingCampaign.test.ts
[zksync-community]: /build/resources/community-channels
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ offering new models for transaction fee management and enhancing user experience
- **Advanced ZKsync Integrations:** Explore deeper into ZKsync's ecosystem by
implementing features like account abstraction and paymasters to enhance user
experience and contract flexibility.
- **Community Engagement and Contribution:** Join the vibrant [ZKsync developer community][zksync-community].
- **Community Engagement and Contribution:** Join the vibrant ZKsync developer community.
Participate in forums, Discord, or GitHub discussions. Sharing insights, asking queries,
and contributing can enrich the ecosystem and your understanding of ZKsync.

[zksync-community]: /build/resources/community-channels
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,6 @@ interactions. This feature enhances user engagement and adoption of dApps.
[building a user interface with ZKsync CLI](/zksync-era/tooling/zksync-cli/creating-projects) that interacts with the paymaster contracts
you have deployed. This will not only improve the usability of your contracts but also provide practical insights
into how end-users interact with your dApps in real-world scenarios.
- **Community Engagement and Contribution:** Join the vibrant [ZKsync developer community][zksync-community].
- **Community Engagement and Contribution:** Join the vibrant ZKsync developer community.
Participate in forums, Discord, or GitHub discussions. Sharing insights, asking queries,
and contributing can enrich the ecosystem and your understanding of ZKsync.

[zksync-community]: /build/resources/community-channels
2 changes: 1 addition & 1 deletion content/00.zksync-era/20.environment/00.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ To manually add ZKsync Era as a custom network in your wallet, follow these step
## Get testnet funds for your wallet

Once you have your wallet connected to a ZKsync Era environment,
you can get testnet funds from one of many [testnet faucets](/ecosystem/network-faucets)
you can get testnet funds from one of many [testnet faucets](/zksync-era/ecosystem/network-faucets)
to use with [deploying your first smart contract](/zksync-era/guides).

<!-- TODO: Add link to API overview -->
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ the [Contract Deployment](/zksync-protocol/differences/contract-deployment) docu

### Wallet and testnet funds

- A wallet with ETH is needed to deploy contracts. Visit the [Network Faucets](/ecosystem/network-faucets) page to get testnet funds.
- A wallet with ETH is needed to deploy contracts. Visit the [Network Faucets](/zksync-era/ecosystem/network-faucets) page to get testnet funds.

## Install ZKsync CLI

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ Different options to export smart contract ABIs.

### hardhat-gas-reporter

Although this plugin works out of the box, ZKsync Era has a [different fee model](/build/developer-reference/fee-model) than Ethereum.
Although this plugin works out of the box, ZKsync Era has a [different fee model](/zksync-protocol/rollup/fee-model) than Ethereum.
Users should consider this when analysing the report generated by this plugin.

In addition, make sure to read about [local testing](/build/test-and-debug/).
In addition, make sure to read about [local testing](/zksync-era/tooling/local-setup/).

[More Information](https://www.npmjs.com/package/hardhat-gas-reporter)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ If not, please refer to the first section of the [ZKsync 101 material](/zksync-e

- A wallet with sufficient Sepolia `ETH` on Ethereum and %%zk_testnet_name%% to pay for deploying smart contracts on testnet.

You can get Sepolia ETH from the [network faucets](/ecosystem/network-faucets).
You can get Sepolia ETH from the [network faucets](/zksync-era/ecosystem/network-faucets).

- Get testnet `ETH` for ZKsync Era using [bridges](https://zksync.io/explore#bridges) to bridge funds to ZKsync.
- You know [how to get your private key from your MetaMask wallet](https://support.metamask.io/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: ["zksync", "account management", "wallet creation", "transaction signing",

Learn how to send transactions between L1 and L2 networks using the `zksync-ethers` library.

If you need background information on how L1<->L2 interactions work on ZKsync, check out the [Developer Reference](https://docs.zksync.io/build/developer-reference/l1-l2-interoperability).
If you need background information on how L1<->L2 interactions work on ZKsync, check out the [Developer Reference](/zksync-protocol/rollup/l1_l2_communication).

## Deposit

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags: ["zksync", "l1", "l2", "transactions", "go", "sdk"]
This section explores the methods which allow the [account](/zksync-era/sdk/go/api/accounts) to send transactions
among both L1 to
L2 networks. For background on how L1<->L2 interaction works on ZKsync, go through the
[introduction](https://docs.zksync.io/build/developer-reference/l1-l2-interoperability).
[introduction](/zksync-protocol/rollup/l1_l2_communication).

::callout{icon="i-heroicons-light-bulb"}
Full examples of actions below are available on the [getting started](/zksync-era/sdk/go/guides) page.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This section explores the methods which allow the [account](/zksync-era/sdk/pyth
classes to send transactions from L1 to L2.

If you want to get some background on how L1->L2 interaction works on ZKsync Era, go through the
[introduction](https://docs.zksync.io/build/developer-reference/l1-l2-interoperability).
[introduction](/zksync-protocol/rollup/l1_l2_communication).

Full examples of actions below are available on the getting started page.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This section explores the methods which allow the [account](/zksync-era/sdk/java
among both L1 to L2 networks.

If you want some background on how L1<->L2 interaction works on ZKsync, go through the
[introduction](https://docs.zksync.io/build/developer-reference/l1-l2-interoperability).
[introduction](/zksync-protocol/rollup/l1_l2_communication).

## Deposit

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This section explores the methods which allow the [account](/zksync-era/sdk/swif
to send transactions among both L1 to L2 networks.

If you want some background on how L1<->L2 interaction works on ZKsync, go through the
[introduction](https://docs.zksync.io/build/developer-reference/l1-l2-interoperability).
[introduction](/zksync-protocol/rollup/l1_l2_communication).

Full examples of actions below are available on the [getting started](/zksync-era/sdk/swift/guides/getting-started) page.

Expand Down
2 changes: 1 addition & 1 deletion content/10.zk-stack/20.running/10.quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ that connects all ZK chains, like the BridgeHub, ZK Router, and state transition
- Proofs are not required to run a testnet, so for now choose "NoProofs".
- For data availability, you can choose normal on chain Rollup data mode or off
chain [Validium](/zk-stack/running/validium) data mode.
chain [Validium](/zksync-protocol/rollup/data-availability) data mode.
- ZK chains support using $ETH or a custom ERC20 as a gas token. For now choose "Eth".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ which operates efficiently on 16GB of GPU RAM, allowing for decentralization of
Transactions in ZKsync Era are [comparable to those on Ethereum](https://ethereum.org/en/developers/docs/transactions/),
allowing the use of the same wallets.
Minor differences exist, particularly regarding fee settings.
For details on fees, refer to the [fee model documentation](/zksync-protocol/protocol/fee-mechanism).
For details on fees, refer to the [fee model documentation](/zksync-protocol/rollup/fee-model).

Returned values from any RPC call outputting transaction details include:

- `is_l1_originated`: `bool`
- `status`: `TransactionStatus`, one of `Pending`, `Included`, `Verified`, or `Failed`. See [Transaction statuses section](#transaction-statuses) below.
- `fee`: `U256`. See the [fee mechanism documentation](/zksync-protocol/protocol/fee-mechanism) for more information.
- `fee`: `U256`. See the [fee mechanism documentation](/zksync-protocol/rollup/fee-model) for more information.
- `initiator_address`: `Address`
- `received_at`: `DateTime<Utc>`
- `eth_commit_tx_hash`: `Option<H256>`
Expand Down
2 changes: 1 addition & 1 deletion content/20.zksync-protocol/00.rollup/40.bridging-assets.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Users can deposit and withdraw assets from ZKsync Era using any of the [multiple

Under the hood, bridging is implemented by having two contracts
(one deployed to L1, and the second deployed to L2)
communicating with each other using [L1 <-> L2 interoperability](l1-l2-interoperability).
communicating with each other using [L1 <-> L2 interoperability](l1_l2_communication).

Developers are free to build their own [custom bridge for any token](#custom-bridges-on-l1-and-l2) however, we provide default bridges
(one for ETH and one for ERC20 tokens), which can be used for basic bridging.
Expand Down
10 changes: 1 addition & 9 deletions content/20.zksync-protocol/10.api/00.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,13 @@ but also introduce L2-specific features that enhance functionality.

ZKsync supports RPC providers that comply with the
official <a href="https://ethereum.org/en/developers/docs/apis/json-rpc/" target="_blank">Ethereum JSON-RPC API</a> specification.
You can explore a comprehensive list of supported RPC providers in our [RPC ecosystem page](https://docs.zksync.io/ecosystem/node-providers).
You can explore a comprehensive list of supported RPC providers in our [RPC ecosystem page](/zksync-era/ecosystem/node-providers).

::callout{icon="i-heroicons-information-circle" color="amber"}
To ensure a seamless experience, we impose rate limits on both HTTPS and WebSocket APIs.
Generally, these limits are ample, ranging from 10 to 100 requests per second (RPS) per client.
::

### Mainnet

:display-partial{ path="_partials/_mainnet-network-details" }

### Testnet

:display-partial{ path="_partials/_testnet-network-details" }

## API Collections

Explore our curated collections of API endpoints tailored for every need, from seamless Ethereum integrations to advanced debugging tools.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Instead, this responsibility transitions to the shared bridge.
This document describes technical details of ZK Stack contracts that make it possible for multiple L2/L3 chains to share liquidity,
and provide cost-effective communication among them.
Before delving into the details of ecosystem contracts, please familiarize yourself with the concept of
[ZK Chain](/build/developer-reference/protocol) and read
[ZK Chain](/zksync-protocol/rollup) and read
the [L1 smart contracts page](/zksync-protocol/contracts/l1-contracts) for a better understanding of single instance ZK Chain.

### State transition manager (STM)
Expand Down
4 changes: 2 additions & 2 deletions content/20.zksync-protocol/20.contracts/20.bootloader.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ We process the L2 transactions according to our account abstraction protocol:
1. We
[deduct](https://github.com/code-423n4/2024-03-zksync/blob/7e85e0a997fee7a6d75cadd03d3233830512c2d2/code/system-contracts/bootloader/bootloader.yul#L1163)
the transaction’s upfront payment for the overhead for the block’s processing.
You can read more on how that works in the [fee model description](/build/developer-reference/fee-model).
You can read more on how that works in the [fee model description](/zksync-protocol/rollup/fee-model).
2. Then we calculate the gasPrice for these transactions according to the EIP1559 rules.
3. We
[conduct the validation step](https://github.com/code-423n4/2024-03-zksync/blob/7e85e0a997fee7a6d75cadd03d3233830512c2d2/code/system-contracts/bootloader/bootloader.yul#L1278)
Expand Down Expand Up @@ -307,7 +307,7 @@ We process the L2 transactions according to our account abstraction protocol:
- The bootloader asks the operator to provide a refund.
During the first VM run without proofs the provide directly inserts the refunds in the memory of the bootloader.
During the run for the proved batches, the operator already knows what which values have to be inserted there.
You can read more about it in [Fee model](/build/developer-reference/fee-model)
You can read more about it in [Fee model](/zksync-protocol/rollup/fee-model)
- The bootloader refunds the user.

6. We notify the operator about the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,4 @@ The logic for working with them is the same as for the default L2 deployments. T
only difference is that since the user has already published the full preimage for
the bytecodes on L1, there is no need to publish these bytecodes again on L1.

To learn more about L1-L2 communication on ZKsync Era, visit [this section of the docs](/build/developer-reference/l1-l2-interoperability).
To learn more about L1-L2 communication on ZKsync Era, visit [this section of the docs](/zksync-protocol/rollup/l1_l2_communication).

0 comments on commit 2e67ab5

Please sign in to comment.