Skip to content

Commit

Permalink
docs: apply feedback to add more context
Browse files Browse the repository at this point in the history
  • Loading branch information
sarahschwartz committed Aug 8, 2024
1 parent e21c41f commit 3bb9d79
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion content/tutorials/custom-zk-chain/10.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ reinstall the normal version of [foundry](https://book.getfoundry.sh/getting-sta

## Setting up the Elastic Chain ecosystem

An Elastic Chain ecosystem is, in short, a system to manage multiple ZK chains.
The vision for the Elastic Chain is an ever-expanding network of ZK rollups, secured by math and natively interoperable under a uniform, intuitive UX.
New chains can be registered to the ecosystem to scale applications and communities as needed, making it "elastic".

There are two components needed for running a ZK chain locally:

1. An Elastic Chain ecosystem to manage different chains
Expand All @@ -39,6 +43,10 @@ cargo install --git https://github.com/matter-labs/zksync-era/ \
--locked zk_inception --force
```

::callout{icon="i-heroicons-light-bulb"}
You can find a full reference for the `zk_inception` CLI in the [`zksync-era` repo](https://github.com/matter-labs/zksync-era/tree/main/zk_toolbox/crates/zk_inception).
::

Once you have that installed, the first step is to create a new ecosystem with the `ecosystem create` command.
Move to a directory where you want your ecosystem folder to be, and run the command below to generate an ecosystem folder.

Expand Down Expand Up @@ -95,12 +103,20 @@ By running this command and selecting these options, you just:
- Created a new ecosystem called `my_elastic_chain`, which can contain many chains.
- Cloned the `zksync-era` repository inside the `my_elastic_chain` folder.
- Chose to use a local network to act as the L1.
This means we'll have to run a local reth node as well (don't worry, the CLI will automatically set this up and run it for you!).
This means we'll have to run a local reth node as well (don't worry, the CLI will automatically set this up and run it for you!).
We need to do this because our ecosystem contracts need to get deployed on an L1, so we can either use a local L1 chain or the Sepolia testnet.
For development purposes, it's easier to use a local L1 chain.
- Created a new chain called `zk_chain_1` and set it as your default chain.
- Set the chain id to `271`.
- Chose the default wallet configuration.
This option will use known mnemonic phrases to generate the `wallets.yaml` configuration files for the ecosystem and chain.
You can also choose `random` to randomly generate the wallets,
`empty` to generate a config file with empty values for the wallets,
or `in-file` to set the location of the config to an existing file.
- Selected to not use proofs, which makes testing more lightweight.
- Chose a standard rollup for the data availability.
You can read more about data availability options for ZK chains in the
[ZK chains](https://docs.zksync.io/zk-stack/concepts/zk-chains#data-availability-da) docs.
- Selected ETH to use as the base token.
- Started the containers for the ecosystem in Docker.

Expand Down

0 comments on commit 3bb9d79

Please sign in to comment.