diff --git a/pages/builders/notices/_meta.json b/pages/builders/notices/_meta.json index 0b387da16..c52a90569 100644 --- a/pages/builders/notices/_meta.json +++ b/pages/builders/notices/_meta.json @@ -1,4 +1,5 @@ { "granite-changes": "Preparing for Granite Breaking Changes", - "fp-changes": "Preparing for Fault Proofs Breaking Changes" + "fp-changes": "Preparing for Fault Proofs Breaking Changes", + "sdk-deprecation": "Preparing for Optimism SDK deprecation" } diff --git a/pages/builders/notices/sdk-deprecation.mdx b/pages/builders/notices/sdk-deprecation.mdx new file mode 100644 index 000000000..302f4afba --- /dev/null +++ b/pages/builders/notices/sdk-deprecation.mdx @@ -0,0 +1,101 @@ +--- +title: Deprecation of the Optimism SDK +lang: en-US +description: This page outlines the details of the Optimism SDK deprecation and guides developers to migrate to using `viem` library. +--- + +## Preparing for Optimism SDK deprecation + +The Optimism SDK will officially be deprecated in Q1 2025. The project is shifting to the `viem` library for a more modern, efficient, and flexible development experience. This change affects all tutorials and resources that previously relied on the Optimism SDK, and relevant documentation has been updated accordingly. + +### Breaking changes to expect + +The migration from the Optimism SDK to `viem` library brings several breaking changes: + +* **Transaction estimation**: Methods for estimating gas fees will now leverage `viem` APIs. +* **Bridging**: All token bridging actions must be updated to use the `viem` library bridging methods. +* **Cross-chain communication**: `viem` library simplifies the cross-domain messaging functionality. +* **SDK method removal**: All deprecated SDK methods will be unavailable after Q1 2025. + +Developers and users are strongly encouraged to transition to `viem` before the deprecation date to avoid disruptions. + +### Updated tutorials + +We are updating our tutorials to use the `viem` library. + + {/* Below, you'll find links to the updated versions of popular tutorials: + +* [Estimating Transaction Costs on OP Mainnet](../tutorials/transaction-cost-estimation)\ + Estimation of transaction costs now uses the `viem` gas estimation utilities. + +* [Triggering OP Mainnet Transactions from Ethereum](../tutorials/trigger-op-transactions)\ + Learn how to trigger transactions using `viem` to interact with the OP Mainnet. + +* [Tracing Deposits and Withdrawals](../tutorials/tracing-deposits-withdrawals)\ + The tracing functionalities have been adapted to use `opstack` for efficient results. + +* [Viewing Deposits and Withdrawals by Address](../tutorials/view-deposits-withdrawals)\ + This tutorial outlines updated methods in `viem` for querying deposits and withdrawals by address. + +* [Bridging Your Standard ERC-20 Token Using the Standard Bridge](../tutorials/bridge-standard-erc20)\ + The standard bridge tutorial now uses `opstack` for token transfers between Ethereum and OP Mainnet. + +* [Bridging Your Custom ERC-20 Token Using the Standard Bridge](../tutorials/bridge-custom-erc20)\ + Custom ERC-20 tokens can now be bridged via `opstack`, making the process more streamlined. + +* [Bridging ERC-20 Tokens to OP Mainnet With the Optimism SDK](../tutorials/bridge-sdk-erc20)\ + **Deprecated** – please use [Bridging Your Custom ERC-20 Token Using the Standard Bridge](../tutorials/bridge-custom-erc20). + +* [Bridging ETH to OP Mainnet With the Optimism SDK](../tutorials/bridge-sdk-eth)\ + **Deprecated** – please use [Estimating Transaction Costs on OP Mainnet](../tutorials/transaction-cost-estimation). + +* [Communicating Between OP Mainnet and Ethereum in Solidity](../tutorials/cross-chain-solidity)\ + Cross-chain communication now leverages `opstack` for all messaging. */} + +### For app developers + +If your application currently depends on the Optimism SDK, you will need to migrate to using the `viem` library. +The tutorials have been updated to reflect these changes, and it is critical to update your applications before the deprecation date to maintain compatibility. + +Here are some key points to consider: + +Install new dependencies: Replace the Optimism SDK with `viem` in your project. + +```bash + pnpm remove @eth-optimism/sdk + pnpm add viem +``` + +* Update imports: Replace Optimism SDK imports with `viem` imports. +* Migrate SDK methods: Refactor your code to use equivalent `viem` methods. Refer to the viem documentation and opstack documentation for guidance. +* Test thoroughly: After migration, extensively test your application to ensure all functionality works as expected. + +### For chain operators + +Chain operators utilizing the SDK for cross-chain operations, bridging, or other functions should switch to the `viem` library. +The `viem` library offers more efficient methods to handle these operations. + +Chain operators should be aware of the following: + +* SDK removal: Remove any dependencies on the Optimism SDK in your infrastructure. +* Update tooling: Ensure all tools and scripts are updated to use `viem`. +* Monitor performance: After migration, closely monitor your chain's performance to ensure smooth operation. + +### For node operators + +Node operators will need to ensure that any scripts or services relying on the Optimism SDK are updated to use `viem` library. +These updates will help align with future improvements and scalability efforts across the OP Stack. + +Node operators should take the following steps: + +* Update node software: Ensure your node software is compatible with the latest `viem` libraries. +* Review configuration: Check and update any configuration files that may reference the Optimism SDK. +* Test thoroughly: Perform comprehensive testing in a staging environment before updating production nodes. + +### Need Help? + +For further assistance or questions about this migration, feel free to reach through the following channels: + +* Join our [community forum](https://community.optimism.io/) for discussions and support +* Connect with us on [Discord](https://discord.gg/optimism) for community support +* Open an [issue on our GitHub repository](https://github.com/ethereum-optimism/docs/issues) for documentation-related concerns diff --git a/theme.config.tsx b/theme.config.tsx index a4b8adcca..b720e1a0e 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -28,6 +28,14 @@ const config: DocsThemeConfig = { ), darkMode: true, + banner: { + key: 'viem/op-stack', + text: ( + + 🎉 We are deprecating the Optimism SDK and migrating all tutorials to use viem/op-stack. Read more → + + ) + }, search: { component: Search, }, diff --git a/words.txt b/words.txt index 90467007b..3fde99f89 100644 --- a/words.txt +++ b/words.txt @@ -230,6 +230,7 @@ offchain Openfort oplabs opnode's +opstack Opti pausable pcscdpath