Skip to content

The gas-analyzer is a tool for Ethereum developers seeking to enhance the efficiency and gas optimization of their Solidity code by Leveraging pattern matching and AST analysis, it discovers potential optimizations to boost efficiency

License

Notifications You must be signed in to change notification settings

malik672/gas-analyzer

Repository files navigation

Gas Analyzer

Overview

Gas Analyzer is a static analysis tool designed to optimize Solidity smart contracts by analyzing gas consumption patterns. Leveraging Abstract Syntax Tree (AST) parsing and regular expressions, this tool identifies potential gas inefficiencies and provides insights into optimizing your Ethereum smart contracts.

Features

  • Gas Inefficiency Detection: Identify code patterns that may lead to higher gas consumption.
  • Optimization Recommendations: Offer suggestions for optimizing gas usage in Solidity contracts.
  • AST Parsing: Utilize Abstract Syntax Tree parsing for deeper analysis of contract structures.

Getting Started

Prerequisites

Installation

# Clone the Gas Analyzer repository
git clone https://github.com/malik/gas-analyzer.git

# Change into the project directory
cd gas-analyzer

# Build the project
cargo build --release

# Usage
- to change the contract code
- navigate to src
- rewrite the contract.sol file to your choice
- after run `cargo build` then `cargo run ` in your project terminal

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

The Gas Analyzer project draws inspiration from 4nalyser and builds upon the work of the Ethereum development community and rareskills gas-optimization book(currently implementing some tricks from the book).

About

The gas-analyzer is a tool for Ethereum developers seeking to enhance the efficiency and gas optimization of their Solidity code by Leveraging pattern matching and AST analysis, it discovers potential optimizations to boost efficiency

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published