Skill based on Solidity (ethereum/solidity) docs, generated at 2026-02-09.
Solidity is a statically typed, object-oriented language for EVM smart contracts. This skill covers source layout, types, contract structure, control flow, security patterns, compiler usage, and ABI/internals.
Core References
| Topic |
Description |
Reference |
| Source Layout |
SPDX, pragma, import, comments |
core-layout |
| Contract Structure |
State, functions, modifiers, events, errors, structs, enums |
core-structure |
| Types |
Value/reference/mapping types, operators, conversions |
core-types |
| Control Structures |
if/loop, internal/external calls, revert, try/catch |
core-control |
| Units and Globals |
Ether/time units, block/msg/tx, ABI/hash helpers |
core-units-globals |
Features
Contracts
| Topic |
Description |
Reference |
| Contracts |
Creation, visibility, modifiers, functions, events, errors, inheritance, interfaces, libraries, using-for |
features-contracts |
| Inline Assembly |
Yul in Solidity, access to variables, safety |
features-assembly |
| Yul |
Intermediate language, EVM opcodes, objects |
features-yul |
| NatSpec |
Tags, userdoc/devdoc output, @inheritdoc, @custom |
features-natspec |
| Events |
Indexed, anonymous, topics, selector, emit |
features-events |
| Custom Errors |
revert/require, selector, try/catch, ABI |
features-errors |
| Libraries |
DELEGATECALL, internal vs external, linking |
features-libraries |
| Inheritance |
virtual/override, super, C3, base constructors |
features-inheritance |
| Interfaces |
Restrictions, enum/struct, ABI alignment |
features-interfaces |
| Transient Storage |
EIP-1153, transaction-scoped, reentrancy locks |
features-transient-storage |
| Visibility and Getters |
external/public/internal/private, getter generation |
features-visibility-getters |
Best Practices
Advanced
| Topic |
Description |
Reference |
| Compiler |
solc CLI, Standard JSON, optimizer, libraries, path resolution |
advanced-compiler |
| Internals |
Storage/memory/calldata layout, optimizer, source mappings |
advanced-internals |
| ABI and Metadata |
ABI spec, contract metadata, NatSpec |
advanced-abi-metadata |
| SMTChecker |
Formal verification, engines, targets, options |
advanced-smtchecker |
| Path Resolution |
VFS, base/include paths, remapping, allowed paths |
advanced-path-resolution |
| Compilation Output |
Bytecode, --asm, optimized vs non-optimized |
advanced-compilation-output |