Skip to content

Commit

Permalink
feat(docs/op-stack): Readability improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
qbzzt committed Jul 12, 2023
1 parent 2f7ac8b commit fd815d4
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions docs/op-stack/src/docs/build/sdk.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
---
title: Using the SDK with OP Stack
title: Using the OP Stack Client SDK
lang: en-US
---


::: info Other OP Chains
## Natively supported chains

The SDK supports multiple OP Chains: OP, Base, Zora, etc.
To see whether a specific OP Chain is supported directly, look in the `CONTRACT_ADDRESSES` constant in [`chain-constants.ts`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/sdk/src/utils/chain-constants.ts#L124-L129).
[The OP Stack Client SDK](https://sdk.optimism.io/) natively supports multiple OP Chains: OP, Base, Zora, etc.
To see whether a specific OP Chain is supported directly, [see the documentation](https://sdk.optimism.io/enums/l2chainid).

The steps in this document are only needed if you are using a chain that the SDK does not support natively.
## Not natively supported chains

:::
If you are using a chain that is *not* natively supported, for example an OP Stack chain [you just created](./getting-started.md), you can continue to use [the OP Stack Client SDK](https://sdk.optimism.io/).
You just need to provide some contract addresses to the `CrossDomainMessenger` because they aren't preconfigured.

When building applications for use with your OP Stack, you can continue to use [the Optimism JavaScript SDK](https://sdk.optimism.io/). The main difference is you need to provide some contract addresses to the `CrossDomainMessenger` because they aren't preconfigured.
### Getting contract addresses

#### L1 contract addresses

## Contract addresses

### L1 contract addresses

The contract addresses are in `.../optimism/packages/contracts-bedrock/deployments/getting-started`, which you created when you deployed the L1 contracts.
If you followed the directions in [Getting Started](./getting-started.md), the contract addresses are in `.../optimism/packages/contracts-bedrock/deployments/getting-started`, which you created when you deployed the L1 contracts.

| Contract name when creating `CrossDomainMessenger` | File with address |
| - | - |
Expand All @@ -31,9 +29,9 @@ The contract addresses are in `.../optimism/packages/contracts-bedrock/deploymen
| `L2OutputOracle` | `L2OutputOracleProxy.json`


### Unneeded contract addresses
#### Unneeded contract addresses

Some contracts are required by the SDK, but not actually used.
Some contracts are required by the SDK as a sanity check, but are not actually used.
For these contracts you can just specify the zero address:

- `StateCommitmentChain`
Expand All @@ -42,7 +40,7 @@ For these contracts you can just specify the zero address:

In JavaScript you can create the zero address using the expression `"0x".padEnd(42, "0")`.

## The CrossChainMessenger object
### The CrossChainMessenger object

These directions assume you are inside the [Hardhat console](https://hardhat.org/hardhat-runner/docs/guides/hardhat-console).
They further assume that your project already includes the Optimism SDK [`@eth-optimism/sdk`](https://www.npmjs.com/package/@eth-optimism/sdk).
Expand Down Expand Up @@ -122,7 +120,7 @@ They further assume that your project already includes the Optimism SDK [`@eth-o
})
```

## Verify SDK functionality
### Verify SDK functionality

To verify the SDK's functionality, transfer some ETH from L1 to L2.

Expand Down

0 comments on commit fd815d4

Please sign in to comment.