From 7f6f143d0b7af385cc223a5fa831aab87b6060f7 Mon Sep 17 00:00:00 2001 From: Matt Murray Date: Mon, 6 Jan 2025 11:53:16 -0500 Subject: [PATCH 1/2] separate v1 & v2 dispersal --- .../dispersal/{ => v1}/clients/_category_.json | 0 .../dispersal/{ => v1}/clients/eigenda-proxy.md | 0 .../dispersal/{ => v1}/clients/golang-client.md | 0 .../dispersal/v2/golang-client.md | 13 +++++++++++++ .../rollup-guides/op-stack/README.md | 4 ++-- .../rollup-guides/orbit/deployment.md | 2 +- .../rollup-guides/orbit/overview.md | 2 +- docusaurus.config.js | 4 ++-- 8 files changed, 19 insertions(+), 6 deletions(-) rename docs/integrations-guides/dispersal/{ => v1}/clients/_category_.json (100%) rename docs/integrations-guides/dispersal/{ => v1}/clients/eigenda-proxy.md (100%) rename docs/integrations-guides/dispersal/{ => v1}/clients/golang-client.md (100%) create mode 100644 docs/integrations-guides/dispersal/v2/golang-client.md diff --git a/docs/integrations-guides/dispersal/clients/_category_.json b/docs/integrations-guides/dispersal/v1/clients/_category_.json similarity index 100% rename from docs/integrations-guides/dispersal/clients/_category_.json rename to docs/integrations-guides/dispersal/v1/clients/_category_.json diff --git a/docs/integrations-guides/dispersal/clients/eigenda-proxy.md b/docs/integrations-guides/dispersal/v1/clients/eigenda-proxy.md similarity index 100% rename from docs/integrations-guides/dispersal/clients/eigenda-proxy.md rename to docs/integrations-guides/dispersal/v1/clients/eigenda-proxy.md diff --git a/docs/integrations-guides/dispersal/clients/golang-client.md b/docs/integrations-guides/dispersal/v1/clients/golang-client.md similarity index 100% rename from docs/integrations-guides/dispersal/clients/golang-client.md rename to docs/integrations-guides/dispersal/v1/clients/golang-client.md diff --git a/docs/integrations-guides/dispersal/v2/golang-client.md b/docs/integrations-guides/dispersal/v2/golang-client.md new file mode 100644 index 0000000..148ba06 --- /dev/null +++ b/docs/integrations-guides/dispersal/v2/golang-client.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 1 +title: Golang Client +--- + +# EigenDA Payment and Blob Dispersal Guide +This guide walks through the process of setting up payments and dispersing blobs using EigenDA. + +## Setup +### Setting your account up +### Setting your disperser client + +## Dispersing data diff --git a/docs/integrations-guides/rollup-guides/op-stack/README.md b/docs/integrations-guides/rollup-guides/op-stack/README.md index 1abb811..5b092bd 100644 --- a/docs/integrations-guides/rollup-guides/op-stack/README.md +++ b/docs/integrations-guides/rollup-guides/op-stack/README.md @@ -10,7 +10,7 @@ deployed independently to power third-party rollups. By default, the OP Stack sequencer's [op-batcher](https://github.com/ethereum-optimism/optimism/tree/develop/op-batcher) writes batches to Ethereum in the form of calldata or 4844 blobs to commit to the transactions included in the canonical L2 chain. In Alt-DA mode, the op-batcher and op-nodes (validators) are configured to talk to a third-party HTTP proxy server for writing (op-batcher) and reading (op-node) tx batches to and from DA. Optimism's Alt-DA [spec](https://specs.optimism.io/experimental/alt-da.html) contains a more in-depth breakdown of how these systems interact. -To implement this server spec, EigenDA provides [EigenDA Proxy](../../dispersal/clients/eigenda-proxy.md) which is ran as a dependency alongside OP Stack sequencers and full nodes to securely communicate with the EigenDA disperser. +To implement this server spec, EigenDA provides [EigenDA Proxy](../../dispersal/v1/clients/eigenda-proxy.md) which is ran as a dependency alongside OP Stack sequencers and full nodes to securely communicate with the EigenDA disperser. ## Deploying @@ -81,7 +81,7 @@ When you are ready to onboard your rollup to mainnet you can fill out the follow ## Security Guarantees -This setup provides Stage 0 security guarantees without adding an unnecessary trust assumption on the EigenDA disperser. The EigenDA Proxy [docs page](../../dispersal/clients/eigenda-proxy.md) and [repo readme](https://github.com/Layr-Labs/eigenda-proxy/blob/main/README.md) explain how this is achieved. +This setup provides Stage 0 security guarantees without adding an unnecessary trust assumption on the EigenDA disperser. The EigenDA Proxy [docs page](../../dispersal/v1/clients/eigenda-proxy.md) and [repo readme](https://github.com/Layr-Labs/eigenda-proxy/blob/main/README.md) explain how this is achieved. ### OP Stack DA Challenge Contract diff --git a/docs/integrations-guides/rollup-guides/orbit/deployment.md b/docs/integrations-guides/rollup-guides/orbit/deployment.md index c2a64aa..662d246 100644 --- a/docs/integrations-guides/rollup-guides/orbit/deployment.md +++ b/docs/integrations-guides/rollup-guides/orbit/deployment.md @@ -12,7 +12,7 @@ Labs](https://www.offchainlabs.com/) to enable rollup developers to build ## EigenDA Proxy -Arbitrum nodes communicate with EigenDA via the proxy for secure communication and low code overhead. More information can be found [here](./../../dispersal/clients/eigenda-proxy.md). An instance of proxy **must** be spun-up to use this integration. In your node config, this will look like: +Arbitrum nodes communicate with EigenDA via the proxy for secure communication and low code overhead. More information can be found [here](../../dispersal/v1/clients/eigenda-proxy.md). An instance of proxy **must** be spun-up to use this integration. In your node config, this will look like: ``` "eigen-da": {"enable": true,"rpc": "http://eigenda_proxy:4242"} ``` diff --git a/docs/integrations-guides/rollup-guides/orbit/overview.md b/docs/integrations-guides/rollup-guides/orbit/overview.md index 6c5993d..8624d5e 100644 --- a/docs/integrations-guides/rollup-guides/orbit/overview.md +++ b/docs/integrations-guides/rollup-guides/orbit/overview.md @@ -34,7 +34,7 @@ For replicating EigenDA interactions in a local testing environment, we utilize ### EigenDA Proxy -[EigenDA Proxy](https://github.com/Layr-Labs/eigenda-proxy) is used for secure and optimized communication between the rollup and the EigenDA disperser. Arbitrum uses the [*Simple Commitment Mode*](https://github.com/Layr-Labs/eigenda-proxy?tab=readme-ov-file#simple-commitment-mode) for client/server interaction and representing DA certificates. Read more about EigenDA Proxy and its respective security features [here](./../../dispersal/clients/eigenda-proxy.md). +[EigenDA Proxy](https://github.com/Layr-Labs/eigenda-proxy) is used for secure and optimized communication between the rollup and the EigenDA disperser. Arbitrum uses the [*Simple Commitment Mode*](https://github.com/Layr-Labs/eigenda-proxy?tab=readme-ov-file#simple-commitment-mode) for client/server interaction and representing DA certificates. Read more about EigenDA Proxy and its respective security features [here](../../dispersal/v1/clients/eigenda-proxy.md). ### Posting batches to EigenDA diff --git a/docusaurus.config.js b/docusaurus.config.js index 4eaf6ff..67a7d47 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -182,11 +182,11 @@ const config = { }, { from: "/eigenda/integrations-guides/dispersal/disperser-golang-grpc-client", - to: "/integrations-guides/dispersal/clients/golang-client", + to: "/integrations-guides/dispersal/v1/clients/golang-client", }, { from: "/eigenda/integrations-guides/dispersal/clients/golang-client", - to: "/integrations-guides/dispersal/clients/golang-client", + to: "/integrations-guides/dispersal/v1/clients/golang-client", }, ], createRedirects(existingPath) { From 4c18922bdfc857f4d2e5b01df7504e28937ea687 Mon Sep 17 00:00:00 2001 From: Matt Murray <37455908+mmurrs@users.noreply.github.com> Date: Thu, 9 Jan 2025 18:28:01 -0500 Subject: [PATCH 2/2] clean up dispersing data --- .../dispersal/v2/golang-client.md | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/integrations-guides/dispersal/v2/golang-client.md b/docs/integrations-guides/dispersal/v2/golang-client.md index 148ba06..fa7463d 100644 --- a/docs/integrations-guides/dispersal/v2/golang-client.md +++ b/docs/integrations-guides/dispersal/v2/golang-client.md @@ -8,6 +8,35 @@ This guide walks through the process of setting up payments and dispersing blobs ## Setup ### Setting your account up +To disperse to the network you will need a balance to pull from. If you would like to learn more about EigenDA's Payment Module, check the reference *here*. + +To start make sure you eth on holesky testnet, we'll deposit into the payment vault and then any other DA requests charges will be pulled from here. + +To start we will deposit into the payment vault using `Foundry's` `cast`. If you have not installed foundry, follow their commands [here](https://book.getfoundry.sh/getting-started/installation). + +This will deposit 1 ETH into the Payment Vault on Holesky. + +```bash +cast send --rpc-url \ + --private-key \ + 0x3660d586f792320a1364637715ca7e9439daa2c7 \ + "depositOnDemand(address)" \ + \ + --value 100000000000000000 +``` +Now that we have the account setup for on-demand payments, let's disperse a blob. + ### Setting your disperser client +After depositing to the payment vault we'll set up the Disperser Client then send requests to the disperse + +Let's start by setting up a project directory +``` +mkdir v2disperse +cd v2disperse +``` +Setup your environment by setting your private key in a `.env` file with the `EIGENDA_AUTH_PK` value set to your private key for the account dispersing data. + +#### Dispersing data + +***insert script*** -## Dispersing data