# Proto-Danksharding (EIP-4844) Devnet **v2** User Guide
[toc]
## What's Changed?
Please read through this document carefully as there have been some changes since the first Devnet. Here's a summary:
- The geth and beacon clients have been updated
- New geth and beacon genesis
- Some beacon chain and execution networking parameters have changed
- New geth/prysm bootstrap node addresses
- Blob-utils has been updated to support Devnet v2
## Peering
To join the network, you'll need to build and install the following geth and prysm forks:
* geth - https://github.com/mdehoog/go-ethereum/tree/eip-4844-devnet-2
* prysm - https://github.com/Inphi/prysm/tree/eip-4844-devnet-2
Both geth and prysm contain preset configuration for the Proto-Danksharding network. Similar to the way geth/prysm can be configured for testnets using `--goerli` or `--ropsten`, you can configure both using `--eip4844`.
```
echo '[Node.P2P]
StaticNodes = ["enode://fdefa8b36717bd246ce338e952a3b949e608158d06c74c8b9e207439f70bfc63da27b7a4c4161a14722f7d4a256fda9c93a6dd5c26624b6a523dca2cd852ad97@34.121.33.53:30303","enode://13f2c3f2811231c384cbea2690e769321a4804a2eafb2e4c656f76c7e52624fffcfbc2a52a0a932b4dde0b321f29fb9229777126a91db9b10b26dfa2d93ce32b@34.122.190.151:30303","enode://71475ca7e915bfbe9958688fa3d5af127a0353ead52a2fff1216d374a5b8dd6a67ced237a9b52b1b9cb1a90160ce2019eaacfacbf750ecbeba8e0f439b7f930b@34.173.8.43:30303",]' > /tmp/geth_static_nodes.toml
geth\
--eip4844\
--config /tmp/geth_static_nodes.toml\
--http\
--http.port=8545\
--http.api "engine,eth"\
--authrpc.port 8551
curl 'https://raw.githubusercontent.com/Inphi/eip4844-testnet/devnet-2/genesis.ssz' > ./genesis.ssz
beacon-chain\
--eip4844\
--genesis-state ./genesis.ssz\
--subscribe-all-subnets\
--min-sync-peers=1\
--verbosity=debug\
--http-web3provider=$GETH_RPC_URL\
--peer=enr:-MK4QFURnlP5nu_JHdrj6XVYPo4an3tLVD3Ii_hLpFxAvdaVVLOOHPzmAYQQ4lk1U2fwb4oQIh-lYL3UbpTGYr-yJjKGAYO2dGzih2F0dG5ldHOIAAAAAAAAAACEZXRoMpCcZxEogwAP_f__________gmlkgnY0gmlwhCJ5ITWJc2VjcDI1NmsxoQIlwaxycUgJ_Ht4lYdDlInbIuRxu0HcHcFbu0D7As2SLYhzeW5jbmV0cwCDdGNwgjLIg3VkcIIu4A \
--peer=enr:-MK4QCC-n6C8hHOsUacSgYR7E2UknE_Slz5Tt8h0FiSKxiXDBrki2iwIALq9FIPreXp2GgFJqFM4Bd-1oMlrHgOPKY2GAYO2dG08h2F0dG5ldHOIAAAACAAAAACEZXRoMpCcZxEogwAP_f__________gmlkgnY0gmlwhCJ6vpeJc2VjcDI1NmsxoQNJzjxNKr7-a-iEDs0KvaL_vo1UH91kefEiWzgAdwSntYhzeW5jbmV0cw-DdGNwgjLIg3VkcIIu4A
```
The genesis files are available [here](https://github.com/Inphi/eip4844-testnet/tree/devnet-2).
Alternatively, you can easily get started using this handy docker-compose [setup](https://github.com/mdehoog/eip4844-testnet).
## Getting Devnet-2 ETH
You can request devnet ETH on the deployed Multifaucet: https://eip4844-faucet.vercel.app/
## Uploading Blobs
Blobs can be uploaded by sending blob transactions to geth. [blob-utils](https://github.com/Inphi/blob-utils) is a handy script that makes it easy to send blob transactions:
```
blob-utils tx\
-rpc-url <your_geth_rpc_url>\
-blob-file <blob_file>\
-to <to_address>\
-value <value>\
-private-key <account_private_key>
```
## Downloading Blobs
Blobs can be retrieved from the beacon chain network. [blob-utils](https://github.com/Inphi/blob-utils) lets you do this easily:
```
blob-utils download\
--beacon-p2p-addr <beacon_node_p2p_address>\
--slot <beacon block slot>
```
## Public Endpoints
If you don't have a node handy, feel free to use the following addresses to access the devnet.
Execution RPC: https://eip-4844-alpha.optimism.io
Beacon nodes:
- `/ip4/34.121.33.53/tcp/13000/p2p/16Uiu2HAkwy4MJBLsCvmuPwrfVX9GqNiGeppshnsbn2BgKskCtRDE`
- `/ip4/34.122.190.151/tcp/13000/p2p/16Uiu2HAmHd6WSHUEB7SrxdDR8dPVLTJqkzgPGbriej15udyQZugY`
- `/ip4/34.123.117.254/tcp/13000/p2p/16Uiu2HAmSLVoxaR1ztHqBjezWFSvFa3HeTWPZNswfS4aMWob59L6`
## Troubleshooting/assistance
If you have issues running the devnet, please reach out in the `#sharded-data` channel of the [Eth R&D discord](https://discord.gg/wNT8ghMbkw).
## Known Issues
- BeaconBlock merkleization is incorrect iff it contains a non-zero amount of KZG commitments. This bug doesn't affect normal user interaction with the devnet. But alternative clients may find it difficult to sync with the devnet.