Skip to content

Commit cea8ff2

Browse files
committed
chore: clean readme
1 parent 8f8f01a commit cea8ff2

File tree

1 file changed

+90
-12
lines changed

1 file changed

+90
-12
lines changed

store/precomputed_key/wvm/README.md

Lines changed: 90 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,72 @@ See env file for holesky network
2626
# WVM_PRIV_KEY=
2727
```
2828

29-
## About WeaveVM-EigenDA Side Server Proxy
30-
WeaveVM-EigenDA Sidecar Proxy is a fork of EigenDA's sidecar proxy modified to use [WeaveVM](https://wvm.dev) as a permanent archive layer for EigenDA blobs dispersed from this customized proxy server.
29+
30+
# Examples and how to
31+
32+
## How to boot EigenDA proxy with wvm as a secondary backend
33+
34+
Without signer:
35+
```log
36+
./bin/eigenda-proxy \
37+
--addr 127.0.0.1 \
38+
--port 3100 \
39+
--eigenda.disperser-rpc disperser-holesky.eigenda.xyz:443 \
40+
--eigenda.signer-private-key-hex $PRIVATE_KEY \
41+
--eigenda.eth-rpc https://ethereum-holesky-rpc.publicnode.com \
42+
--eigenda.svc-manager-addr 0xD4A7E1Bd8015057293f0D0A557088c286942e84b \
43+
--wvm.endpoint https://testnet-rpc.wvm.dev/ \
44+
--wvm.chain_id 9496 \
45+
--storage.fallback-targets wvm \
46+
--storage.concurrent-write-routines 2
47+
```
48+
49+
you should also set WVM_PRIV_KEY env variable with the private key of your WVM account
50+
51+
### web3signer
52+
53+
#### WARNING
54+
Using a remote signer comes with risks, please read the following two warnings before proceeding:
55+
56+
Remote signing is complex and risky
57+
Remote signing is generally only desirable for enterprise users or users with unique security requirements.
58+
59+
Web3Signer is not maintained by WeaveVM team.
60+
The Web3Signer tool is maintained by Consensys, the same team that maintains Teku. The WeavVM team does not maintain Web3Signer or make any guarantees about its safety or effectiveness.
61+
62+
#### USAGE
63+
64+
to see the most simple test deploy of local web3signer:
65+
https://github.com/allnil/web3signer_test_deploy
66+
67+
also consult docs: https://docs.web3signer.consensys.io/
68+
69+
70+
Command to run eigendaproxy + wvm as a secondary storage & web3signer:
71+
```
72+
./bin/eigenda-proxy \
73+
--addr 127.0.0.1 \
74+
--port 3100 \
75+
--eigenda.disperser-rpc disperser-holesky.eigenda.xyz:443 \
76+
--eigenda.signer-private-key-hex $PRIVATE_KEY \
77+
--eigenda.eth-rpc https://ethereum-holesky-rpc.publicnode.com \
78+
--eigenda.svc-manager-addr 0xD4A7E1Bd8015057293f0D0A557088c286942e84b \
79+
--wvm.endpoint https://testnet-rpc.wvm.dev/ \
80+
--wvm.chain_id 9496 \
81+
--storage.fallback-targets wvm \
82+
--storage.concurrent-write-routines 2 \
83+
--wvm.web3signer_endpoint http://localhost:9000
84+
```
85+
86+
87+
## About WeaveVM
88+
89+
3190

3291
## How it works
3392
On each `PUT` request it stores the encoded eigenDA blob on WeaveVM as transaction type 2 calldata. WeaveVM chain(WVM) will also store it in Arweave protocol.
3493

35-
The stage of this integration is as PoC and an experimental feature. In this first v0 iteration the proxy internally stores mapping of eigenda blob as `batch_id:blob_index -> wvm_tx_hash`
94+
The stage of this integration is as PoC and an experimental feature. In this first v0 iteration the proxy internally stores mapping of eigenda blob as `key-> wvm_tx_hash`
3695

3796
You need to use your WVM account wchich holds tWVM test token.
3897
You may propagate private key to the EigenDA proxy via WVM_PRIV_KEY env variable or use web3signer.
@@ -42,23 +101,41 @@ You may see transactions from your address in weave vm explorer: https://explore
42101
Block archive proof is a hash of associated arweave transaction.
43102
You may use WeaveVM's `wvm://` data retrieval gateway to retrieve the data associated with a WeaveVM transaction (calldata) natively from WeaveVM's self-DA layer and Arweave's permanent WeaveVM-ExEx data protocol. [Check out the `wvm-data-retriever` codebase here](https://github.com/weavevM/wvm-data-retriever)
44103

45-
## WeaveVM Proxy Methods
46-
47-
### 1- Get WeaveVM tx hash of a dispersed blob
104+
### Commands and example of usage:
48105

106+
#### 1) Put
49107
```bash
50-
curl -X GET "https://eigenda-proxy-1047776281941.us-central1.run.app/get/0x$COMMITMENT?commitment_mode=simple" \
51-
-H "Content-Type: application/octet-stream"
108+
curl -X POST "http://127.0.0.1:3100/put?commitment_mode=simple" \
109+
--data-binary "some data that will successfully be written to EigenDA" \
110+
-H "Content-Type: application/octet-stream" \
111+
--output response.bin
52112
```
53113

54-
### 2- Get a dispersed blob from WeaveVM
114+
#### 2) Get
55115

56116
```bash
57-
curl -X GET "https://eigenda-proxy-1047776281941.us-central1.run.app/wvm/get/0x$COMMITMENT?commitment_mode=simple" \
58-
-H "Content-Type: application/octet-stream"
117+
COMMITMENT=$(xxd -p response.bin | tr -d '\n' | tr -d ' ')
118+
curl -X GET "http:/127.0.0.1:3100/get/0x$COMMITMENT?commitment_mode=simple" \
119+
-H "Content-Type: application/octet-stream"
120+
```
121+
122+
### example workflow log
123+
124+
```log
125+
➜ ✗ curl -X POST "http://127.0.0.1:3100/put?commitment_mode=simple" \
126+
--data-binary "some data that will successfully be written to EigenDA" \
127+
-H "Content-Type: application/octet-stream" \
128+
--output response.bin
129+
130+
131+
➜ ✗ COMMITMENT=$(xxd -p response.bin | tr -d '\n' | tr -d ' ')
132+
133+
➜ ✗ curl -X GET "http:/127.0.0.1:3100/get/0x$COMMITMENT?commitment_mode=simple" \
134+
-H "Content-Type: application/octet-stream"
135+
some data that will successfully be written to EigenDA%
59136
```
60137

61-
REWORK!:
138+
62139
## Data pipelines
63140

64141
### PUT blob workflow
@@ -68,6 +145,7 @@ REWORK!:
68145
![](./media/get-workflow.png)
69146

70147
## Full test workflow example
148+
71149
- `wvm-eigenda-proxy` WeaveVM archiver address: [0xF8a5a479f04d1565b925A67D088b8fC3f8f0b7eF](https://explorer.wvm.dev/address/0xF8a5a479f04d1565b925A67D088b8fC3f8f0b7eF)
72150
- Archive pool address: [0x606dc1BE30A5966FcF3C10D907d1B76A7B1Bbbd9](https://explorer.wvm.dev/address/0x606dc1BE30A5966FcF3C10D907d1B76A7B1Bbbd9)
73151
- EigenDA network: Holesky

0 commit comments

Comments
 (0)