From 0278832e95b43c787a27e9c195bd84d169869556 Mon Sep 17 00:00:00 2001 From: srinjoyc Date: Mon, 18 Nov 2024 10:39:40 -0800 Subject: [PATCH] updated RPC providers that support stylus tracing --- .../stylus/how-tos/debugging-stylus-tx.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arbitrum-docs/stylus/how-tos/debugging-stylus-tx.mdx b/arbitrum-docs/stylus/how-tos/debugging-stylus-tx.mdx index afb45ee79..45b1ff1b8 100644 --- a/arbitrum-docs/stylus/how-tos/debugging-stylus-tx.mdx +++ b/arbitrum-docs/stylus/how-tos/debugging-stylus-tx.mdx @@ -170,3 +170,22 @@ This will produce a trace of the functions called and [ink](https://docs.arbitru ```sh [{"args":[0,0,0,4],"endInk":846200000,"name":"user_entrypoint","outs":[],"startInk":846200000},{"args":[],"endInk":846167558,"name":"msg_reentrant","outs":[0,0,0,0],"startInk":846175958},{"args":[],"endInk":846047922,"name":"read_args","outs":[208,157,224,138],"startInk":846061362},{"args":[],"endInk":845914924,"name":"msg_value","outs":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"startInk":845928364},{"args":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"endInk":227196069,"name":"storage_load_bytes32","outs":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"startInk":844944549},{"args":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"endInk":226716083,"name":"storage_cache_bytes32","outs":[],"startInk":226734563},{"args":[0],"endInk":226418732,"name":"storage_flush_cache","outs":[],"startInk":226486805},{"args":[],"endInk":226362319,"name":"write_result","outs":[],"startInk":226403481},{"args":[],"endInk":846200000,"name":"user_returned","outs":[0,0,0,0],"startInk":846200000}] ``` + +Developers can also use RPC providers to trace transactions and utilize `debug_traceTransaction` on live networks with the `stylusTracer`. For example: + +``` +curl -s -X POST -H "Content-Type: application/json" --data '{ + "jsonrpc": "2.0", + "method": "debug_traceTransaction", + "params": ["", {"tracer": "stylusTracer"}], + "id": 1 +}' +``` + +You can use the Sepolia RPC URL from our our [list](https://docs.arbitrum.io/for-devs/dev-tools-and-resources/chain-info#arbitrum-public-rpc-endpoints) or use an external provider, some that support this are: +- **[QuickNode](https://www.quicknode.com/)**: Testnet tracing supported on the free tier. +- **[Tenderly](https://tenderly.co/)**: Testnet tracing supported on the free tier. +- **[Ankr](https://www.ankr.com/)**: Tracing available on paid plans. +- **[Alchemy](https://www.alchemy.com/)**: Tracing available on paid plans. +- **[Chainstack](https://chainstack.com/)**: Tracing available on paid plans. +- **[Infura](https://infura.io/)**: Tracing available upon request.