Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README for Arbitrum 0G Integration #3

Open
wants to merge 1 commit into
base: v2.3.3-fork
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 24 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,40 @@
<br />
<p align="center">
<a href="https://arbitrum.io/">
<img src="https://arbitrum.io/assets/arbitrum/logo_color.png" alt="Logo" width="80" height="80">
</a>

<h3 align="center">Arbitrum Nitro</h3>

<p align="center">
<a href="https://developer.arbitrum.io/"><strong>Next Generation Ethereum L2 Technology »</strong></a>
<p align="center" href="https://arbitrum.io/">
<img src="https://arbitrum.io/assets/arbitrum/logo_color.png" alt="Logo" width="120" height="120">
</p>
<h3 align="center">+</h3>
<p align="center" href="https://arbitrum.io/">
<img src="https://framerusercontent.com/images/JJi9BT4FAjp4W63c3jjNz0eezQ.png" alt="Logo" width="140" height="140">
</p>
<br />
</p>
</p>

## About Arbitrum Nitro

<img src="https://arbitrum.io/assets/arbitrum/logo_color.png" alt="Logo" width="80" height="80">

Nitro is the latest iteration of the Arbitrum technology. It is a fully integrated, complete
layer 2 optimistic rollup system, including fraud proofs, the sequencer, the token bridges,
advanced calldata compression, and more.

See the live docs-site [here](https://developer.arbitrum.io/) (or [here](https://github.com/OffchainLabs/arbitrum-docs) for markdown docs source.)

See [here](./audits) for security audit reports.

The Nitro stack is built on several innovations. At its core is a new prover, which can do Arbitrum’s classic
interactive fraud proofs over WASM code. That means the L2 Arbitrum engine can be written and compiled using
standard languages and tools, replacing the custom-designed language and compiler used in previous Arbitrum
versions. In normal execution,
validators and nodes run the Nitro engine compiled to native code, switching to WASM if a fraud proof is needed.
We compile the core of Geth, the EVM engine that practically defines the Ethereum standard, right into Arbitrum.
So the previous custom-built EVM emulator is replaced by Geth, the most popular and well-supported Ethereum client.

The last piece of the stack is a slimmed-down version of our ArbOS component, rewritten in Go, which provides the
rest of what’s needed to run an L2 chain: things like cross-chain communication, and a new and improved batching
and compression system to minimize L1 costs.

Essentially, Nitro runs Geth at layer 2 on top of Ethereum, and can prove fraud over the core engine of Geth
compiled to WASM.

Arbitrum One successfully migrated from the Classic Arbitrum stack onto Nitro on 8/31/22. (See [state migration](https://developer.arbitrum.io/migration/state-migration) and [dapp migration](https://developer.arbitrum.io/migration/dapp_migration) for more info).
## Arbitrum 0G Integration Guide

## License
### Overview

Nitro is currently licensed under a [Business Source License](./LICENSE), similar to our friends at Uniswap and Aave, with an "Additional Use Grant" to ensure that everyone can have full comfort using and running nodes on all public Arbitrum chains.
The Arbitrum 0G integration allows developers to deploy an Orbit Chain using 0G (Zero Gravity) for data availability. This integration marks the first AI-focused external integration to the Arbitrum Orbit protocol layer, offering an alternative to Arbitrum AnyTrust for high-performance data availability.

The Additional Use Grant also permits the deployment of the Nitro software, in a permissionless fashion and without cost, as a new blockchain provided that the chain settles to either Arbitrum One or Arbitrum Nova.
### Key Components

For those that prefer to deploy the Nitro software either directly on Ethereum (i.e. an L2) or have it settle to another Layer-2 on top of Ethereum, the [Arbitrum Expansion Program (the "AEP")](https://docs.arbitrum.foundation/assets/files/Arbitrum%20Expansion%20Program%20Jan182024-4f08b0c2cb476a55dc153380fa3e64b0.pdf) was recently established. The AEP allows for the permissionless deployment in the aforementioned fashion provided that 10% of net revenue (as more fully described in the AEP) is contributed back to the Arbitrum community in accordance with the requirements of the AEP.
1. DA Provider Implementation: Implements the DataAvailabilityProvider interface for 0G DA.
2. Preimage Oracle Implementation: Supports fraud proofs by populating the preimage mapping with 0G hashes.
3. 0G Integration: Ensures data integrity and availability through 0G's consensus mechanism.

## Contact
### 0G DA Provider Implementation
The core logic for posting and retrieving data is implemented in the zerogravity.go file. Key features include:
- ZgDA struct: Manages the connection to the 0G disperser client.
- Store method: Handles data storage on 0G, breaking large blobs into smaller chunks if necessary.
- Read method: Retrieves data from 0G using the provided blob parameters.

Discord - [Arbitrum](https://discord.com/invite/5KE54JwyTs)
### Learn More About 0G

Twitter: [Arbitrum](https://twitter.com/arbitrum)
[0G Website](https://0g.org/)
[0G Github](https://github.com/0g-project/0g)

### Learn More About Arbitrum Orbit

[Arbitrum Orbit Docs](https://developer.arbitrum.io/orbit)