From 1fa6070ec8e5564b893dfbb1cf2ac03dc17dc423 Mon Sep 17 00:00:00 2001 From: jgresham Date: Wed, 31 Jul 2024 11:40:07 -0700 Subject: [PATCH 1/8] feat: public nodes default rpc for op-stack --- .../controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json | 1 + src/app/api/controller/NodeSpecs/base/base-v1.0.0.json | 1 + .../controller/NodeSpecs/ethereum/ethereum-v1.0.0.json | 1 + .../controller/NodeSpecs/farcaster/farcaster-v1.0.0.json | 1 + src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json | 8 ++++---- .../NodeSpecs/home-assistant/home-assistant-v1.0.0.json | 3 ++- src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json | 6 +++--- .../controller/NodeSpecs/minecraft/minecraft-v1.0.0.json | 3 ++- .../api/controller/NodeSpecs/op-node/op-node-v1.0.0.json | 8 ++++---- .../controller/NodeSpecs/optimism/optimism-v1.0.0.json | 1 + 10 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json b/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json index 323a082..21d93af 100644 --- a/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json @@ -3,6 +3,7 @@ "version": "1.0.1", "displayName": "Arbitrum One", "displayTagline": "Non-Validating Node", + "selectCardTagline": "Welcome to the future of Ethereum", "execution": { "executionTypes": ["nodePackage"], "defaultExecutionType": "nodePackage", diff --git a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json index a2622b2..30d343f 100644 --- a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json @@ -2,6 +2,7 @@ "specId": "base", "version": "1.0.1", "displayName": "Base", + "selectCardTagline": "A secure and low-cost Ethereum Layer 2 built on the OP stack", "execution": { "executionTypes": ["nodePackage"], "services": [ diff --git a/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json b/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json index fd8b918..59ccf67 100644 --- a/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json @@ -3,6 +3,7 @@ "version": "1.0.1", "displayName": "Ethereum", "displayTagline": "Non-Validating Node - Ethereum", + "selectCardTagline": "The world computer", "execution": { "executionTypes": ["nodePackage"], "defaultExecutionType": "nodePackage", diff --git a/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json b/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json index cb3cb6f..82c2282 100644 --- a/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json @@ -3,6 +3,7 @@ "version": "1.0.1", "displayName": "Farcaster", "displayTagline": "Sync the entire Farcaster network", + "selectCardTagline": "A protocol for decentralized social apps", "execution": { "executionTypes": ["nodePackage"], "defaultExecutionType": "nodePackage", diff --git a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json index 03cab79..faddcfb 100644 --- a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json @@ -1,15 +1,15 @@ { "specId": "hildr", - "version": "1.0.1", + "version": "1.1.0", "displayName": "Hildr", "execution": { "executionTypes": ["docker"], "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1": "", - "l1WebSocketUrl": "", - "l1BeaconUrl": "", + "l1": "https://ethereum-rpc.publicnode.com", + "l1WebSocketUrl": "wss://ethereum-rpc.publicnode.com", + "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", "l2RpcUrl": "http://host.containers.internal:8547", "l2EngineUrl": "http://host.containers.internal:8553", "httpPort": "8549", diff --git a/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json b/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json index dcb31e5..0fffaa5 100644 --- a/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json @@ -2,7 +2,8 @@ "specId": "home-assistant", "version": "1.0.1", "displayName": "Home Assistant", - "displayTagline": "Local Home Assistant server. [Note] NOT AFFLIATED with Home Assistant or NabuCasa!", + "displayTagline": "Local Home Assistant server", + "selectCardTagline": "Awaken your home", "execution": { "executionTypes": ["nodePackage"], "defaultExecutionType": "nodePackage", diff --git a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json index eaa05f2..ed1ca51 100644 --- a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "magi", - "version": "1.0.1", + "version": "1.1.0", "displayName": "Magi", "displayTagLine": "An OP Stack rollup client written in Rust", "execution": { @@ -8,8 +8,8 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1RpcUrl": "", - "l1BeaconUrl": "", + "l1RpcUrl": "https://ethereum-rpc.publicnode.com", + "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", "l2RpcUrl": "http://host.containers.internal:8547", "l2EngineUrl": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", diff --git a/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json b/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json index 5c010e8..dc37217 100644 --- a/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json @@ -2,7 +2,8 @@ "specId": "minecraft", "version": "1.0.1", "displayName": "Minecraft Server", - "displayTagline": "Local Minecraft server at 'localhost'. [Note] NOT AFFLIATED with Mojang or Microsoft!", + "displayTagline": "Local Minecraft server at 'localhost'", + "selectCardTagline": "The world is yours for the making", "execution": { "executionTypes": ["nodePackage"], "defaultExecutionType": "nodePackage", diff --git a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json index 91ed8c4..3005ee6 100644 --- a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json @@ -1,14 +1,14 @@ { "specId": "op-node", - "version": "1.0.3", + "version": "1.1.0", "displayName": "OP Node", "execution": { "executionTypes": ["docker"], "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1": "", - "l1Beacon": "", + "l1": "https://ethereum-rpc.publicnode.com", + "l1Beacon": "https://ethereum-beacon-api.publicnode.com", "l2": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", "httpPort": "8549", @@ -21,7 +21,7 @@ } }, "imageName": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node", - "defaultImageTag": "v1.7.7" + "defaultImageTag": "v1.8.0" }, "category": "L2/ConsensusClient", "rpcTranslation": "eth-l2-consensus", diff --git a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json index 8a37333..7836e21 100644 --- a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json @@ -3,6 +3,7 @@ "version": "1.0.1", "displayName": "Optimism", "displayTagline": "Ethereum L2 - Optimism", + "selectCardTagline": "Ethereum, scaled. Built by the OP Collective", "execution": { "executionTypes": ["nodePackage"], "services": [ From eb479d5e3cc5012340daf066894cb76a4c37958a Mon Sep 17 00:00:00 2001 From: jgresham Date: Thu, 1 Aug 2024 13:43:37 -0700 Subject: [PATCH 2/8] feat: allnodes public rpc default for all --- .../api/controller/NodeSpecs/base/base-v1.0.0.json | 6 +++--- .../NodeSpecs/farcaster/farcaster-v1.0.0.json | 4 ++-- .../api/controller/NodeSpecs/hildr/hildr-v1.0.0.json | 8 ++++---- .../controller/NodeSpecs/hubble/hubble-v1.0.0.json | 11 ++++------- .../api/controller/NodeSpecs/nitro/nitro-v1.0.0.json | 8 +++----- .../controller/NodeSpecs/op-node/op-node-v1.0.0.json | 11 ++++------- .../NodeSpecs/optimism/optimism-v1.0.0.json | 4 ++-- 7 files changed, 22 insertions(+), 30 deletions(-) diff --git a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json index 30d343f..78765d3 100644 --- a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "base", - "version": "1.0.1", + "version": "1.1.0", "displayName": "Base", "selectCardTagline": "A secure and low-cost Ethereum Layer 2 built on the OP stack", "execution": { @@ -33,13 +33,13 @@ "systemRequirements": { "documentationUrl": "https://geth.ethereum.org/docs/interface/hardware", "cpu": { - "cores": 4 + "cores": 8 }, "memory": { "minSizeGBs": 16 }, "storage": { - "minSizeGBs": 200, + "minSizeGBs": 2000, "ssdRequired": true }, "internet": { diff --git a/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json b/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json index 82c2282..e727c5e 100644 --- a/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/farcaster/farcaster-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "farcaster", - "version": "1.0.1", + "version": "1.1.0", "displayName": "Farcaster", "displayTagline": "Sync the entire Farcaster network", "selectCardTagline": "A protocol for decentralized social apps", @@ -38,7 +38,7 @@ "minSizeGBs": 8 }, "storage": { - "minSizeGBs": 20, + "minSizeGBs": 200, "ssdRequired": true }, "docker": { diff --git a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json index faddcfb..7c85c99 100644 --- a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "hildr", - "version": "1.1.0", + "version": "1.2.0", "displayName": "Hildr", "execution": { "executionTypes": ["docker"], @@ -107,7 +107,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "" + "defaultValue": "https://ethereum-rpc.publicnode.com" }, "l1WebSocketUrl": { "displayName": "Ethereum *Archival* WebSocket Endpoint", @@ -116,7 +116,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "" + "defaultValue": "wss://ethereum-rpc.publicnode.com" }, "l1BeaconUrl": { "displayName": "Ethereum Beacon RPC Endpoint", @@ -125,7 +125,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "" + "defaultValue": "https://ethereum-beacon-api.publicnode.com" }, "l2RpcUrl": { "displayName": "Optimism RPC Endpoint (local node or provider)", diff --git a/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json b/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json index c6193bb..419f833 100644 --- a/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "hubble", - "version": "1.0.1", + "version": "1.1.0", "displayName": "Hubble", "displayTagline": "A fast, simple implementation of a Farcaster Hub in Typescript + Rust", "execution": { @@ -35,18 +35,15 @@ "minSizeGBs": 8 }, "storage": { - "minSizeGBs": 20, + "minSizeGBs": 250, "ssdRequired": true - }, - "docker": { - "required": true } }, "configTranslation": { "ethMainnetRpcUrl": { "displayName": "Ethereum Mainnet RPC Endpoint", "cliConfigPrefix": "--eth-mainnet-rpc-url ", - "defaultValue": "", + "defaultValue": "https://ethereum-rpc.publicnode.com", "uiControl": { "type": "text" }, @@ -56,7 +53,7 @@ "optimismMainnetRpcUrl": { "displayName": "Optimism Mainnet RPC Endpoint", "cliConfigPrefix": "--l2-rpc-url ", - "defaultValue": "", + "defaultValue": "https://optimism-rpc.publicnode.com", "uiControl": { "type": "text" }, diff --git a/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json b/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json index 07ac2fc..4995989 100644 --- a/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "nitro", - "version": "1.1.0", + "version": "1.2.0", "displayName": "Arbitrum Nitro", "execution": { "executionTypes": ["docker"], @@ -9,8 +9,6 @@ "defaultImageTag": "v3.1.0-7d1d84c", "input": { "defaultConfig": { - "parentChainRpcUrl": "", - "parentChainBeaconRpcUrl": "", "initUrl": "https://snapshot.arbitrum.foundation/arb1/nitro-pruned.tar", "l2ChainId": "42161", "httpAddress": "0.0.0.0", @@ -53,7 +51,7 @@ "parentChainRpcUrl": { "displayName": "Ethereum Mainnet RPC Endpoint", "cliConfigPrefix": "--parent-chain.connection.url=", - "defaultValue": "", + "defaultValue": "https://ethereum-rpc.publicnode.com", "uiControl": { "type": "text" }, @@ -63,7 +61,7 @@ "parentChainBeaconRpcUrl": { "displayName": "Ethereum Mainnet Beacon RPC Endpoint", "cliConfigPrefix": "--parent-chain.blob-client.beacon-url=", - "defaultValue": "", + "defaultValue": "https://ethereum-beacon-api.publicnode.com", "uiControl": { "type": "text" }, diff --git a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json index 3005ee6..7236536 100644 --- a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json @@ -1,15 +1,12 @@ { "specId": "op-node", - "version": "1.1.0", + "version": "1.1.1", "displayName": "OP Node", "execution": { "executionTypes": ["docker"], "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1": "https://ethereum-rpc.publicnode.com", - "l1Beacon": "https://ethereum-beacon-api.publicnode.com", - "l2": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", "httpPort": "8549", "p2pPorts": "9222" @@ -34,7 +31,7 @@ "minSizeGBs": 8 }, "storage": { - "minSizeGBs": 30, + "minSizeGBs": 1000, "ssdRequired": true }, "internet": { @@ -96,7 +93,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "", + "defaultValue": "https://ethereum-rpc.publicnode.com", "infoDescription": "Provider or a local node http://host.containers.internal:8545" }, "l1Beacon": { @@ -106,7 +103,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "", + "defaultValue": "https://ethereum-beacon-api.publicnode.com", "infoDescription": "Provider with historical blob API enabled or a local node http://host.containers.internal:5052" }, "l2": { diff --git a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json index 7836e21..2776d89 100644 --- a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "optimism", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Optimism", "displayTagline": "Ethereum L2 - Optimism", "selectCardTagline": "Ethereum, scaled. Built by the OP Collective", @@ -40,7 +40,7 @@ "minSizeGBs": 16 }, "storage": { - "minSizeGBs": 200, + "minSizeGBs": 1500, "ssdRequired": true }, "internet": { From acefdea40e93dec68a0362573c4fc91de1681978 Mon Sep 17 00:00:00 2001 From: jgresham Date: Thu, 1 Aug 2024 14:19:50 -0700 Subject: [PATCH 3/8] correctly set magi and hildr rpcs --- src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json | 5 ----- src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json | 8 ++------ 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json index 7c85c99..a396739 100644 --- a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json @@ -7,11 +7,6 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1": "https://ethereum-rpc.publicnode.com", - "l1WebSocketUrl": "wss://ethereum-rpc.publicnode.com", - "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", - "l2RpcUrl": "http://host.containers.internal:8547", - "l2EngineUrl": "http://host.containers.internal:8553", "httpPort": "8549", "logLevel": "Debug" }, diff --git a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json index ed1ca51..8560edf 100644 --- a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json @@ -8,10 +8,6 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { - "l1RpcUrl": "https://ethereum-rpc.publicnode.com", - "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", - "l2RpcUrl": "http://host.containers.internal:8547", - "l2EngineUrl": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", "httpPort": "8549", "p2pPorts": "9222" @@ -138,7 +134,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "" + "defaultValue": "https://ethereum-rpc.publicnode.com" }, "l1BeaconUrl": { "displayName": "Ethereum Beacon RPC Endpoint", @@ -147,7 +143,7 @@ "type": "text" }, "addNodeFlow": "required", - "defaultValue": "", + "defaultValue": "https://ethereum-beacon-api.publicnode.com", "infoDescription": "Provider with historical blob API enabled or a local node http://host.containers.internal:5052" }, "l2RpcUrl": { From 8694629e5a27e8f3be5c6d2d8b39c747d5a20cb7 Mon Sep 17 00:00:00 2001 From: jgresham Date: Thu, 1 Aug 2024 14:27:22 -0700 Subject: [PATCH 4/8] bump versions that were missing --- src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json | 2 +- src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json | 2 +- .../NodeSpecs/home-assistant/home-assistant-v1.0.0.json | 2 +- .../api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json b/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json index 21d93af..c9b925e 100644 --- a/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/arbitrum/arbitrum-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "arbitrum", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Arbitrum One", "displayTagline": "Non-Validating Node", "selectCardTagline": "Welcome to the future of Ethereum", diff --git a/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json b/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json index 59ccf67..de8bdcf 100644 --- a/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/ethereum/ethereum-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "ethereum", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Ethereum", "displayTagline": "Non-Validating Node - Ethereum", "selectCardTagline": "The world computer", diff --git a/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json b/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json index 0fffaa5..af4b3a6 100644 --- a/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/home-assistant/home-assistant-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "home-assistant", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Home Assistant", "displayTagline": "Local Home Assistant server", "selectCardTagline": "Awaken your home", diff --git a/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json b/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json index dc37217..1bb534f 100644 --- a/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/minecraft/minecraft-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "minecraft", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Minecraft Server", "displayTagline": "Local Minecraft server at 'localhost'", "selectCardTagline": "The world is yours for the making", From f454665b318201bf04e6195a0661e70bbca2ee70 Mon Sep 17 00:00:00 2001 From: jgresham Date: Thu, 1 Aug 2024 14:31:53 -0700 Subject: [PATCH 5/8] update README for changing and deploying --- README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d258ce5..f74740e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # controller-api -This is currently deployed to api.nicenode.xyz. To test it, enter `https://api.nicenode.xyz/api/controllerLibrary`into a browser and see the results of a GET HTTP on /controllerLibrary. +This is currently deployed to api.nicenode.xyz. To test it, enter `https://api.nicenode.xyz/api/controllerLibrary`into a browser and see the results of a GET HTTP on `/controllerLibrary`. This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). @@ -10,15 +10,15 @@ First, run the development server: ```bash npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +Use `http://localhost:3000/api` as the local controller environment variable in NiceNode or for testing. Or open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +To properly update a controller: +1. Make the change +2. Always increment the version appropriately following semver standards. +3. Deploy to a staging api and test it +4. Then deploy to production You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. @@ -37,6 +37,8 @@ You can check out [the Next.js GitHub repository](https://github.com/vercel/next We, NiceNode, deploy with `vercel deploy` and to production, `vercel --prod deploy` +For testing, you can take the url from `vercel deploy` and set a local environment variable in NiceNode. + The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. From aa61c443adeda7c6fdd6f136212aa87327e33293 Mon Sep 17 00:00:00 2001 From: jgresham Date: Thu, 1 Aug 2024 15:06:51 -0700 Subject: [PATCH 6/8] add back defaultConfig rpcs --- src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json | 5 +++++ src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json | 2 ++ src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json | 4 ++++ src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json | 2 ++ src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json | 3 +++ 5 files changed, 16 insertions(+) diff --git a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json index a396739..7c85c99 100644 --- a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json @@ -7,6 +7,11 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { + "l1": "https://ethereum-rpc.publicnode.com", + "l1WebSocketUrl": "wss://ethereum-rpc.publicnode.com", + "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", + "l2RpcUrl": "http://host.containers.internal:8547", + "l2EngineUrl": "http://host.containers.internal:8553", "httpPort": "8549", "logLevel": "Debug" }, diff --git a/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json b/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json index 419f833..5adfd0e 100644 --- a/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hubble/hubble-v1.0.0.json @@ -8,6 +8,8 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { + "ethMainnetRpcUrl": "https://ethereum-rpc.publicnode.com", + "optimismMainnetRpcUrl": "https://optimism-rpc.publicnode.com", "p2pPorts": "2282", "httpPort": "2281", "gRpcPort": "2283", diff --git a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json index 8560edf..3bfa895 100644 --- a/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/magi/magi-v1.0.0.json @@ -8,6 +8,10 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { + "l1RpcUrl" : "https://ethereum-rpc.publicnode.com", + "l1BeaconUrl": "https://ethereum-beacon-api.publicnode.com", + "l2RpcUrl": "http://host.containers.internal:8547", + "l2EngineUrl": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", "httpPort": "8549", "p2pPorts": "9222" diff --git a/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json b/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json index 4995989..1985b68 100644 --- a/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/nitro/nitro-v1.0.0.json @@ -9,6 +9,8 @@ "defaultImageTag": "v3.1.0-7d1d84c", "input": { "defaultConfig": { + "parentChainRpcUrl": "https://ethereum-rpc.publicnode.com", + "parentChainBeaconRpcUrl": "https://ethereum-beacon-api.publicnode.com", "initUrl": "https://snapshot.arbitrum.foundation/arb1/nitro-pruned.tar", "l2ChainId": "42161", "httpAddress": "0.0.0.0", diff --git a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json index 7236536..fe69bb6 100644 --- a/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/op-node/op-node-v1.0.0.json @@ -7,6 +7,9 @@ "defaultExecutionType": "docker", "input": { "defaultConfig": { + "l1": "https://ethereum-rpc.publicnode.com", + "l1Beacon": "https://ethereum-beacon-api.publicnode.com", + "l2": "http://host.containers.internal:8553", "l1TrustRpc": "Enabled", "httpPort": "8549", "p2pPorts": "9222" From 8003ad797b8b11b9cd4db4040bf82bae8a84a9a7 Mon Sep 17 00:00:00 2001 From: jgresham Date: Sun, 4 Aug 2024 09:02:51 -0700 Subject: [PATCH 7/8] feat: op-reth for optimism and base --- .../NodeSpecs/base/base-v1.0.0.json | 2 +- .../api/controller/NodeSpecs/op-reth/notes.md | 1 + .../NodeSpecs/op-reth/op-reth-v1.0.0.json | 367 ++++++++++++++++++ .../NodeSpecs/optimism/optimism-v1.0.0.json | 4 +- src/app/api/controller/librarySpecs.ts | 62 +-- 5 files changed, 403 insertions(+), 33 deletions(-) create mode 100644 src/app/api/controller/NodeSpecs/op-reth/notes.md create mode 100644 src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json diff --git a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json index 78765d3..9d07437 100644 --- a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json @@ -9,7 +9,7 @@ { "serviceId": "executionClient", "name": "Execution Client", - "nodeOptions": ["op-geth", "nethermind"], + "nodeOptions": ["op-geth", "nethermind", "op-reth"], "required": true, "requiresCommonJwtSecret": true }, diff --git a/src/app/api/controller/NodeSpecs/op-reth/notes.md b/src/app/api/controller/NodeSpecs/op-reth/notes.md new file mode 100644 index 0000000..93faf45 --- /dev/null +++ b/src/app/api/controller/NodeSpecs/op-reth/notes.md @@ -0,0 +1 @@ +`--color never` is set to avoid reth from using non-readble charcters in the logs diff --git a/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json new file mode 100644 index 0000000..ce31d25 --- /dev/null +++ b/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json @@ -0,0 +1,367 @@ +{ + "specId": "op-reth", + "version": "1.0.0", + "displayName": "OP Reth", + "execution": { + "executionTypes": ["docker"], + "defaultExecutionType": "docker", + "execPath": "op-reth", + "input": { + "defaultConfig": { + "http": "Enabled", + "webSockets": "Enabled", + "httpCorsDomains": "http://localhost", + "syncMode": "full", + "httpAddress": "0.0.0.0", + "webSocketAddress": "0.0.0.0", + "webSocketAllowedOrigins": "http://localhost" + }, + "docker": { + "containerVolumePath": "/root/.local/share/reth/mainnet", + "raw": "", + "forcedRawNodeInput": "node --color never --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /root/.local/share/reth/mainnet/jwtsecret --ipcdisable" + } + }, + "imageName": "ghcr.io/paradigmxyz/op-reth", + "defaultImageTag": "latest" + }, + "category": "L1/ExecutionClient", + "minorityClient": true, + "rpcTranslation": "eth-l1", + "systemRequirements": { + "documentationUrl": "https://paradigmxyz.github.io/reth/installation/installation.html#hardware-requirements", + "cpu": { + "cores": 2 + }, + "memory": { + "minSizeGBs": 8 + }, + "storage": { + "minSizeGBs": 1000, + "ssdRequired": true + }, + "internet": { + "minDownloadSpeedMbps": 24, + "minUploadSpeedMbps": 10 + }, + "docker": { + "required": true + } + }, + "configTranslation": { + "chainId": { + "displayName": "Chain ID (Network)", + "cliConfigPrefix": "--chain ", + "hideFromUserAfterStart": true, + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "10", + "config": "optimism" + }, + { + "value": "11155420", + "config": "optimism-sepolia" + }, + { + "value": "8453", + "config": "base" + }, + { + "value": "84532", + "config": "base-sepolia" + } + ] + }, + "documentation": "https://docs.optimism.io/builders/node-operators/management/configuration#op-network-betaop-network" + }, + "rollupSequencerHttpEndpoint": { + "displayName": "HTTP endpoint for the sequencer mempool (Ex. for base: https://mainnet-sequencer.base.org)", + "cliConfigPrefix": "--rollup.sequencerhttp ", + "uiControl": { + "type": "text" + } + }, + "http": { + "displayName": "RPC HTTP connections", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Enabled", + "config": "--http" + }, + { + "value": "Disabled" + } + ] + }, + "defaultValue": "Enabled", + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "webSockets": { + "displayName": "RPC WebSocket connections", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Enabled", + "config": "--ws" + }, + { + "value": "Disabled" + } + ] + }, + "defaultValue": "Enabled", + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "webSocketAddress": { + "displayName": "WebSocket-RPC server listening interface", + "cliConfigPrefix": "--ws.addr ", + "defaultValue": "0.0.0.0", + "uiControl": { + "type": "text" + }, + "documentation": "https://geth.ethereum.org/docs/interacting-with-geth/rpc#websockets-server" + }, + "webSocketAllowedOrigins": { + "displayName": "WebSocket-RPC allowed origins", + "defaultValue": "http://localhost", + "cliConfigPrefix": "--ws.origins ", + "uiControl": { + "type": "text" + }, + "infoDescription": "Change where the node accepts web socket connections (use comma separated urls) or \"*\" for all" + }, + "webSocketApis": { + "displayName": "Enabled WebSocket APIs", + "cliConfigPrefix": "--ws.api ", + "defaultValue": ["eth", "net", "web3"], + "valuesJoinStr": ",", + "uiControl": { + "type": "select/multiple", + "controlTranslations": [ + { + "value": "eth", + "config": "eth" + }, + { + "value": "net", + "config": "net" + }, + { + "value": "web3", + "config": "web3" + }, + { + "value": "debug", + "config": "debug" + }, + + { + "value": "personal", + "config": "personal" + }, + { + "value": "admin", + "config": "admin" + }, + { + "value": "ots", + "config": "ots" + }, + { + "value": "rpc", + "config": "rpc" + }, + { + "value": "reth", + "config": "reth" + }, + { + "value": "trace", + "config": "trace" + }, + { + "value": "txpool", + "config": "txpool" + } + ] + } + }, + "httpApis": { + "displayName": "Enabled HTTP APIs", + "cliConfigPrefix": "--http.api ", + "defaultValue": ["eth", "net", "web3"], + "valuesJoinStr": ",", + "uiControl": { + "type": "select/multiple", + "controlTranslations": [ + { + "value": "eth", + "config": "eth" + }, + { + "value": "net", + "config": "net" + }, + { + "value": "web3", + "config": "web3" + }, + { + "value": "debug", + "config": "debug" + }, + + { + "value": "personal", + "config": "personal" + }, + { + "value": "admin", + "config": "admin" + }, + { + "value": "ots", + "config": "ots" + }, + { + "value": "rpc", + "config": "rpc" + }, + { + "value": "reth", + "config": "reth" + }, + { + "value": "trace", + "config": "trace" + }, + { + "value": "txpool", + "config": "txpool" + } + ] + } + }, + "httpCorsDomains": { + "displayName": "Change where the node accepts http connections (use comma separated urls)", + "cliConfigPrefix": "--http.corsdomain ", + "uiControl": { + "type": "text" + } + }, + "syncMode": { + "displayName": "Execution Client Sync Mode", + "category": "Syncronization", + "cliConfigPrefix": "", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "full", + "config": "--full", + "info": "~1TB" + }, + { + "value": "archive", + "config": "", + "info": "~2.2TB / 2d" + } + ] + }, + "addNodeFlow": "required", + "defaultValue": "full", + "hideFromUserAfterStart": true, + "documentation": "https://paradigmxyz.github.io/reth/run/pruning.html" + }, + "httpAddress": { + "displayName": "HTTP-RPC server listening interface", + "cliConfigPrefix": "--http.addr ", + "defaultValue": "0.0.0.0", + "uiControl": { + "type": "text" + }, + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "p2pPorts": { + "displayName": "P2P port (UDP and TCP)", + "cliConfigPrefix": "--discovery.port ", + "uiControl": { + "type": "text" + }, + "infoDescription": "Example value: 30303", + "defaultValue": "30303" + }, + "enginePort": { + "displayName": "Engine JSON-RPC listening port", + "cliConfigPrefix": "--authrpc.port ", + "defaultValue": "8553", + "uiControl": { + "type": "text" + }, + "infoDescription": "The listening port for the Engine API calls for JSON-RPC over HTTP and WebSocket." + }, + "httpPort": { + "displayName": "HTTP-RPC server listening port", + "cliConfigPrefix": "--http.port ", + "defaultValue": "8545", + "uiControl": { + "type": "text" + }, + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "webSocketsPort": { + "displayName": "WS-RPC server listening port", + "cliConfigPrefix": "--ws.port ", + "defaultValue": "8546", + "uiControl": { + "type": "text" + }, + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "maxOutboundPeerCount": { + "displayName": "Max outbound peer count (set to low number to use less bandwidth)", + "cliConfigPrefix": "--max-outbound-peers ", + "defaultValue": "100", + "uiControl": { + "type": "text" + }, + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + }, + "maxInboundPeerCount": { + "displayName": "Max inbound peer count (set to low number to use less bandwidth)", + "cliConfigPrefix": "--max-inbound-peers ", + "defaultValue": "30", + "uiControl": { + "type": "text" + }, + "documentation": "https://paradigmxyz.github.io/reth/cli/node.html" + } + }, + "documentation": { + "default": "https://paradigmxyz.github.io/reth", + "releaseNotesUrl": "https://github.com/paradigmxyz/reth/releases" + }, + "iconUrl" : "https://pub-9f2dc808c3d748eabde036c3d3465ee6.r2.dev/reth.png", + "resources": [ + { + "label": "Farcaster", + "value": "Reth Warpcast Channel", + "link": "https://warpcast.com/~/channel/reth" + }, + { + "label": "Telegram", + "value": "Join", + "link": "https://t.me/paradigm_reth" + }, + { + "label": "Website", + "value": "paradigmxyz.github.io/reth", + "link": "https://paradigmxyz.github.io/reth/" + } + ] +} diff --git a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json index 2776d89..8be20dc 100644 --- a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json @@ -1,7 +1,7 @@ { "specId": "optimism", "version": "1.0.2", - "displayName": "Optimism", + "displayName": "Optimismm", "displayTagline": "Ethereum L2 - Optimism", "selectCardTagline": "Ethereum, scaled. Built by the OP Collective", "execution": { @@ -10,7 +10,7 @@ { "serviceId": "executionClient", "name": "Execution Client", - "nodeOptions": ["op-geth", "nethermind"], + "nodeOptions": ["op-geth", "nethermind", "op-reth"], "required": true, "requiresCommonJwtSecret": true }, diff --git a/src/app/api/controller/librarySpecs.ts b/src/app/api/controller/librarySpecs.ts index b89c21c..d9ef525 100644 --- a/src/app/api/controller/librarySpecs.ts +++ b/src/app/api/controller/librarySpecs.ts @@ -26,6 +26,7 @@ import hildrv1 from './NodeSpecs/hildr/hildr-v1.0.0.json'; import magiv1 from './NodeSpecs/magi/magi-v1.0.0.json'; import opGethv1 from './NodeSpecs/op-geth/op-geth-v1.0.0.json'; import opNodev1 from './NodeSpecs/op-node/op-node-v1.0.0.json'; +import opRethv1 from './NodeSpecs/op-reth/op-reth-v1.0.0.json'; import hubblev1 from './NodeSpecs/hubble/hubble-v1.0.0.json'; @@ -35,34 +36,35 @@ import homeAssistantServicev1 from './NodeSpecs/home-assistant-service/home-assi import itzgMinecraftv1 from './NodeSpecs/itzg-minecraft/itzg-minecraft-v1.0.0.json'; export const specs = [ - besuv1, - nethermindv1, - erigonv1, - gethv1, - rethv1, - lodestarv1, - nimbusv1, - tekuv1, - lighthousev1, - prysmv1, - arbitrumv1, - nitrov1, - pathfinderv1, - opGethv1, - opNodev1, - hildrv1, - magiv1, - hubblev1, - itzgMinecraftv1, - homeAssistantServicev1, - ]; + besuv1, + nethermindv1, + erigonv1, + gethv1, + rethv1, + lodestarv1, + nimbusv1, + tekuv1, + lighthousev1, + prysmv1, + arbitrumv1, + nitrov1, + pathfinderv1, + opGethv1, + opNodev1, + opRethv1, + hildrv1, + magiv1, + hubblev1, + itzgMinecraftv1, + homeAssistantServicev1, +]; - export const packageSpecs = [ - ethereumv1, - farcasterv1, - arbitrumv1, - optimismv1, - basev1, - minecraftv1, - homeAssistantv1, - ]; \ No newline at end of file +export const packageSpecs = [ + ethereumv1, + farcasterv1, + arbitrumv1, + optimismv1, + basev1, + minecraftv1, + homeAssistantv1, +]; From 2cbd4030ac5284b036f8794cf8956d36fb858c11 Mon Sep 17 00:00:00 2001 From: jgresham Date: Mon, 5 Aug 2024 16:07:50 -0700 Subject: [PATCH 8/8] feat: op-nethermind separate from nethermind. discovery and sequencer fix --- .../NodeSpecs/base/base-v1.0.0.json | 4 +- .../NodeSpecs/hildr/hildr-v1.0.0.json | 4 +- .../nethermind/nethermind-v1.0.0.json | 14 +- .../op-nethermind/op-nethermind-v1.0.0.json | 355 ++++++++++ .../api/controller/NodeSpecs/op-reth/notes.md | 625 ++++++++++++++++++ .../NodeSpecs/op-reth/op-reth-v1.0.0.json | 6 +- .../NodeSpecs/optimism/optimism-v1.0.0.json | 2 +- src/app/api/controller/librarySpecs.ts | 2 + 8 files changed, 991 insertions(+), 21 deletions(-) create mode 100644 src/app/api/controller/NodeSpecs/op-nethermind/op-nethermind-v1.0.0.json diff --git a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json index 9d07437..c215792 100644 --- a/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/base/base-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "base", - "version": "1.1.0", + "version": "1.1.1", "displayName": "Base", "selectCardTagline": "A secure and low-cost Ethereum Layer 2 built on the OP stack", "execution": { @@ -9,7 +9,7 @@ { "serviceId": "executionClient", "name": "Execution Client", - "nodeOptions": ["op-geth", "nethermind", "op-reth"], + "nodeOptions": ["op-geth", "op-nethermind", "op-reth"], "required": true, "requiresCommonJwtSecret": true }, diff --git a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json index 7c85c99..81ff75e 100644 --- a/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/hildr/hildr-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "hildr", - "version": "1.2.0", + "version": "1.2.1", "displayName": "Hildr", "execution": { "executionTypes": ["docker"], @@ -22,7 +22,7 @@ } }, "imageName": "ghcr.io/optimism-java/hildr", - "defaultImageTag": "latest-native" + "defaultImageTag": "latest" }, "category": "L2/ConsensusClient", "minorityClient": true, diff --git a/src/app/api/controller/NodeSpecs/nethermind/nethermind-v1.0.0.json b/src/app/api/controller/NodeSpecs/nethermind/nethermind-v1.0.0.json index 451a217..5c18b0a 100644 --- a/src/app/api/controller/NodeSpecs/nethermind/nethermind-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/nethermind/nethermind-v1.0.0.json @@ -1,6 +1,6 @@ { "specId": "nethermind", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Nethermind", "execution": { "executionTypes": ["docker"], @@ -107,18 +107,6 @@ { "value": "11155111", "config": "sepolia" - }, - { - "value": "10", - "config": "op-mainnet" - }, - { - "value": "11155420", - "config": "op-sepolia" - }, - { - "value": "8453", - "config": "base-mainnet" } ] } diff --git a/src/app/api/controller/NodeSpecs/op-nethermind/op-nethermind-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-nethermind/op-nethermind-v1.0.0.json new file mode 100644 index 0000000..c9300f4 --- /dev/null +++ b/src/app/api/controller/NodeSpecs/op-nethermind/op-nethermind-v1.0.0.json @@ -0,0 +1,355 @@ +{ + "specId": "op-nethermind", + "version": "1.0.0", + "displayName": "OP Nethermind", + "execution": { + "executionTypes": ["docker"], + "defaultExecutionType": "docker", + "input": { + "defaultConfig": { + "p2pDiscoveryV5": "Enabled", + "http": "Enabled", + "webSockets": "Enabled", + "syncMode": "snap", + "webSocketsPort": "8546", + "enginePort": "8551" + }, + "docker": { + "raw": "", + "containerVolumePath": "/nethermind/data", + "forcedRawNodeInput": "--datadir /nethermind/data --JsonRpc.Host 0.0.0.0 --JsonRpc.EngineHost 0.0.0.0 --JsonRpc.JwtSecretFile=/nethermind/data/jwtsecret" + } + }, + "architectures": { + "docker": ["amd64", "arm64"], + "binary": ["amd64", "arm64"] + }, + "imageName": "docker.io/nethermind/nethermind", + "defaultImageTag": "1.28.0-rc", + "binaryDownload": { + "type": "githubReleases", + "latestVersionUrl": "https://api.github.com/repos/NethermindEth/nethermind/releases/latest", + "responseFormat": "githubReleases" + }, + "execPath": "Nethermind.Runner.exe" + }, + "category": "L1/ExecutionClient", + "minorityClient": true, + "rpcTranslation": "eth-l1", + "systemRequirements": { + "documentationUrl": "https://docs.nethermind.io/nethermind/guides-and-helpers/validator-setup/eth2-validator#hardware-and-network-requirements", + "cpu": { + "cores": 4, + "minSpeedGHz": 2.4 + }, + "memory": { + "minSizeGBs": 16 + }, + "storage": { + "minSizeGBs": 900, + "ssdRequired": true + }, + "internet": { + "minDownloadSpeedMbps": 10, + "minUploadSpeedMbps": 10 + }, + "docker": { + "required": true + } + }, + "configTranslation": { + "dataDir": { + "displayName": "Data location", + "category": "Storage", + "cliConfigPrefix": "--datadir ", + "uiControl": { + "type": "filePath" + } + }, + "network": { + "displayName": "Network", + "cliConfigPrefix": "--config ", + "defaultValue": "Mainnet", + "hideFromUserAfterStart": true, + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Mainnet", + "config": "mainnet" + }, + { + "value": "Holesky", + "config": "holesky" + }, + { + "value": "Sepolia", + "config": "sepolia" + } + ] + }, + "documentation": "https://docs.nethermind.io/fundamentals/configuration#basic-options" + }, + "chainId": { + "displayName": "Chain ID (Network)", + "cliConfigPrefix": "--config ", + "hideFromUserAfterStart": true, + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "10", + "config": "op-mainnet" + }, + { + "value": "11155420", + "config": "op-sepolia" + }, + { + "value": "8453", + "config": "base-mainnet" + }, + { + "value": "8453", + "config": "base-sepolia" + } + ] + } + }, + "http": { + "displayName": "RPC HTTP connections", + "category": "RPC APIs", + "cliConfigPrefix": "--JsonRpc.Enabled ", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Enabled", + "config": "true" + }, + { + "value": "Disabled" + } + ] + }, + "infoDescription": "NiceNode requires http connections", + "defaultValue": "Enabled", + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/json-rpc" + }, + "webSockets": { + "displayName": "WebSocket JSON-RPC connections", + "category": "RPC APIs", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Enabled", + "config": "" + }, + { + "value": "Disabled", + "config": "--Init.WebSocketsEnabled false" + } + ] + }, + "defaultValue": "Enabled", + "documentation": "https://docs.nethermind.io/interacting/json-rpc-server/#websocket" + }, + "p2pPorts": { + "displayName": "P2P port (UDP and TCP)", + "cliConfigPrefix": ["--Network.P2PPort ", "--Network.DiscoveryPort "], + "uiControl": { + "type": "text" + }, + "infoDescription": "Example value: 30303", + "defaultValue": "30303", + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/configuration/network" + }, + "enginePort": { + "displayName": "Engine JSON-RPC listening port", + "cliConfigPrefix": "--JsonRpc.EnginePort ", + "defaultValue": "8551", + "uiControl": { + "type": "text" + }, + "infoDescription": "Ensure the firewall is configured when enabling JSON RPC.", + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/configuration/jsonrpc" + }, + "httpPort": { + "displayName": "HTTP-RPC server listening port", + "cliConfigPrefix": "--JsonRpc.Port ", + "defaultValue": "8545", + "uiControl": { + "type": "text" + }, + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/json-rpc" + }, + "httpApis": { + "displayName": "Enabled HTTP APIs", + "category": "RPC APIs", + "cliConfigPrefix": "--JsonRpc.EnabledModules ", + "valuesJoinStr": ",", + "uiControl": { + "type": "select/multiple", + "controlTranslations": [ + { + "value": "Eth", + "config": "Eth" + }, + { + "value": "Subscribe", + "config": "Subscribe" + }, + { + "value": "Trace", + "config": "Trace" + }, + { + "value": "TxPool", + "config": "TxPool" + }, + { + "value": "Web3", + "config": "Web3" + }, + + { + "value": "Personal", + "config": "Personal" + }, + { + "value": "Proof", + "config": "Proof" + }, + { + "value": "Net", + "config": "Net" + }, + { + "value": "Parity", + "config": "Parity" + }, + { + "value": "Health", + "config": "Health" + } + ] + }, + "defaultValue": [ + "Eth", + "Subscribe", + "Trace", + "TxPool", + "Web3", + "Personal", + "Proof", + "Net", + "Parity", + "Health" + ], + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/json-rpc" + }, + "p2pDiscoveryV5": { + "displayName": "Peer Discovery v5", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "Enabled", + "config": "--Discovery.Discv5Enabled true" + }, + { + "value": "Disabled", + "config": "--Discovery.Discv5Enabled=false" + } + ] + }, + "defaultValue": "Enabled", + "documentation": "https://docs.nethermind.io/interacting/json-rpc-server/#websocket" + }, + "rollupSequencerHttpEndpoint" : { + "displayName": "HTTP endpoint for the sequencer mempool (Ex. for base: https://mainnet-sequencer.base.org)", + "cliConfigPrefix": "--Optimism.SequencerUrl ", + "uiControl": { + "type": "text" + } + }, + "syncMode": { + "displayName": "Execution Client Sync Mode", + "category": "Syncronization", + "uiControl": { + "type": "select/single", + "controlTranslations": [ + { + "value": "snap", + "config": "--Sync.SnapSync true", + "info": "~500GB / 11h" + }, + { + "value": "fast", + "config": "--Sync.FastSync true", + "info": "~500GB / 11h" + }, + { + "value": "archive", + "config": "--config mainnet_archive", + "info": "~12TB / 3w" + } + ] + }, + "addNodeFlow": "required", + "defaultValue": "snap", + "hideFromUserAfterStart": true, + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/sync-modes" + }, + "webSocketsPort": { + "displayName": "WebSockets JSON-RPC port", + "cliConfigPrefix": "--JsonRpc.WebSocketsPort ", + "defaultValue": "8546", + "niceNodeDefaultValue": "8546", + "uiControl": { + "type": "text" + }, + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/configuration/jsonrpc", + "infoDescription": "Port number for JSON RPC web sockets calls. By default same port is used as regular HTTP JSON RPC. Ensure the firewall is configured when enabling JSON RPC." + }, + "maxPeerCount": { + "displayName": "Max Peer Count", + "cliConfigPrefix": "--Network.ActivePeersMaxCount ", + "defaultValue": "50", + "uiControl": { + "type": "text" + }, + "infoDescription": "Set to lower number to use less bandwidth", + "documentation": "https://docs.nethermind.io/nethermind/ethereum-client/configuration/network", + "releaseNotesUrl": "https://github.com/NethermindEth/nethermind/releases" + } + }, + "documentation": { + "default": "https://docs.nethermind.io/nethermind/", + "docker": "https://docs.nethermind.io/nethermind/ethereum-client/docker" + }, + "iconUrl": "https://pub-9f2dc808c3d748eabde036c3d3465ee6.r2.dev/nethermind.png", + "resources": [ + { + "label": "OP Nethermind docs", + "value": "docs.nethermind.io", + "link": "https://docs.nethermind.io/fundamentals/configuration/#optimism" + }, + { + "label": "Twitter", + "value": "@NethermindEth", + "link": "https://x.com/NethermindEth" + }, + { + "label": "Discord", + "value": "Join", + "link": "https://discord.com/invite/PaCMRFdvWT" + }, + { + "label": "Website", + "value": "nethermind.io", + "link": "https://www.nethermind.io/" + } + ] +} diff --git a/src/app/api/controller/NodeSpecs/op-reth/notes.md b/src/app/api/controller/NodeSpecs/op-reth/notes.md index 93faf45..80017d5 100644 --- a/src/app/api/controller/NodeSpecs/op-reth/notes.md +++ b/src/app/api/controller/NodeSpecs/op-reth/notes.md @@ -1 +1,626 @@ `--color never` is set to avoid reth from using non-readble charcters in the logs + + +``` +podman run ghcr.io/paradigmxyz/op-reth node --help +Trying to pull ghcr.io/paradigmxyz/op-reth:latest... +Getting image source signatures +Copying blob sha256:907c53ec37acf33fb1fb34d3237dca01c591a651c99e65645d53fb3c87cf4b84 +Copying blob sha256:4ce000a43472e4a2527834764b5044674760f1e2a766480798d03a93b51a0b39 +Copying config sha256:df3def6f5116bc8c26ad6d002c3766c157cbb48273d0f014b3708970eb9f63ad +Writing manifest to image destination +Start the node + +Usage: op-reth node [OPTIONS] + +Options: + --config + The path to the configuration file to use. + + --chain + The chain this node is running. + Possible values are either a built-in chain or the path to a chain specification file. + + Built-in chains: + optimism, optimism-sepolia, base, base-sepolia + + [default: optimism] + + --instance + Add a new instance of a node. + + Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine. + + Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other. + + Changes to the following port numbers: - `DISCOVERY_PORT`: default + `instance` - 1 - `AUTH_PORT`: default + `instance` * 100 - 100 - `HTTP_RPC_PORT`: default - `instance` + 1 - `WS_RPC_PORT`: default + `instance` * 2 - 2 + + [default: 1] + + --with-unused-ports + Sets all ports to unused, allowing the OS to choose random unused ports when sockets are bound. + + Mutually exclusive with `--instance`. + + -h, --help + Print help (see a summary with '-h') + +Metrics: + --metrics + Enable Prometheus metrics. + + The metrics will be served at the given interface and port. + +Datadir: + --datadir + The path to the data dir for all reth files and subdirectories. + + Defaults to the OS-specific data directory: + + - Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/` + - Windows: `{FOLDERID_RoamingAppData}/reth/` + - macOS: `$HOME/Library/Application Support/reth/` + + [default: default] + + --datadir.static_files + The absolute path to store static files in. + +Networking: + -d, --disable-discovery + Disable the discovery service + + --disable-dns-discovery + Disable the DNS discovery + + --disable-discv4-discovery + Disable Discv4 discovery + + --enable-discv5-discovery + Enable Discv5 discovery + + --discovery.addr + The UDP address to use for devp2p peer discovery version 4 + + [default: 0.0.0.0] + + --discovery.port + The UDP port to use for devp2p peer discovery version 4 + + [default: 30303] + + --discovery.v5.addr + The UDP IPv4 address to use for devp2p peer discovery version 5. Overwritten by `RLPx` address, if it's also IPv4 + + --discovery.v5.addr.ipv6 + The UDP IPv6 address to use for devp2p peer discovery version 5. Overwritten by `RLPx` address, if it's also IPv6 + + --discovery.v5.port + The UDP IPv4 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv4, or `--discovery.v5.addr` is set + + [default: 9000] + + --discovery.v5.port.ipv6 + The UDP IPv6 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv6, or `--discovery.addr.ipv6` is set + + [default: 9000] + + --discovery.v5.lookup-interval + The interval in seconds at which to carry out periodic lookup queries, for the whole run of the program + + [default: 60] + + --discovery.v5.bootstrap.lookup-interval + The interval in seconds at which to carry out boost lookup queries, for a fixed number of times, at bootstrap + + [default: 5] + + --discovery.v5.bootstrap.lookup-countdown + The number of times to carry out boost lookup queries at bootstrap + + [default: 100] + + --trusted-peers + Comma separated enode URLs of trusted peers for P2P connections. + + --trusted-peers enode://abcd@192.168.0.1:30303 + + --trusted-only + Connect to or accept from trusted peers only + + --bootnodes + Comma separated enode URLs for P2P discovery bootstrap. + + Will fall back to a network-specific default if not specified. + + --dns-retries + Amount of DNS resolution requests retries to perform when peering + + [default: 0] + + --peers-file + The path to the known peers file. Connected peers are dumped to this file on nodes + shutdown, and read on startup. Cannot be used with `--no-persist-peers`. + + --identity + Custom node identity + + [default: reth/v1.0.3-390f30aa/aarch64-unknown-linux-gnu] + + --p2p-secret-key + Secret key to use for this node. + + This will also deterministically set the peer ID. If not specified, it will be set in the data dir for the chain being used. + + --no-persist-peers + Do not persist peers. + + --nat + NAT resolution method (any|none|upnp|publicip|extip:\) + + [default: any] + + --addr + Network listening address + + [default: 0.0.0.0] + + --port + Network listening port + + [default: 30303] + + --max-outbound-peers + Maximum number of outbound requests. default: 100 + + --max-inbound-peers + Maximum number of inbound requests. default: 30 + + --pooled-tx-response-soft-limit + Experimental, for usage in research. Sets the max accumulated byte size of transactions + to pack in one response. + Spec'd at 2MiB. + + [default: 2097152] + + --pooled-tx-pack-soft-limit + Experimental, for usage in research. Sets the max accumulated byte size of transactions to + request in one request. + + Since `RLPx` protocol version 68, the byte size of a transaction is shared as metadata in a + transaction announcement (see `RLPx` specs). This allows a node to request a specific size + response. + + By default, nodes request only 128 KiB worth of transactions, but should a peer request + more, up to 2 MiB, a node will answer with more than 128 KiB. + + Default is 128 KiB. + + [default: 131072] + +RPC: + --http + Enable the HTTP-RPC server + + --http.addr + Http server address to listen on + + [default: 127.0.0.1] + + --http.port + Http server port to listen on + + [default: 8545] + + --http.api + Rpc Modules to be configured for the HTTP server + + [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, eth-call-bundle] + + --http.corsdomain + Http Corsdomain to allow request from + + --ws + Enable the WS-RPC server + + --ws.addr + Ws server address to listen on + + [default: 127.0.0.1] + + --ws.port + Ws server port to listen on + + [default: 8546] + + --ws.origins + Origins from which to accept `WebSocket` requests + + --ws.api + Rpc Modules to be configured for the WS server + + [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, eth-call-bundle] + + --ipcdisable + Disable the IPC-RPC server + + --ipcpath + Filename for IPC socket/pipe within the datadir + + [default: /tmp/reth.ipc] + + --authrpc.addr + Auth server address to listen on + + [default: 127.0.0.1] + + --authrpc.port + Auth server port to listen on + + [default: 8551] + + --authrpc.jwtsecret + Path to a JWT secret to use for the authenticated engine-API RPC server. + + This will enforce JWT authentication for all requests coming from the consensus layer. + + If no path is provided, a secret will be generated and stored in the datadir under `//jwt.hex`. For mainnet this would be `~/.reth/mainnet/jwt.hex` by default. + + --auth-ipc + Enable auth engine API over IPC + + --auth-ipc.path + Filename for auth IPC socket/pipe within the datadir + + [default: /tmp/reth_engine_api.ipc] + + --rpc.jwtsecret + Hex encoded JWT secret to authenticate the regular RPC server(s), see `--http.api` and `--ws.api`. + + This is __not__ used for the authenticated engine-API RPC server, see `--authrpc.jwtsecret`. + + --rpc.max-request-size + Set the maximum RPC request payload size for both HTTP and WS in megabytes + + [default: 15] + + --rpc.max-response-size + Set the maximum RPC response payload size for both HTTP and WS in megabytes + + [default: 160] + [aliases: rpc.returndata.limit] + + --rpc.max-subscriptions-per-connection + Set the maximum concurrent subscriptions per connection + + [default: 1024] + + --rpc.max-connections + Maximum number of RPC server connections + + [default: 500] + + --rpc.max-tracing-requests + Maximum number of concurrent tracing requests + + [default: 6] + + --rpc.max-blocks-per-filter + Maximum number of blocks that could be scanned per filter request. (0 = entire chain) + + [default: 100000] + + --rpc.max-logs-per-response + Maximum number of logs that can be returned in a single response. (0 = no limit) + + [default: 20000] + + --rpc.gascap + Maximum gas limit for `eth_call` and call tracing RPC methods + + [default: 50000000] + + --rpc.eth-proof-window + The maximum proof window for historical proof generation. This value allows for generating historical proofs up to configured number of blocks from current tip (up to `tip - window`) + + [default: 0] + + --rpc.proof-permits + Maximum number of concurrent getproof requests + + [default: 25] + +RPC State Cache: + --rpc-cache.max-blocks + Max number of blocks in cache + + [default: 5000] + + --rpc-cache.max-receipts + Max number receipts in cache + + [default: 2000] + + --rpc-cache.max-envs + Max number of bytes for cached env data + + [default: 1000] + + --rpc-cache.max-concurrent-db-requests + Max number of concurrent database requests + + [default: 512] + +Gas Price Oracle: + --gpo.blocks + Number of recent blocks to check for gas price + + [default: 20] + + --gpo.ignoreprice + Gas Price below which gpo will ignore transactions + + [default: 2] + + --gpo.maxprice + Maximum transaction priority fee(or gasprice before London Fork) to be recommended by gpo + + [default: 500000000000] + + --gpo.percentile + The percentile of gas prices to use for the estimate + + [default: 60] + +TxPool: + --txpool.pending-max-count + Max number of transaction in the pending sub-pool + + [default: 10000] + + --txpool.pending-max-size + Max size of the pending sub-pool in megabytes + + [default: 20] + + --txpool.basefee-max-count + Max number of transaction in the basefee sub-pool + + [default: 10000] + + --txpool.basefee-max-size + Max size of the basefee sub-pool in megabytes + + [default: 20] + + --txpool.queued-max-count + Max number of transaction in the queued sub-pool + + [default: 10000] + + --txpool.queued-max-size + Max size of the queued sub-pool in megabytes + + [default: 20] + + --txpool.max-account-slots + Max number of executable transaction slots guaranteed per account + + [default: 16] + + --txpool.pricebump + Price bump (in %) for the transaction pool underpriced check + + [default: 10] + + --blobpool.pricebump + Price bump percentage to replace an already existing blob transaction + + [default: 100] + + --txpool.max-tx-input-bytes + Max size in bytes of a single transaction allowed to enter the pool + + [default: 131072] + + --txpool.max-cached-entries + The maximum number of blobs to keep in the in memory blob cache + + [default: 100] + + --txpool.nolocals + Flag to disable local transaction exemptions + + --txpool.locals + Flag to allow certain addresses as local + + --txpool.no-local-transactions-propagation + Flag to toggle local transaction propagation + +Builder: + --builder.extradata + Block extra data set by the payload builder + + [default: reth/v1.0.3/linux] + + --builder.gaslimit + Target gas ceiling for built blocks + + [default: 30000000] + + --builder.interval + The interval at which the job should build a new payload after the last (in seconds) + + [default: 1] + + --builder.deadline + The deadline for when the payload builder job should resolve + + [default: 12] + + --builder.max-tasks + Maximum number of tasks to spawn for building a payload + + [default: 3] + +Debug: + --debug.terminate + Flag indicating whether the node should be terminated after the pipeline sync + + --debug.tip + Set the chain tip manually for testing purposes. + + NOTE: This is a temporary flag + + --debug.max-block + Runs the sync only up to the specified block + + --debug.etherscan [] + Runs a fake consensus client that advances the chain using recent block hashes on Etherscan. If specified, requires an `ETHERSCAN_API_KEY` environment variable + + --debug.rpc-consensus-ws + Runs a fake consensus client using blocks fetched from an RPC `WebSocket` endpoint + + --debug.skip-fcu + If provided, the engine will skip `n` consecutive FCUs + + --debug.skip-new-payload + If provided, the engine will skip `n` consecutive new payloads + + --debug.engine-api-store + The path to store engine API messages at. If specified, all of the intercepted engine API messages will be written to specified location + +Database: + --db.log-level + Database logging level. Levels higher than "notice" require a debug build + + Possible values: + - fatal: Enables logging for critical conditions, i.e. assertion failures + - error: Enables logging for error conditions + - warn: Enables logging for warning conditions + - notice: Enables logging for normal but significant condition + - verbose: Enables logging for verbose informational + - debug: Enables logging for debug-level messages + - trace: Enables logging for trace debug-level messages + - extra: Enables logging for extra debug-level messages + + --db.exclusive + Open environment in exclusive/monopolistic mode. Makes it possible to open a database on an NFS volume + + [possible values: true, false] + +Dev testnet: + --dev + Start the node in dev mode + + This mode uses a local proof-of-authority consensus engine with either fixed block times + or automatically mined blocks. + Disables network discovery and enables local http server. + Prefunds 20 accounts derived by mnemonic "test test test test test test test test test test + test junk" with 10 000 ETH each. + + --dev.block-max-transactions + How many transactions to mine per block + + --dev.block-time + Interval between blocks. + + Parses strings using [`humantime::parse_duration`] + --dev.block-time 12s + +Pruning: + --full + Run full node. Only the most recent [`MINIMUM_PRUNING_DISTANCE`] block states are stored. This flag takes priority over pruning configuration in reth.toml + +Rollup: + --rollup.sequencer-http + HTTP endpoint for the sequencer mempool + + --rollup.disable-tx-pool-gossip + Disable transaction pool gossip + + --rollup.enable-genesis-walkback + Enable walkback to genesis on startup. This is useful for re-validating the existing DB prior to beginning normal syncing + + --rollup.compute-pending-block + By default the pending block equals the latest block to save resources and not leak txs from the tx-pool, this flag enables computing of the pending block from the tx-pool instead. + + If `compute_pending_block` is not enabled, the payload builder will use the payload attributes from the latest block. Note that this flag is not yet functional. + +Logging: + --log.stdout.format + The format to use for logs written to stdout + + [default: terminal] + + Possible values: + - json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging + - log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications + - terminal: Represents terminal-friendly formatting for logs + + --log.stdout.filter + The filter to use for logs written to stdout + + [default: ] + + --log.file.format + The format to use for logs written to the log file + + [default: terminal] + + Possible values: + - json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging + - log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications + - terminal: Represents terminal-friendly formatting for logs + + --log.file.filter + The filter to use for logs written to the log file + + [default: debug] + + --log.file.directory + The path to put log files in + + [default: /root/.cache/reth/logs] + + --log.file.max-size + The maximum size (in MB) of one log file + + [default: 200] + + --log.file.max-files + The maximum amount of log files that will be stored. If set to 0, background file logging is disabled + + [default: 5] + + --log.journald + Write logs to journald + + --log.journald.filter + The filter to use for logs written to journald + + [default: error] + + --color + Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting + + [default: always] + + Possible values: + - always: Colors on + - auto: Colors on + - never: Colors off + +Display: + -v, --verbosity... + Set the minimum log level. + + -v Errors + -vv Warnings + -vvv Info + -vvvv Debug + -vvvvv Traces (warning: very verbose!) + + -q, --quiet + Silence all log output + ``` \ No newline at end of file diff --git a/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json b/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json index ce31d25..23baee2 100644 --- a/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/op-reth/op-reth-v1.0.0.json @@ -17,9 +17,9 @@ "webSocketAllowedOrigins": "http://localhost" }, "docker": { - "containerVolumePath": "/root/.local/share/reth/mainnet", + "containerVolumePath": "/root/.local/share/optimism", "raw": "", - "forcedRawNodeInput": "node --color never --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /root/.local/share/reth/mainnet/jwtsecret --ipcdisable" + "forcedRawNodeInput": "node --color never --enable-discv5-discovery --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /root/.local/share/optimism/jwtsecret --ipcdisable" } }, "imageName": "ghcr.io/paradigmxyz/op-reth", @@ -78,7 +78,7 @@ }, "rollupSequencerHttpEndpoint": { "displayName": "HTTP endpoint for the sequencer mempool (Ex. for base: https://mainnet-sequencer.base.org)", - "cliConfigPrefix": "--rollup.sequencerhttp ", + "cliConfigPrefix": "--rollup.sequencer-http ", "uiControl": { "type": "text" } diff --git a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json index 8be20dc..b552d56 100644 --- a/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json +++ b/src/app/api/controller/NodeSpecs/optimism/optimism-v1.0.0.json @@ -10,7 +10,7 @@ { "serviceId": "executionClient", "name": "Execution Client", - "nodeOptions": ["op-geth", "nethermind", "op-reth"], + "nodeOptions": ["op-geth", "op-nethermind", "op-reth"], "required": true, "requiresCommonJwtSecret": true }, diff --git a/src/app/api/controller/librarySpecs.ts b/src/app/api/controller/librarySpecs.ts index d9ef525..e1f8627 100644 --- a/src/app/api/controller/librarySpecs.ts +++ b/src/app/api/controller/librarySpecs.ts @@ -27,6 +27,7 @@ import magiv1 from './NodeSpecs/magi/magi-v1.0.0.json'; import opGethv1 from './NodeSpecs/op-geth/op-geth-v1.0.0.json'; import opNodev1 from './NodeSpecs/op-node/op-node-v1.0.0.json'; import opRethv1 from './NodeSpecs/op-reth/op-reth-v1.0.0.json'; +import opNethermindv1 from './NodeSpecs/op-nethermind/op-nethermind-v1.0.0.json'; import hubblev1 from './NodeSpecs/hubble/hubble-v1.0.0.json'; @@ -52,6 +53,7 @@ export const specs = [ opGethv1, opNodev1, opRethv1, + opNethermindv1, hildrv1, magiv1, hubblev1,