Skip to content

Commit

Permalink
Merge branch 'master' into interactive-orbit-sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
anegg0 committed Apr 25, 2024
2 parents 81a62a0 + 3dee5ba commit 6b8da7f
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ These contracts are deployed on <a data-quicklook-from="parent-chain">`parent ch

- Rollup contracts
- <a data-quicklook-from="bridge">Bridge contracts</a>
- Contracts handling <a data-quicklook-from="fraud-proof">fraud proofs</a>

Core contracts are the backbone of Arbitrum's <a data-quicklook-from="arbitrum-nitro">Nitro stack</a>, ensuring its robust and efficient operation. You can explore their code in the [nitro-contracts GitHub repository](https://github.com/OffchainLabs/nitro-contracts).
- Contracts handling <a data-quicklook-from="fraud-proof">fraud proofs</a>

Core contracts are the backbone of Arbitrum's <a data-quicklook-from="arbitrum-nitro">Nitro stack</a>, ensuring its robust and efficient operation. You can explore their code in the [nitro-contracts GitHub repository](https://github.com/OffchainLabs/nitro-contracts).

### Rollup deployment parameters

Expand Down Expand Up @@ -183,7 +184,9 @@ While other configurable parameters exist, they are set to defaults, and it's ge

### Configuration and deployment helpers

The Orbit SDK provides two APIs, `createRollupPrepareConfig` and `createRollupPrepareTransactionRequest` to facilitate the configuration and deployment of Rollup parameters for an Orbit chain. These APIs simplify the process of setting up and deploying the core contracts necessary for an Orbit chain.

### Configuration and deployment helpers


#### **createRollupPrepareConfig API**:

Expand Down
30 changes: 17 additions & 13 deletions arbitrum-docs/run-arbitrum-node/06-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,7 @@ If you're running into unexpected outputs or errors, the following checklist may
<TabItem className="unclickable-element" value="label"></TabItem>
<TabItem value="arb-one-nitro">
<p>
The{' '}
<a href="/node-running/how-tos/running-a-full-node">
How to run a full node (Nitro)
</a>{' '}
The <a href="/run-arbitrum-node/run-full-node">How to run a full node (Nitro)</a>{' '}
may address your issue.
</p>
</TabItem>
Expand All @@ -91,25 +88,23 @@ If you're running into unexpected outputs or errors, the following checklist may
</TabItem>
<TabItem value="arb-nova">
<p>
The{' '}
<a href="/node-running/how-tos/running-a-full-node">
How to run a full node (Nitro)
</a>{' '}

The <a href="/run-arbitrum-node/run-full-node">How to run a full node (Nitro)</a>{' '}
may address your issue.
</p>
</TabItem>
<TabItem value="arb-sepolia">
<p>
The{' '}
<a href="/node-running/how-tos/running-a-full-node">
How to run a full node (Nitro)
</a>{' '}

The <a href="/run-arbitrum-node/run-full-node">How to run a full node (Nitro)</a>{' '}
may address your issue.
</p>
</TabItem>
<TabItem value="localhost">
<p>
The <a href="/node-running/how-tos/local-dev-node">How to run a local dev node</a>{' '}

The{' '}
<a href="/run-arbitrum-node/run-local-dev-node">How to run a local dev node</a>{' '}
may address your issue.
</p>
</TabItem>
Expand Down Expand Up @@ -223,6 +218,15 @@ Common troubleshooting scenarios and solutions are detailed below.
accidentally ends up blocking node runners.
</td>
</tr>
<tr>
<td>
You see <code>failed to get blobs: expected at least 6 blobs for slot `[slot_number]` but only got 0</code>
</td>
<td>
This often happens when you connect to a beacon chain endpoint while the blob you are querying is expired. To resolve this error, connect to a beacon endpoint which supports historical blob data (see <a href='/run-arbitrum-node/l1-ethereum-beacon-chain-rpc-providers#list-of-ethereum-beacon-chain-rpc-providers'>List of Ethereum beacon chain RPC providers</a>).
</td>
</tr>

</tbody>
</table>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ import PublicPreviewBannerPartial from '../../partials/_public-preview-banner-pa

<PublicPreviewBannerPartial />

Arbitrum Nitro is the software that powers all Arbitrum chains. This how-to shows how you can build a Docker image, or binaries, directly from Nitro's source code. If you want to run a node for one of the Arbitrum chains, however, it is recommended that you use the docker image available on DockerHub, as explained in [How to run a full node](/node-running/how-tos/running-a-full-node.mdx).

Arbitrum Nitro is the software that powers all Arbitrum chains. This how-to shows how you can build a Docker image, or binaries, directly from Nitro's source code. If you want to run a node for one of the Arbitrum chains, however, it is recommended that you use the docker image available on DockerHub, as explained in [How to run a full node](/run-arbitrum-node/03-run-full-node.md).


This how-to assumes that you're running one of the following operating systems:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ content_type: how-to
sidebar_position: 11
---

When running a Nitro node for the first time on a chain that produced [classic blocks](/build-decentralized-apps/03-public-chains.md#classic-deprecated) in the past (like Arbitrum One), you need to initialize its database to, at least, the state of the chain after executing the last classic block. The common, and recommended, way of doing that is to provide a database snapshot using the `--init.url` option (as mentioned in [How to run a full node (Nitro)](/node-running/how-tos/running-a-full-node.mdx)). In this how-to we show you an alternative way for doing that, migrating the state and history of the chain from a fully synced classic node.
When running a Nitro node for the first time on a chain that produced [classic blocks](/build-decentralized-apps/03-public-chains.md#classic-deprecated) in the past (like Arbitrum One), you need to initialize its database to, at least, the state of the chain after executing the last classic block. The common, and recommended, way of doing that is to provide a database snapshot using the `--init.url` option (as mentioned in [How to run a full node (Nitro)](/run-arbitrum-node/03-run-full-node.md)). In this how-to we show you an alternative way for doing that, migrating the state and history of the chain from a fully synced classic node.


:::info Is this How-to for you?

Expand Down
37 changes: 20 additions & 17 deletions arbitrum-docs/run-arbitrum-node/sequencer/02-read-sequencer-feed.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,26 @@ When connected to websocket port `9642` of the local relay, you'll receive a dat
```json
{
"version": 1,
"messages": [{
"sequenceNumber": 25757171,
"message": {
"messages": [
{
"sequenceNumber": 25757171,
"message": {
"header": {
"kind": 3,
"sender": "0xa4b000000000000000000073657175656e636572",
"blockNumber": 16238523,
"timestamp": 1671691403,
"requestId": null,
"baseFeeL1": null
"message": {
"header": {
"kind": 3,
"sender": "0xa4b000000000000000000073657175656e636572",
"blockNumber": 16238523,
"timestamp": 1671691403,
"requestId": null,
"baseFeeL1": null
},
"l2Msg": "BAL40oKksUiElQL5AISg7rsAgxb6o5SZbYNoIF2DTixsqDpD2xII9GJLG4C4ZAhh6N0AAAAAAAAAAAAAAAC7EQiq1R1VYgL3/oXgvD921hYRyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAaAkebuEnSAUvrWVBGTxA7W+ZMNn5uyLlbOH7Nrs0bYOv6AOxQPqAo2UB0Z7vqlugjn+BUl0drDcWejBfDiPEC6jQA=="
},
"l2Msg": "BAL40oKksUiElQL5AISg7rsAgxb6o5SZbYNoIF2DTixsqDpD2xII9GJLG4C4ZAhh6N0AAAAAAAAAAAAAAAC7EQiq1R1VYgL3/oXgvD921hYRyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAaAkebuEnSAUvrWVBGTxA7W+ZMNn5uyLlbOH7Nrs0bYOv6AOxQPqAo2UB0Z7vqlugjn+BUl0drDcWejBfDiPEC6jQA=="
"delayedMessagesRead": 354560
},
"delayedMessagesRead": 354560
},
"signature": null
}]
"signature": null
}
]
}
```

Expand Down Expand Up @@ -84,6 +86,7 @@ type L1IncomingMessage struct {
You can use the [`ParseL2Transactions`](https://github.com/OffchainLabs/nitro/blob/9b1e622102fa2bebfd7dffd327be19f8881f1467/arbos/incomingmessage.go#L227) function to decode the message.

Using the feed relay, you can also retrieve the `L2 block number` of a message:

- On <a data-quicklook-from="arbitrum-one">Arbitrum One</a>, this can be done by adding the Arbitrum One genesis block number (22207817) to the sequence number of the feed message.

- On <a data-quicklook-from="arbitrum-one">Arbitrum One</a>, this can be done by adding the Arbitrum One genesis block number (22207817) to the sequence number of the feed message.

- Note that in the case of <a data-quicklook-from="arbitrum-nova">Arbitrum Nova</a>, the Nitro genesis number is `0`, so it doesn't need to be included when adding to the feed message's sequence number.

0 comments on commit 6b8da7f

Please sign in to comment.