Skip to content

Commit

Permalink
Update zhouCode.md
Browse files Browse the repository at this point in the history
  • Loading branch information
zhouCode authored Feb 14, 2025
1 parent 8d8b5f9 commit c80ea4d
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions zhouCode.md
Original file line number Diff line number Diff line change
Expand Up @@ -635,4 +635,50 @@ func build(env Environment, pool txpool.Pool, state state.StateDB) (types.Block,
- **数据目录与网络配置**:指定数据存储路径及网络参数(如`--datadir``--network`
- **同步模式**:解释全同步(Full Sync)与快照同步(Snap Sync)的区别
- **JWT认证**:配置执行层与共识层通信的JWT密钥

### 2025.02.14

开始实践

#### 尝试建立私链

[ethpandaops/ethereum-package:一个 Kurtosis 包,用于部署私有、可移植和模块化的以太坊开发网 --- ethpandaops/ethereum-package: A Kurtosis package that deploys a private, portable, and modular Ethereum devnet](https://github.com/ethpandaops/ethereum-package)

#### Quickstart 快速入门

1. [Install Docker & start the Docker Daemon if you haven't done so already](https://docs.docker.com/get-docker/)

2. [Install the Kurtosis CLI, or upgrade it to the latest version if it's already installed](https://docs.kurtosis.com/install)

3. Run the package with default configurations from the command line:

```
kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package
```

#### Run with your own configuration

Kurtosis packages are parameterizable, meaning you can customize your network and its behavior to suit your needs by storing parameters in a file that you can pass in at runtime like so:

```
kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package --args-file network_params.yaml
```

Where `network_params.yaml` contains the parameters for your network in your home directory.

#### Run on Kubernetes

Kurtosis packages work the same way over Docker or on Kubernetes. Please visit our [Kubernetes docs](https://docs.kurtosis.com/k8s) to learn how to spin up a private testnet on a Kubernetes cluster.

#### Considerations for Running on a Public Testnet with a Cloud Provider

When running on a public testnet using a cloud provider's Kubernetes cluster, there are a few important factors to consider:

1. State Growth: The growth of the state might be faster than anticipated. This could potentially lead to issues if the default parameters become insufficient over time. It's important to monitor state growth and adjust parameters as necessary.
2. Persistent Storage Speed: Most cloud providers provision their Kubernetes clusters with relatively slow persistent storage by default. This can cause performance issues, particularly with Execution Layer (EL) clients.
3. Network Syncing: The disk speed provided by cloud providers may not be sufficient to sync with networks that have high demands, such as the mainnet. This could lead to syncing issues and delays.

To mitigate these issues, you can use the `el_volume_size` and `cl_volume_size` flags to override the default settings locally. This allows you to allocate more storage to the EL and CL clients, which can help accommodate faster state growth and improve syncing performance. However, keep in mind that increasing the volume size may also increase your cloud provider costs. Always monitor your usage and adjust as necessary to balance performance and cost.

For optimal performance, we recommend using a cloud provider that allows you to provision Kubernetes clusters with fast persistent storage or self hosting your own Kubernetes cluster with fast persistent storage.
<!-- Content_END -->

0 comments on commit c80ea4d

Please sign in to comment.