Skip to content

Commit b39895e

Browse files
authored
Merge pull request #1363 from nvitorovic/tenderly-updates
Add info on Tenderly
2 parents af402b3 + f44eeb4 commit b39895e

File tree

8 files changed

+65
-28
lines changed

8 files changed

+65
-28
lines changed

pages/app-developers/testing-apps.mdx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,29 @@ Most Ethereum development stacks include features that make testing easier, whic
1717
Therefore, it is a good idea to run the majority of tests, which do not rely on OP Stack-specific features, in the development stack.
1818
It is a lot faster.
1919

20-
It is a best practice to design and run thorough tests across an OP test network, either in your [local multichain development environment](/app-developers/tools/supersim), our [devnets](/stack/public-devnets), or on [the test network](/superchain/networks#op-sepolia), depending on your use case.
20+
It is a best practice to design and run thorough tests across an OP test network, either in your [local multichain development environment](/app-developers/tools/supersim), our [devnets](/stack/public-devnets), or on [the test network](/superchain/networks#op-sepolia), depending on your use case. Alternatively, with [Tenderly Virtual TestNets](https://docs.tenderly.co/virtual-testnets?mtm_campaign=ext-docs&mtm_kwd=optimism)you can run tests with complete integration with existing protocols, access to unlimited faucets, continuous state sync, and access to development tools such as Debugger and Simulator UI.
2121
Running proper testing is key to identifying fringe cases where the equivalence between OP Stack chains and Ethereum breaks down (or where Ethereum mainnet itself and the development stack may be non-equivalent in a production environment).
2222

2323
## Multilayer integration tests
2424

2525
Some apps need OP Stack-specific features that aren't available as part of the development stack.
2626
For example, if your decentralized application relies on [inter-domain communication](/app-developers/bridging/messaging), the effort of developing a stub to let you debug it in a development stack is probably greater than the hassle of having the automated test go to [a local multichain development environment](/app-developers/tools/supersim) each time.
2727

28+
## Testing and Staging with Tenderly
29+
30+
Tenderly [Virtual TestNets](https://docs.tenderly.co/virtual-testnets?mtm_campaign=ext-docs&mtm_kwd=optimism) provide a powerful environment for testing OP Stack applications with mainnet-like conditions. They offer several advantages for testing OP Stack applications:
31+
32+
* **Mainnet State Replication**: Virtual TestNets can sync with the latest OP Stack mainnet state, allowing you to test against real network conditions and interact with up-to-date protocols without spending real assets.
33+
* **Unlimited Faucet**: Access [unlimited test tokens](https://docs.tenderly.co/virtual-testnets/unlimited-faucet?mtm_campaign=ext-docs&mtm_kwd=optimism) for both native currency and ERC-20 tokens, enabling comprehensive testing of complex DeFi interactions.
34+
* **Collaborative Testing**: Your entire team can access the same testing environment, making it easier to debug issues and validate fixes.
35+
* **CI/CD Integration**: Incorporate automated testing in your deployment pipeline using [Virtual TestNets' API](https://docs.tenderly.co/reference/api#/operations/createAlert?mtm_campaign=ext-docs&mtm_kwd=optimism) and [GitHub Actions integration](https://docs.tenderly.co/virtual-testnets/ci-cd/github-actions-foundry?mtm_campaign=ext-docs&mtm_kwd=optimism).
36+
* **Development tools**: Rely on the built-in [developer explorer](https://docs.tenderly.co/developer-explorer?mtm_campaign=ext-docs&mtm_kwd=optimism) and debugging tools to analyze test transactions and contract interactions.
37+
2838
## Integration with other products
2939

3040
In many cases a decentralized application requires the services of other contracts.
3141
For example, [Perpetual v. 2](https://docs.perp.com/docs/guides/integration-guide) cannot function without [Uniswap v. 3](https://uniswap.org/blog/uniswap-v3).
3242

3343
* If that is the case, you can use [mainnet forking](/app-developers/tutorials/supersim/reference/fork). It works with OP Stack chains.
44+
* Create a Virtual TestNet to get access to third party contracts (e.g. Uniswap) and it's latest or historical state.
3445
* Alternatively, you can connect to our [test network](/superchain/networks#op-sepolia) if those contracts are also deployed there (in many cases they are).

pages/app-developers/tools/_meta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"title": "Superchain Dev Console",
44
"href": "https://console.optimism.io/?utm_source=docs",
55
"newWindow": true
6-
},
6+
},
77
"supersim": "Supersim Multichain Dev Env",
88
"connect": "Connecting",
99
"build": "Building"

pages/app-developers/tools/build/analytics-tools.mdx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ lang: en-US
44
description: Learn about platforms you can use to gather analytics and setup customizations about OP Mainnet.
55
---
66

7-
import { Callout } from 'nextra/components'
8-
97
# Analytics tools
108

119
The following guide lists platforms you can use to gather analytics and setup customizations about OP Mainnet.
@@ -21,15 +19,12 @@ The following guide lists platforms you can use to gather analytics and setup cu
2119

2220
## Tenderly
2321

24-
[Tenderly](https://tenderly.co/) monitoring stack lets you [inspect any transaction execution on OP Mainnet or OP Sepolia](https://docs.tenderly.co/debugger#how-to-use-tenderly-debugger).
25-
26-
You can inspect the state of your verified contract in any step of the transaction's execution, as well as step into or over function calls.
27-
The level of detail the Tenderly dashboard presents will reduce your development time as well as help you understand the execution flow of transactions.
28-
It helps you to inspect states at every instance of transaction and gives a platform to trace transactions. You can also simulate pending (or any other historical) transactions and see their exact outcomes.
22+
[Tenderly](https://tenderly.co/?mtm_campaign=ext-docs&mtm_kwd=optimism) provides comprehensive monitoring and security solutions for OP-powered Chains, allowing you to stay informed and respond proactively to potential issues in real time.
2923

30-
* [monitor wallets](https://blog.tenderly.co/how-to-monitor-ethereum-wallets/)
31-
* [setup real-time alerts for smart contracts](https://blog.tenderly.co/how-to-set-up-real-time-alerting-for-smart-contracts-with-tenderly/)
32-
* [automate your responses to alert triggers](https://blog.tenderly.co/tenderly-alert-webhooks/) with custom webhooks
24+
* Configure [Tenderly Alerts](https://docs.tenderly.co/alerts/intro-to-alerts?mtm_campaign=ext-docs&mtm_kwd=optimism) for monitoring wallets and setting up real-time notifications on transactions and contract events. Notifications trigger external webhooks, PagerDuty, or chat apps like Telegram and Slack.
25+
* Rely on [Developer Explorer](https://docs.tenderly.co/developer-explorer?mtm_campaign=ext-docs&mtm_kwd=optimism) to monitor and analyze transaction execution with high level of details.
26+
* Use [Web3 Actions](https://docs.tenderly.co/web3-actions/intro-to-web3-actions?mtm_campaign=ext-docs&mtm_kwd=optimism) to automate predefined responses, improving security and user experience.
27+
* Integrate [Simulation RPC](https://docs.tenderly.co/simulations/single-simulations#simulate-via-rpc?mtm_campaign=ext-docs&mtm_kwd=optimism) to predict transaction outcomes such as the expected asset changes, precise gas usage, and emitted events.
3328

3429
## Dune analytics
3530

pages/app-developers/tools/build/block-explorers.mdx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Callout } from 'nextra/components'
1111
This reference guide lists different block explorers you can use to interact with contract source code and view transaction history for OP Mainnet and OP Sepolia.
1212

1313
<Callout type="default">
14-
This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community block explorers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/block-explorers.md) for an additional listing of third-party block explorers.
14+
This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community block explorers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/block-explorers.md) for an additional listing of third-party block explorers.
1515
</Callout>
1616

1717
## Blockscout
@@ -53,6 +53,7 @@ It's also got some OP-Mainnet-specific features:
5353
[Superscan](https://superscan.network) is the dev-focused Superchain explorer unified at the ecosystem level, powered by [Routescan](https://routescan.io). On the Superscan, developers can quickly glance at transactions, blocks, addresses, deployed contracts and more across the Superchain in unified pages.
5454

5555
The Superscan currently includes:
56+
5657
* Mainnet - OP Mainnet, Base, Zora, Mode, Cyber, Orderly, Fraxtal, Public Goods Network
5758
* Testnet - Zora, Mode, Orderly, Fraxtal
5859

@@ -65,6 +66,21 @@ Once Upon currently supports:
6566
* Mainnet - Ethereum, OP Mainnet, Base, Zora, Public Goods Network
6667
* Sepolia - Ethereum, OP Sepolia, Base, Zora, Public Goods Network, Lyra, Mode
6768

69+
70+
## Tenderly
71+
72+
Tenderly's [Developer Explorer](https://docs.tenderly.co/developer-explorer?mtm_campaign=ext-docs&mtm_kwd=optimism) for OP Mainnet and Op Sepolia allows you to monitor and inspect transactions, providing high level of details and additional tools:
73+
74+
Tenderly Developer Explorer lets you:
75+
76+
* Keep track of specific [contracts](https://docs.tenderly.co/developer-explorer/contracts?mtm_campaign=ext-docs&mtm_kwd=optimism) and their transactions
77+
* Inspect [transaction execution](https://docs.tenderly.co/developer-explorer/inspect-transaction?mtm_campaign=ext-docs&mtm_kwd=optimism) with fully decoded transaction trace
78+
* [Debug](https://docs.tenderly.co/debugger?mtm_campaign=ext-docs&mtm_kwd=optimism) failing and [simulate](https://docs.tenderly.co/simulator-ui/using-simulation-ui?mtm_campaign=ext-docs&mtm_kwd=optimism) correct transactions before sending them on-chain
79+
* Evaluate [function-level gas usage](https://docs.tenderly.co/debugger/gas-profiler?mtm_campaign=ext-docs&mtm_kwd=optimism) for any transaction
80+
* Set up [Alerts](https://docs.tenderly.co/alerts/tutorials-and-quickstarts/alerting-quickstart-guide?mtm_campaign=ext-docs&mtm_kwd=optimism) to monitor interactions, access control, asset transfers, and contracts' state changes
81+
* Create a [Virtual TestNet](https://docs.tenderly.co/virtual-testnets?mtm_campaign=ext-docs&mtm_kwd=optimism) from a specific OP Mainnet or OP Chain transaction for systematic research
82+
83+
6884
## Access to pre-regenesis history
6985

7086
Because of our final regenesis on 11 November 2021, older transactions are not part of the current blockchain and do not appear on [Etherscan](https://explorer.optimism.io/).

pages/app-developers/tools/build/faucets.mdx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,19 @@ The Superchain Faucet is a great place to start if you're looking for testnet ET
2929

3030
## Additional faucets
3131

32-
| Faucet Name | Supported Networks |
33-
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
34-
| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia |
35-
| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia |
36-
| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia |
37-
| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia |
38-
| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia |
39-
| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia |
40-
| [ETHGlobal Testnet Faucet](https://ethglobal.com/faucet) | Sepolia, OP Sepolia, Base Sepolia, Zora Sepolia, Holesky |
41-
| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia |
42-
| [thirdweb Sepolia Faucet](https://thirdweb.com/sepolia?utm_source=opdocs\&utm_medium=docs) | Sepolia |
43-
| [thirdweb OP Sepolia Faucet](https://thirdweb.com/op-sepolia-testnet?utm_source=opdocs\&utm_medium=docs) | OP Sepolia |
32+
| Faucet Name | Supported Networks |
33+
|--------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
34+
| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia |
35+
| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia |
36+
| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia |
37+
| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia |
38+
| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia |
39+
| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia |
40+
| [ETHGlobal Testnet Faucet](https://ethglobal.com/faucet) | Sepolia, OP Sepolia, Base Sepolia, Zora Sepolia, Holesky |
41+
| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia |
42+
| [thirdweb Sepolia Faucet](https://thirdweb.com/sepolia?utm_source=opdocs\&utm_medium=docs) | Sepolia |
43+
| [thirdweb OP Sepolia Faucet](https://thirdweb.com/op-sepolia-testnet?utm_source=opdocs\&utm_medium=docs) | OP Sepolia |
44+
| [Tenderly Unlimited Faucet](https://docs.tenderly.co/virtual-testnets/unlimited-faucet?mtm_campaign=ext-docs&mtm_kwd=optimism) | OP Sepolia, OP Mainnet, and [85+ other networks](https://docs.tenderly.co/supported-networks?mtm_campaign=ext-docs&mtm_kwd=optimism) |
4445

4546
## Bridge from Sepolia
4647

pages/app-developers/tools/connect/rpc-providers.mdx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,18 @@ With the option to upgrade to a premium plan for additional features, we allow y
134134
* OP Mainnet
135135
* OP Sepolia
136136

137+
## Tenderly
138+
139+
### Description and pricing
140+
141+
[Tenderly](https://www.tenderly.co?mtm_campaign=ext-docs&mtm_kwd=optimism) offers high-performance RPC access for OP Mainnet and testnet nodes, with global routing and soft rate limits, providing consistent support for developers. With a free tier and premium plans, Tenderly offers a comprehensive range of features. Identify and resolve issues faster, minimize latency, and ensure reliable dApp performance with built-in debugging, testing, monitoring tools, and development and staging infrastructure. Ensure your dApp's performance with enterprise-grade RPC access that scales seamlessly, delivering low latency and high availability across multiple regions.
142+
143+
### Supported networks
144+
145+
* OP Mainnet
146+
* OP Sepolia
147+
148+
137149
## Inclusion criteria
138150

139151
Developer teams who want to feature products/tools on this page must meet the following criteria:

pages/app-developers/transactions/estimates.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Refer to the guide on [Setting Transaction Gas Parameters on OP Mainnet](./param
3737

3838
Using the same tooling that you'd use to estimate the gas limit for a transaction on Ethereum, estimate the gas limit for your transaction on OP Mainnet.
3939
OP Mainnet is designed to be [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so transactions will use the same amount of gas on OP Mainnet as they would on Ethereum.
40-
This means you can feed your transaction to the [`eth_estimateGas`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas) JSON-RPC method just like you would on Ethereum.
40+
This means you can feed your transaction to the [`eth_estimateGas`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas) JSON-RPC method just like you would on Ethereum. Alternatively, use Tenderly's [`tenderly_estimateGas`](https://docs.tenderly.co/node/rpc-reference/optimism-mainnet/tenderly_estimateGas) for 100% accurate gas estimations.
4141

4242
{<h3>Estimate the max fee per gas</h3>}
4343

pages/app-developers/transactions/parameters.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lang: en-US
44
description: Learn how to set gas parameters for transactions on OP Mainnet.
55
---
66

7-
import { Callout, Steps } from 'nextra/components'
7+
import { Steps } from 'nextra/components'
88

99
# Setting transaction gas parameters on OP Mainnet
1010

@@ -60,5 +60,7 @@ The priority fee is paid in addition to the base fee.
6060

6161
The simplest way to select a priority fee is to use the [`eth_maxPriorityFeePerGas`](https://docs.alchemy.com/reference/eth-maxpriorityfeepergas) JSON-RPC method to retrieve an estimate for an acceptable priority fee.
6262
Many Ethereum libraries will provide a function to call this JSON-RPC method.
63-
Alternatively, you can also use the [`eth_feeHistory`](https://docs.alchemy.com/reference/eth-feehistory) JSON-RPC method to retrieve historical priority fee data.
63+
You can also use the [`eth_feeHistory`](https://docs.alchemy.com/reference/eth-feehistory) JSON-RPC method to retrieve historical priority fee data.
6464
You can then use this data to predict a reasonable priority fee for your transaction.
65+
66+
Alternatively, you can rely on Tenderly's [`tenderly_gasPrice`](https://docs.tenderly.co/node/rpc-reference/optimism-mainnet/tenderly_gasPrice?mtm_campaign=ext-docs&mtm_kwd=optimism) to get real-time gas predictions with 3 levels of likelihood for transaction inclusion.

0 commit comments

Comments
 (0)