Getting Devnet-3 ETH You can request devnet ETH from the deployed Multifaucet: https://eip4844-faucet.vercel.app/ Uploading Blobs Blobs can be uploaded by sending blob transactions to geth. 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>\
12/24/2022Prysm setup Clone the eip4844 branch in the Prysm repo and build the binaries $ git clone https://github.com/prysmaticlabs/prysm.git $ cd prysm $ git checkout eip4844 $ bazel build //cmd/prysmctl $ bazel build //cmd/beacon-chain $ bazel build //cmd/validator $ cd ../
12/19/2022We need to tweak the way optimistic sync works. Right now, a VALID block means all of its ancestors will also become VALID blocks. This breaks with EIP-4844 when blob sidecars are introduced as an optimistcally imported block lacking its sidecar will be incorrectly promoted to VALID. This makes It then becomes easy for an attacker to trick peers into treating actual invalid blocks with missing data as valid. To fix this all we have to do is change the block used as a basis for the block status transition. When a block transitions from NOT_VALIDATED to VALID, identify the latest ancestor whereby all of its own ancestors satisfy data availability: (using the same type definitions in the optimistic sync spec) def latest_valid_candidate_block(opt_store: OptimisticStore, block: BeaconBlock) -> BeaconBlock: # Assuming the input `block` is VALID chain = [] while True:
6/30/2022