Token导航 LogoToken导航TokenDH.com
前端设计external-servicegithub未标认证来源可访问许可证需确认审计通过

solidity-gas-optimization固体气体优化

Agent Skill

solidity-gas-optimization 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

423

周安装

18

GitHub Stars

公开资料未说明

下载量

148
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:solidity-gas-optimization(固体气体优化)
来源仓库:https://github.com/whackur/solidity-agent-toolkit
仓库路径:skills/solidity-gas-optimization
安装命令:
npx skills add https://github.com/whackur/solidity-agent-toolkit --skill solidity-gas-optimization
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/whackur/solidity-agent-toolkit --skill solidity-gas-optimization

简介

固体气体优化用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,提升智能合约效率。

  • 它适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态或代码变更进行整理。
  • 通过 npx skills add 命令从指定仓库安装,需结合原始 README 确认具体用法。
  • 使用前应核实权限范围、维护状态,避免触发联网或文件读写操作。
  • solidity-gas-optimization 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Solidity Gas Optimization

When to Apply

  • During contract development to reduce deployment and runtime costs.
  • When hitting the 24KB contract size limit.
  • When optimizing high-frequency functions (e.g., swaps, transfers).
  • When designing storage-heavy protocols.
  • Before final security audits to ensure efficiency doesn't compromise safety.

Critical Optimizations

Storage Layout Packing

EVM reads and writes in 32-byte (256-bit) slots. Variables smaller than 32 bytes that are declared consecutively share a slot, reducing SSTORE operations. A new SSTORE costs 20,000 gas; packing avoids additional slot allocations.

What to verify: Consecutive variables of the same or smaller combined size (≤32 bytes) are grouped together. Place uint128 next to uint128, not separated by a uint256.

Custom Errors vs Revert Strings

Custom errors are encoded as 4-byte selectors, whereas revert strings store the full string in contract bytecode and in memory at runtime. Custom errors save gas on both deployment (smaller bytecode) and execution (cheaper encoding).

What to verify: All require statements with string messages are replaced with if (...) revert CustomError() patterns.

Immutable and Constant Variables

constant values are inlined at compile time — zero storage reads. immutable values are stored in contract bytecode (set once in constructor), costing ~3 gas to read instead of ~2,100 gas for a cold SLOAD.

What to verify: Values known at compile time use constant. Values set once in the constructor use immutable. Neither uses a storage slot.

High Impact Optimizations

Calldata vs Memory

calldata is read-only and avoids the ABI decode copy into memory. For external functions with array or struct parameters that are only read (not modified), calldata saves the entire memory copy cost.

What to verify: External function parameters that are not modified use calldata instead of memory.

Unchecked Arithmetic

Solidity 0.8+ adds overflow/underflow checks on every arithmetic operation (~30 gas each). For loop counters where overflow is mathematically impossible (e.g., i < length where length ≤ type(uint256).max), wrapping the increment in unchecked safely removes this overhead.

What to verify: Loop increment operations (++i) are inside unchecked blocks where overflow is provably impossible.

Short-Circuit Evaluation

Solidity evaluates && and || left-to-right, stopping at the first decisive result. Placing cheap conditions (storage reads < external calls) and high-failure-probability conditions first reduces average gas cost.

What to verify: Conditions in && expressions are ordered cheapest/most-likely-to-fail first.

Medium Impact Optimizations

Loop Optimizations

Accessing .length on a storage array costs a SLOAD each iteration. Caching the length in a local variable converts repeated SLOADs to near-free MLOAD operations.

What to verify: Array length is cached in a local variable before the loop. No storage reads inside the loop body that could be cached.

Efficient Data Types

The EVM operates on 256-bit words natively. Smaller types (uint8, uint32) require additional masking operations when used in isolation. Use uint256 for math and smaller types only when packing into a single storage slot. For short strings (≤32 bytes), bytes32 avoids dynamic allocation overhead.

What to verify: uint256 is the default for standalone math. Smaller types are used only for storage packing. Short constant strings use bytes32.

Minimize Storage Writes

SSTORE is the most expensive EVM operation (20,000 gas new, 5,000 update, 2,900 refund for clearing). Batch updates to write once instead of multiple times. For same-transaction temporary state, EIP-1153 transient storage (TSTORE/TLOAD at 100 gas each) eliminates the need for storage writes entirely.

What to verify: State variables are not written multiple times in the same function. Temporary state within a single transaction uses transient storage (Solidity ≥0.8.24).

Advanced Optimizations

Assembly (Yul)

Inline assembly bypasses Solidity's safety checks and memory management for direct EVM opcode access. Use for gas-critical operations like efficient transfers, custom encoding, or storage manipulation. The readability tradeoff is significant — every assembly block must be heavily documented.

What to verify: Assembly is used only where measurable gas savings justify the readability cost. All assembly blocks have detailed comments.

Solady Library

Solady provides gas-optimized alternatives to OpenZeppelin contracts (SafeTransferLib, Ownable, ERC20, etc.) using assembly-level optimizations. Typical savings: 20-50% gas reduction on common operations.

What to verify: For gas-critical applications, Solady alternatives are evaluated for standard patterns (token transfers, ownership, ERC implementations).

EIP-1167 Minimal Proxy (Clones)

The Clone pattern deploys a 45-byte proxy that delegates all calls to a single implementation contract. Deployment cost drops from ~500k gas (full contract) to ~42k gas (proxy). Use when deploying many instances of the same logic.

What to verify: Contracts deployed in bulk (e.g., per-user vaults, per-pair pools) use the clone pattern instead of full deployment.

Optimization Checklist

  1. Are variables packed into 32-byte slots?
  2. Are all revert strings replaced with custom errors?
  3. Are constant and immutable used where possible?
  4. Are function parameters calldata instead of memory?
  5. Are loop increments unchecked?
  6. Is array length cached before loops?
  7. Are uint256 used instead of smaller types for math?
  8. Are bytes32 used instead of string for short data?
  9. Are storage writes minimized/batched?
  10. Is short-circuiting applied to complex conditionals?
  11. Are external functions used instead of public where possible?
  12. Is Solady used for standard utilities?
  13. Are TSTORE/TLOAD used for transient state?
  14. Is the contract size within the 24KB limit?

Enhanced with MCP

Leverage solidity-agent-toolkit MCP tools for precise optimization analysis:

Measure and compare:

  • gas_snapshot — Generate gas reports and compare across different implementations
  • estimate_gas — Get function-level gas estimates for specific calls
  • inspect_storage — Visualize storage layout and identify packing opportunities

Automate optimization review:

  • Use the optimize_gas prompt for a structured, MCP-guided optimization workflow

Check for optimization-related vulnerabilities:

  • match_vulnerability_patterns — Detect patterns where optimization may compromise security (e.g., unchecked usage in non-loop contexts)

References

  • For security implications of optimizations: Security Best Practices skill
  • For auditing optimized code: Code Review skill

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.01%
按下载量换算47

Claude

31.45%
按下载量换算47

Cursor

17.09%
按下载量换算25

Gemini CLI

9.62%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills