Skip to main content
Version: v6

Metadata Title Picture

Solidity ABI

The Solidity ABI is declared in the contract's manifest file (i.e. the Cargo.toml file) as follows:

[package.metadata.ink-lang]
abi = "sol"

When the Solidity ABI is specified, the ink! code generator follows the Solidity ABI specification. This means:

note

The Solidity ABI specification can only be used if all constructor and message argument and return types, and event argument types can be mapped to equivalent Solidity ABI types (more details here).

info

The contract ABI only describes how external interactions with a contract are encoded/decoded. The internal storage representation of a contract is still done in the SCALE codec!

Using the Solidity ABI does not imply switching to a different storage layout!