# OP Devnet Review Devnet based on [OP-Kurtosis](https://github.com/ethpandaops/optimism-package) - They have a [costs calculator](https://docs.google.com/spreadsheets/d/1V3CWpeUzXv5Iopw8lBSS8tWoSzyR4PDDwV9cu2kKOrs/edit?gid=186414307#gid=186414307) ## Ease of Setup + Docs/Tools - Client diversity with 5 execution clients: - [OP-geth](https://github.com/ethereum-optimism/op-geth) - [OP-reth](https://reth.rs/run/optimism.html) - [OP-erigon](https://github.com/testinprod-io/op-erigon) - [OP-nethermind](https://hub.docker.com/layers/nethermindeth/nethermind/op-c482d56/images/sha256-2d643aba64e8501961a850d3b8226b64715aa8894c9ebd5cb564869099086630?context=explore) - [OP-besu](https://github.com/optimism-java/op-besu) - 2 consensus clients: - [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node) - [hildr](https://github.com/optimism-java/hildr) - Kurtosis setup comes built-in with all of the above + Blockscout. Everything can be spun up with a single command. ## Performance (TPS) + Reliability Under Load #### EOA Transfers: - 50,000 Transactions - 665.6 TPS ![image](https://hackmd.io/_uploads/BJ0ZkkJpR.png) ![image](https://hackmd.io/_uploads/HyOz111pA.png) #### 50,000 NFT Mints - 50,000 Mint transactions - Blocks start behaving weirdly, and waiting for all the transcations to be included in the blocks takes a long time - 144.6 TPS -> Probably due to some blocks not involving any of these transactions ![image](https://hackmd.io/_uploads/H17LGbJpC.png) ![image](https://hackmd.io/_uploads/BJcbfZJTR.png) #### 25,000 NFT Mints - 25,000 Mint transactions - Blocks are behaving normally - 241.0 TPS ![image](https://hackmd.io/_uploads/HJcBmbyTC.png) ![image](https://hackmd.io/_uploads/rkuIX-J6A.png) #### Uniswapv3 - 10,000 Token swap transactions - 141.5 TPS ![image](https://hackmd.io/_uploads/HJwcvbJpR.png) ![image](https://hackmd.io/_uploads/S1IKDWkaA.png) ## Ethereum Standards Conformance From the [OP Docs](https://docs.optimism.io/chain/differences), and conducting loadtests, it seems like OP follows the Ethereum Standards very closely. ## Cost Similar to Ethereum, OP stack's system requirements are not demanding: - The deployment of OP Stack can be divided into 3 major components: - Deployment and funding of [L1 contracts](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#deploy-the-l1-contracts) ![image](https://hackmd.io/_uploads/HJh_wXW6A.png) - Infrastructure deployment of [OP-geth](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#start-op-geth) (EL) and [OP-node](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#start-op-node) (CL) - Considering OP-geth is similar to Geth, the [system requirements](https://geth.ethereum.org/docs/getting-started/hardware-requirements) for Geth was referenced. A Quad-Core CPU with 32GB Memory seems to be sufficient. ![image](https://hackmd.io/_uploads/S1YoyS-TR.png) - Similarly, OP-node is analogous to one of Ethereum's CL clients - [Lighthouse](https://lighthouse-book.sigmaprime.io/installation.html) system requirements were referenced. Although OP-node [mentions](https://docs.optimism.io/builders/node-operators/tutorials/mainnet#hardware-requirements) 16GB RAM, Lighthouse mentions that 16GB is becoming limiting, and recommends 32GB RAM. Similarly, a Quad-Core CPU with 32GB Memory seems to be sufficient. ![image](https://hackmd.io/_uploads/S1YoyS-TR.png) - Other infrastructure deployments like [OP-batcher](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#start-op-batcher) and [OP-proposer](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#start-op-proposer) and [RPC nodes](https://docs.optimism.io/builders/node-operators/tutorials/mainnet) - The OP-batcher and OP-proposer services seem to require minimal hardware to run. These already come in docker images and could be included in the above VMs if one were to try saving costs.