This guide covers common issues encountered when using EVM transaction tracing on Sei and provides practical solutions to resolve them.
Common Error Categories
1. Timeout Errors
Error: execution timeout
Cause: Tracer execution exceeded the configured timeout duration.
Solutions:
Best Practices:
- Start with shorter timeouts (30s) for testing
- Increase gradually based on transaction complexity
- Use built-in tracers when possible (they’re faster)
- Optimize JavaScript tracer code for performance
2. Memory Limit Errors
Error: out of memory or memory limit exceeded
Cause: Tracer collected too much data or inefficient memory usage.
Solutions:
Memory-Efficient Tracer Pattern:
3. JavaScript Tracer Errors
Error: SyntaxError or ReferenceError in JavaScript tracer
Common Issues:
Debugging JavaScript Tracers:
4. Network and Connection Issues
Error: connection refused or network timeout
Solutions:
5. Transaction Not Found
Error: transaction not found
Debugging Steps:
- Limit Data Collection:
- Use Efficient Data Structures:
- Selective Tracing:
Debugging Workflows
1. Failed Transaction Analysis
2. Gas Optimization Workflow
Error Code Reference
Common HTTP Error Codes
Tracer-Specific Errors
Best Practices Summary
✅ Do’s
- Start Simple: Begin with built-in tracers before custom JavaScript
- Set Timeouts: Always configure appropriate timeouts
- Limit Data: Collect only necessary information
- Test Incrementally: Test tracers on simple transactions first
- Monitor Resources: Watch memory and CPU usage
- Cache Results: Store expensive trace results when possible
❌ Don’ts
- Don’t Collect Everything: Avoid tracing all operations unnecessarily
- Don’t Ignore Errors: Always handle tracer errors gracefully
- Don’t Use Complex Logic: Keep tracer step functions simple
- Don’t Forget Timeouts: Never run tracers without timeout limits
- Don’t Trace in Production: Avoid heavy tracing on production nodes
Getting Help
If you encounter issues not covered in this guide:
- Check Node Logs: Look for error messages in your Sei node logs
- Verify Configuration: Ensure your node has tracing enabled
- Test Connectivity: Confirm RPC endpoints are accessible
- Simplify Tracers: Try built-in tracers first
- Community Support: Ask in the Sei Discord #dev-support channel
When reporting issues, include your tracer code, the transaction hash, and any error messages you receive. This helps the community provide better assistance.