Skip to content

Commit df45acb

Browse files
committed
feat: add arbitrum orbit nodes configurable by users
1 parent 6a0a5d4 commit df45acb

File tree

2 files changed

+285
-0
lines changed

2 files changed

+285
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"specId": "arbitrum-orbit",
3+
"version": "1.0.0",
4+
"displayName": "Arbitrum Orbit",
5+
"displayTagline": "Non-Validating Node",
6+
"execution": {
7+
"executionTypes": ["nodePackage"],
8+
"defaultExecutionType": "nodePackage",
9+
"services": [
10+
{
11+
"serviceId": "executionClient",
12+
"name": "Execution Client",
13+
"nodeOptions": ["nitro-orbit"],
14+
"required": true
15+
}
16+
]
17+
},
18+
"category": "Ethereum/L2",
19+
"rpcTranslation": "eth-l1",
20+
"systemRequirements": {
21+
"documentationUrl": "https://docs.arbitrum.io/node-running/how-tos/running-an-orbit-node#prerequisites",
22+
"cpu": {
23+
"cores": 4
24+
},
25+
"memory": {
26+
"minSizeGBs": 8
27+
},
28+
"storage": {
29+
"minSizeGBs": 200,
30+
"ssdRequired": true
31+
},
32+
"internet": {
33+
"minDownloadSpeedMbps": 25,
34+
"minUploadSpeedMbps": 10
35+
}
36+
},
37+
"configTranslation": {},
38+
"addNodeDescription": "Designed with you in mind, Arbitrum is the leading Layer 2 technology that empowers you to explore and build in the largest Layer 1 ecosystem, Ethereum.",
39+
"description": "Designed with you in mind, Arbitrum is the leading Layer 2 technology that empowers you to explore and build in the largest Layer 1 ecosystem, Ethereum. Take it to the next layer with Nitro. Making Ethereum more inclusive and sustainable, Nitro is the most advanced blockchain scaling technology in the industry."
40+
}
+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
{
2+
"specId": "nitro-orbit",
3+
"version": "1.0.0",
4+
"displayName": "Arbitrum Nitro Orbit",
5+
"execution": {
6+
"executionTypes": ["docker"],
7+
"defaultExecutionType": "docker",
8+
"imageName": "docker.io/offchainlabs/nitro-node",
9+
"defaultImageTag": "v2.3.3-6a1c1a7",
10+
"input": {
11+
"defaultConfig": {
12+
"parentChainRpcUrl": "",
13+
"httpAddress": "0.0.0.0",
14+
"httpPort": "8547",
15+
"httpCorsDomains": "http://localhost",
16+
"httpVirtualHosts": "localhost,host.containers.internal",
17+
"logLevel": "Info"
18+
},
19+
"docker": {
20+
"containerVolumePath": "/home/user/.arbitrum",
21+
"raw": "",
22+
"forcedRawNodeInput": ""
23+
}
24+
},
25+
"dependencies": ["L1/ExecutionClient"]
26+
},
27+
"category": "Ethereum/L2",
28+
"rpcTranslation": "eth-l2",
29+
"systemRequirements": {
30+
"documentationUrl": "https://docs.arbitrum.io/node-running/how-tos/running-a-full-node#minimum-hardware-configuration",
31+
"cpu": {
32+
"cores": 4
33+
},
34+
"memory": {
35+
"minSizeGBs": 8
36+
},
37+
"storage": {
38+
"minSizeGBs": 1600,
39+
"ssdRequired": true
40+
},
41+
"internet": {
42+
"minDownloadSpeedMbps": 25,
43+
"minUploadSpeedMbps": 10
44+
},
45+
"docker": {
46+
"required": true
47+
}
48+
},
49+
"configTranslation": {
50+
"parentChainRpcUrl": {
51+
"displayName": "Ethereum Mainnet RPC Endpoint",
52+
"cliConfigPrefix": "--parent-chain.connection.url=",
53+
"defaultValue": "",
54+
"uiControl": {
55+
"type": "text"
56+
},
57+
"addNodeFlow": "required",
58+
"infoDescription": "Parent chain endpoint. Eth L1, Arb L2, or other! Local node like http://host.containers.internal:8545 or provider."
59+
},
60+
"orbitChainInfoJson": {
61+
"displayName": "Orbit Chain Info",
62+
"cliConfigPrefix": "--chain.info-json=",
63+
"defaultValue": "",
64+
"uiControl": {
65+
"type": "text"
66+
},
67+
"addNodeFlow": "required",
68+
"infoDescription": "A JSON string that contains required information about the Orbit chain."
69+
},
70+
"chainName": {
71+
"displayName": "Orbit Chain Name",
72+
"cliConfigPrefix": "--chain.name=",
73+
"defaultValue": "",
74+
"uiControl": {
75+
"type": "text"
76+
},
77+
"addNodeFlow": "required",
78+
"infoDescription": "It needs to exactly match the chain name used in the chain info JSON string."
79+
},
80+
"anyTrustChain": {
81+
"displayName": "Is the Orbit chain an AnyTrust chain?",
82+
"uiControl": {
83+
"type": "select/single",
84+
"controlTranslations": [
85+
{
86+
"value": "Yes",
87+
"config": "--node.data-availability.enable"
88+
},
89+
{
90+
"value": "No"
91+
}
92+
]
93+
},
94+
"addNodeFlow": "required",
95+
"defaultValue": "No"
96+
},
97+
"anyTrustRestAggregatorUrls": {
98+
"displayName": "AnyTrust Rest Aggregator Urls",
99+
"cliConfigPrefix": "--node.data-availability.rest-aggregator.urls=",
100+
"defaultValue": "",
101+
"uiControl": {
102+
"type": "text"
103+
},
104+
"addNodeFlow": "advanced",
105+
"infoDescription": "A list of DAS REST endpoints (comma separated urls)"
106+
},
107+
"anyTrustRestAggregatorOnlineUrlList": {
108+
"displayName": "AnyTrust Rest Aggregator Online Url List",
109+
"cliConfigPrefix": "--node.data-availability.rest-aggregator.online-url-list=",
110+
"defaultValue": "",
111+
"uiControl": {
112+
"type": "text"
113+
},
114+
"addNodeFlow": "advanced",
115+
"infoDescription": "A url that returns a list of the DAS REST endpoints."
116+
},
117+
"httpAddress": {
118+
"displayName": "HTTP-RPC server listening interface",
119+
"cliConfigPrefix": "--http.addr=",
120+
"defaultValue": "0.0.0.0",
121+
"uiControl": {
122+
"type": "text"
123+
},
124+
"documentation": "https://geth.ethereum.org/docs/rpc/server#http-server"
125+
},
126+
"httpPort": {
127+
"displayName": "HTTP-RPC server listening port",
128+
"cliConfigPrefix": "--http.port=",
129+
"defaultValue": "8547",
130+
"uiControl": {
131+
"type": "text"
132+
},
133+
"documentation": "https://geth.ethereum.org/docs/rpc/server#http-server"
134+
},
135+
"httpVirtualHosts": {
136+
"displayName": "HTTP RPC virtual hostnames list",
137+
"cliConfigPrefix": "--http.vhosts=",
138+
"defaultValue": "localhost,host.containers.internal",
139+
"uiControl": {
140+
"type": "text"
141+
},
142+
"infoDescription": "Comma separated list of virtual hostnames from which to accept authentication requests for engine api's (server enforced). Accepts '*' wildcard. Default value (localhost)"
143+
},
144+
"websockets": {
145+
"displayName": "rpc websocket connections (*BeaconNodes may require websocket connections)",
146+
"uiControl": {
147+
"type": "select/single",
148+
"controlTranslations": [
149+
{
150+
"value": "Enabled",
151+
"config": "--ws"
152+
},
153+
{
154+
"value": "Disabled"
155+
}
156+
]
157+
},
158+
"defaultValue": "Disabled"
159+
},
160+
"logLevel": {
161+
"displayName": "Log level",
162+
"cliConfigPrefix": "--log-level=",
163+
"uiControl": {
164+
"type": "select/single",
165+
"controlTranslations": [
166+
{
167+
"value": "Info",
168+
"config": "3"
169+
},
170+
{
171+
"value": "Warn",
172+
"config": "2"
173+
},
174+
{
175+
"value": "Error",
176+
"config": "1"
177+
},
178+
{
179+
"value": "Trace",
180+
"config": "5"
181+
},
182+
{
183+
"value": "Debug",
184+
"config": "4"
185+
},
186+
{
187+
"value": "Fatal",
188+
"config": "0"
189+
}
190+
]
191+
},
192+
"addNodeFlow": "advanced",
193+
"defaultValue": "Info"
194+
},
195+
"httpApis": {
196+
"displayName": "Enabled HTTP APIs",
197+
"cliConfigPrefix": "--http.api=",
198+
"defaultValue": "eth,net,web3,debug",
199+
"valuesJoinStr": ",",
200+
"uiControl": {
201+
"type": "select/multiple",
202+
"controlTranslations": [
203+
{
204+
"value": "eth",
205+
"config": "Eth"
206+
},
207+
{
208+
"value": "net",
209+
"config": "Net"
210+
},
211+
{
212+
"value": "web3",
213+
"config": "Web3"
214+
},
215+
{
216+
"value": "debug",
217+
"config": "Debug"
218+
},
219+
220+
{
221+
"value": "personal",
222+
"config": "Personal"
223+
},
224+
{
225+
"value": "admin",
226+
"config": "Admin"
227+
}
228+
]
229+
}
230+
},
231+
"httpCorsDomains": {
232+
"displayName": "HTTP-RPC CORS domains",
233+
"cliConfigPrefix": "--http.corsdomain=",
234+
"defaultValue": "*",
235+
"uiControl": {
236+
"type": "text"
237+
},
238+
"infoDescription": "Change where the node accepts http connections (use comma separated urls)"
239+
}
240+
},
241+
"documentation": {
242+
"default": "https://docs.arbitrum.io/node-running/how-tos/running-an-orbit-node"
243+
},
244+
"iconUrl": "https://arbitrum.io/wp-content/uploads/2021/08/Arbitrum_Symbol-Full-color-White-background-937x1024.png"
245+
}

0 commit comments

Comments
 (0)