The Cairo prelude is a collection of commonly used modules, functions, data types, and traits that are automatically brought into scope of every module in a Cairo crate without needing explicit import statements. Cairo's prelude provides the basic building blocks developers need to start Cairo programs and writing smart contracts.
The core library prelude is defined in the
file of the corelib crate and contains Cairo's primitive data types, traits,
operators, and utility functions. This includes: Data types - felts, bools,
arrays, dicts, etc. Traits - behaviors for arithmetic, comparison, serialization
Operators - arithmetic, logical, bitwise Utility functions - helpers for arrays,
maps, boxing, etc. The core library prelude delivers the fundamental programming
constructs and operations needed for basic Cairo programs, without requiring the
explicit import of elements. Since the core library prelude is automatically
imported, its contents are available for use in any Cairo crate without explicit
imports. This prevents repetition and provides a better devX. This is what
allows you to use
ArrayTrait::append() or the
Default trait without bringing
them explicitly into scope.
The following section provides a brief overview of commonly used types and traits when developing Cairo programs. Most of these are included in the prelude and not required to be imported explicitly - but not all of them.
This is not an exhaustive list, but it covers some of the commonly used types and traits in contract development. For more details, refer to the official documentation and explore the available libraries and frameworks.