Juan Cano-Benito
http://www.garcia-castro.com/foaf.rdf#me
This ontology aims to represent the ABI of a Solidity smart contract in Ethereum
Solidity ABI Ontology
0.0.1
Relationship between the main application binary interface and its specific components
has component
Relationship between the ABI and its errors
has error
Indicates which parameters are associated with a specific error
has error input parameter
Relationship between the ABI and its events
has event
Denotes which input parameters are associated with a specific event
has event input parameter
Relate the ABI to the representation of the source code
has implementation
Relationship between the ABI and its functions
has method
Binds a method to its input parameters
has method input parameter
Binds a method to its output parameters
has method output parameter
Indicates which state mutability has the method
has state mutability
Indicates that an abi:Component contains another component
has sub component
The address of the contract on the blockchain
address
For events, indicates whether a parameter is indexed, which affects how logs are stored and searchable
indexed
Internal type of the parameter
internal type
Indicates whether an event is anonymous, which affects how logs are recorded in Ethereum
is anonymous
Indicates if a method is constant, that is, if it only reads data and does not modify the state
is constant
The name of the contract associated to an address
name
Data type of the component (e.g. uint256, address)
type
Represents the contract implementation (Solidity ontology)
Smart Contract
The main interface that defines how to interact with a contract (knows as ABI)
Application Binary Interface
Represents an ABI component
Component
Defines the function that is executed when a contract is deployed
Constructor
Defines specific errors that a contract may emit
Error
Contracts in Ethereum can emit events to record notable activities
Event
A function that executes if no other function matches or if no data is provided in a transaction
Fallback
Specifies a typical function in a contract that can have inputs and outputs and can change the state of the contract
Function
Represent specific input parameters for events
Input Event
Represent specific input parameters
Input Parameter
Represents a specific function inside a smart contract
Method
Represent specific output parameters
Output Parameter
Details the types and names of parameters used in functions and events
Parameter
A special function that is executed when Ether is sent to a contract without additional data
Receive
Indicates how a function interacts with the contract storage, determining whether it modifies the state or simply reads the state
State Mutability
Denotes that a function cannot receive Ether
Non Payable
Denotes that a function can receive Ether along with its invocation
Payable
Denotes that a function does not read or write data to the contract; it is purely computational
Pure
Denotes that a function only reads data from the contract but does not modify its state
View