The EthOn Ethereum ontology, described using W3C RDF Schema and the Web Ontology Language. It is closely aligned with Gavin Wood's Ethereum yellow paper.
This is a simplified illustration of how EthOn models Ethereum.
More illustrations can be found in the EthOn_illustrations.md file.
*Account* is the superclass of all account types in Ethereum. All accounts are identified by an address (which, however, is derived differently for external and contract accounts) and an account state that contains the contract's balance and total message count, which is called its nonce. Contract accounts also have an associated storage state and EVM code. The address of an external account is derived from the public key of a public and private keypair, while a contract account address is a concatenation of the creator account's address and its nonce. Both contract accounts and external accounts can also be of type *protocol account* if they are specified in the Ethereum blockchain, i.e. the accounts pre-funded by the Ethereum crowdsale.
Status | unstable |
URI | http://ethon.consensys.net/Account |
Suggested string | Account |
Simple definition | There are two main types of accounts: external accounts (often referred to as "wallet" or simply "account") and contract accounts (usually just called "contract" or "smart contract"). An external account is what you need to use Ethereum. It is usually protected by a password. If you have the password you can send Ether from your account to another or use a contract. It has an Ethereum address (0x...) by which it is identified. |
Superclasses | AccountConcept |
Subclasses | ContractAccount ExternalAccount ProtocolAccount |
Properties include | address hasCurrentState hasState |
Used with | hasBeneficiary refunds controlsAccount loggedBy |
The group of all EthOn classes related to accounts.
Status | unstable |
URI | http://ethon.consensys.net/AccountConcept |
Suggested string | AccountConcept |
Superclasses | EthOnConcept |
Subclasses | Account AccountState AccountStorage ExternalActor |
Properties include | AccountDataProperty |
State of an Ethereum account. It is comprised on four pieces of information: nonce, balance, storage root and code hash. The data is stored in a Merkle Patricia tree as a mapping between addresses and account states. The account state is part of the world state, as it resembles the state of exactly one account.
Status | unstable |
URI | http://ethon.consensys.net/AccountState |
Suggested string | AccountState |
Superclasses | AccountConcept State |
Subclasses | ProtocolState |
Properties include | accountBalance accountNonce |
Used with | hasCurrentState hasState |
The account storage is part of the account state and it contains contains the values of all variables defined in the contract's code at a certain point in time. Usually Ethereum clients implement this structure as a Merkle Patricia Tree. Whenever any of the contract's variables are changed a new state is created.
Status | unstable |
URI | http://ethon.consensys.net/AccountStorage |
Suggested string | AccountStorage |
Simple definition | A data structure which contains the current storage state of a smart contract, i.e. the total supply of an ERC20 token and the mapping of account addresses to current balances. |
Superclasses | AccountConcept ModifiedMerklePatriciaTree |
Properties include | storageRoot |
Used with | hasAccountStorage |
A block is the basic element of a 'blockchain'. It functions as an entry in a distributed ledger, recording a series of transactions together with a reference to the previous block. A block is chained to its preceeding block by a cryptographic hash of its contents as a means of reference. Blocks contain an identifier for the final state after all transactions contained in it are validated. There is a consensus mechanism that provides incentives for nodes adding new blocks to the chain ("miners" in the Proof of Work protocol used by the main Ethereum network) that comply with the rules of Ethereum by issuing newly generated tokens ('Ether') to an account specified by the block's author.
Status | unstable |
URI | http://ethon.consensys.net/Block |
Suggested string | Block |
Simple definition | A block is an entry in a blockchain. It contains a series of transactions as well as a cryptographic hash linking it to the previous block in the chain. |
Superclasses | BlockConcept StateTransition |
Subclasses | GenesisBlock |
Properties include | hasParentBlock blockBeneficiaryReward blockSize createsPostBlockState hasBeneficiary hasTxTrie containsTx |
Used with | hasParentBlock spawnsBlock |
The group of all EthOn classes related to blocks.
Status | unstable |
URI | http://ethon.consensys.net/BlockConcept |
Suggested string | BlockConcept |
Superclasses | EthOnConcept |
Subclasses | Block ReceiptsTrie TxTrie Uncle |
Properties include | BlockDataProperty |
An Ethereum blockchain is a distributed database that maintains a continuously-growing list of records called *blocks* secured from tampering and revision. Each block contains a timestamp and a link to a previous block in a Merkle tree structure.
Status | unstable |
URI | http://ethon.consensys.net/Blockchain |
Suggested string | Blockchain |
Superclasses | NetworkConcept |
Properties include | startBlockNumber hasFork |
Used with | hasFork minesFor |
A call contract message is a contract message that calls a function in another contract.
Status | unstable |
URI | http://ethon.consensys.net/CallContractMsg |
Suggested string | CallContractMsg |
Superclasses | ContractMsg |
Properties include | msgOutput |
A type of transaction that is directed towards a contract account and calls a method in the contract's code.
Status | unstable |
URI | http://ethon.consensys.net/CallTx |
Suggested string | CallTx |
Superclasses | Tx |
One of the two main types of accounts on Ethereum, a contract account is an account whose behaviour is controlled by a smart contract. Contract accounts are identified by their address which is derived from the creator account's address and nonce. A contract account has a non-empty associated EVM code. It's state data consists of the bytecode, the contract's balance and the storage state of the contract's code (for example the value of variables). A contract account can only act when it is triggered by a message. It may not create and sign transactions, but it can receive transactions from external accounts as well as send and receive contract messages, which may involve a transfer of Ether. Contract accounts can also contain events which create log entries when triggered.
Status | unstable |
URI | http://ethon.consensys.net/ContractAccount |
Suggested string | ContractAccount |
Simple definition | A type of Ethereum account that represents a smart contract. Its behaviour is controlled by the logic in the smart contract's code. Like external accounts it is identified by an address. |
Superclasses | Account |
Properties include | accountCode accountCodeHash refunds |
Used with | creates |
A contract message is passed between a contract account and any other account (external or contract). It is the result of an execution chain originally triggered by an external eccount.
Status | unstable |
URI | http://ethon.consensys.net/ContractMsg |
Suggested string | ContractMsg |
Superclasses | Msg |
Subclasses | CallContractMsg CreateContractMsg SelfdestructContractMsg ValueContractMsg |
Properties include | hasOriginatorTx |
Used with | triggersMsg |
A create contract message is a subtype of a contract message that results in creation of a new contract account.
Status | unstable |
URI | http://ethon.consensys.net/CreateContractMsg |
Suggested string | CreateContractMsg |
Superclasses | ContractMsg |
A type of transaction that results in creation of a new contract account.
Status | unstable |
URI | http://ethon.consensys.net/CreateTx |
Suggested string | CreateTx |
Superclasses | Tx |
Groups all classes and subclasses that are original to the EthOn OWL ontology.
Status | unstable |
URI | http://ethon.consensys.net/EthOnConcept |
Suggested string | EthonConcept |
Subclasses | AccountConcept BlockConcept MessageConcept ModifiedMerklePatriciaTree NetworkConcept StateConcept |
Properties include | simpleDefinition suggestedStringRepresentation conformsTo |
One of the two main types of accounts on Ethereum, an external account is an account controlled by an external actor (as opposed to a contract account). The unique identifier of an external account is its address. It consists of the rightmost 160 bits of the keccak 256 hash of its public key (example: 0x1a1138875dAB9E0AC8b0fd4a37EEAC5eb26B870B). There is only one way external accounts can actively change the state of the blockchain. They can be used to send a valid transaction to the Ethereum blockchain. The transaction can be directed towards other external accounts or towards contract accounts. Since the private key is needed for sending, a valid transaction can only be created by the person or entity controlling the private key of the external account. Besides being target of transactions, external accounts can also be the target of contract messages, block beneficiary rewards, uncle beneficiary rewards or payouts of contract accounts that have self-destructed.
Status | unstable |
URI | http://ethon.consensys.net/ExternalAccount |
Suggested string | ExternalAccount |
Simple definition | An Ethereum account usually controlled by a person. It is identified by an address (0x...) and a public/private key-pair. |
Superclasses | Account |
Properties include | accountPublicKey |
A person or other entity able to interface to an Ethereum node, but external to the world of Ethereum. It can interact with Ethereum through depositing signed transactions and inspecting the blockchain and associated state. Has one (or more) intrinsic accounts. While it is assumed that the ultimate external actor will be human in nature, software tools will be used in its construction and dissemination.
Status | unstable |
URI | http://ethon.consensys.net/ExternalActor |
Suggested string | ExternalActor |
Superclasses | AccountConcept Agent |
Properties include | controlsAccount |
A full node is a participant in an Ethereum network that keeps a record of the full blockchain, the full state and may engage in mining.
Status | unstable |
URI | http://ethon.consensys.net/FullNode |
Suggested string | FullNode |
Simple definition | A piece of software which connects fully to an Ethereum network, storing its complete history and having the ability to submit new blocks to the blockchain (i.e. through mining). |
Superclasses | Node |
A genesis block is the unmined, deliberately created, very first block in a blockchain. It has no predecessors, i.e. no parent block.
Status | unstable |
URI | http://ethon.consensys.net/GenesisBlock |
Suggested string | GenesisBlock |
Superclasses | Block |
A light node is a participant in an Ethereum network that does not completely do any of the following: store the complete blockchain, store the complete world state, engage in mining.
Status | unstable |
URI | http://ethon.consensys.net/LightNode |
Suggested string | LightNode |
Simple definition | A piece of software which connects to an Ethereum network in a limited capacity, i.e. a smart phone wallet app which neither mines nor downloads the full blockchain, but can still send and receive messages. |
Superclasses | Node |
A log ntry is the result of an event in a smart contract, emitted during creation or execution of a contract account's code. It is related to the TxReceipt it was created in, the contract account that had the event, a series of 32-bytes log topics and a number of bytes of data.
Status | unstable |
URI | http://ethon.consensys.net/LogEntry |
Suggested string | LogEntry |
Superclasses | MessageConcept |
Properties include | logData hasLogTopic loggedBy |
Used with | hasLogEntry |
A 32-bytes long topic of a log entry. The log topics of a log entry have an order given by a topic index value.
Status | unstable |
URI | http://ethon.consensys.net/LogTopic |
Suggested string | LogTopic |
Superclasses | MessageConcept |
Properties include | logTopicData logTopicIndex |
Used with | hasLogTopic |
The group of all EthOn classes related to messages.
Status | unstable |
URI | http://ethon.consensys.net/MessageConcept |
Superclasses | EthOnConcept |
Subclasses | LogEntry LogTopic Msg ReceiptsTrie TxReceipt TxTrie |
Properties include | MessageDataProperty |
Merkle Patricia trees provide a cryptographically authenticated data structure that can be used to store all (key, value) bindings, although for the scope of this paper we are restricting keys and values to strings (to remove this restriction, just use any serialization format for other data types). They are fully deterministic, meaning that a Patricia tree with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black trees.
Status | unstable |
URI | http://ethon.consensys.net/ModifiedMerklePatriciaTree |
Suggested string | ModifiedMerklePatriciaTree |
Superclasses | EthOnConcept |
Subclasses | AccountStorage ReceiptsTrie TxTrie WorldState |
Data (as a set of bytes) and value (specified as Ether) that is passed between two accounts, either through the deterministic operation of an autonomous object (contract account) or the cryptographically secure signature of an external account.
Status | unstable |
URI | http://ethon.consensys.net/Msg |
Suggested string | Msg |
Superclasses | MessageConcept StateTransition |
Subclasses | ContractMsg Tx |
Properties include | msgError msgErrorString msgGasLimit msgGasUsed msgPayload value to |
Used with | to |
An Ethereum network is the group of all nodes that conform to a certain protocol variant.
Status | unstable |
URI | http://ethon.consensys.net/Network |
Suggested string | Network |
Superclasses | NetworkConcept |
The group of all EthOn classes related to networks.
URI | http://ethon.consensys.net/NetworkConcept |
Suggested string | NetworkConcept |
Superclasses | EthOnConcept |
Subclasses | Blockchain Network Node ProtocolVariant |
A participant in an Ethereum network, specifically an instance of one of the client implementations, which may be either a full node or a light node.
Status | unstable |
URI | http://ethon.consensys.net/Node |
Suggested string | Node |
Simple definition | A piece of software participating in the Ethereum network. |
Superclasses | NetworkConcept |
Subclasses | FullNode LightNode |
Properties include | clientVersion minesFor spawnsBlock |
URI | http://ethon.consensys.net/PostBlockState |
Superclasses | PostTxState |
Properties include | nextBlockState |
Used with | nextBlockState |
URI | http://ethon.consensys.net/PostMsgState |
Superclasses | WorldState |
Subclasses | PostTxState |
Properties include | nextMsgState |
Used with | nextMsgState |
URI | http://ethon.consensys.net/PostTxState |
Superclasses | PostMsgState |
Subclasses | PostBlockState |
Properties include | nextTxState |
Used with | nextTxState |
A protocol account is a type of account in Ethereum. Protocol accounts are specified in the Ethereum protocol, and have so far only been used to store the initial balance for users who participated in the Ethereum crowdsale. Protocol accounts could be added with any protocol change and may be either external accounts or contract accounts.
Status | unstable |
URI | http://ethon.consensys.net/ProtocolAccount |
Suggested string | PrefundedAccount |
Simple definition | An account that was created together with the blockchain itself or during a protcol update and can have an initial balance, e.g. from the crowdfunding of the blockchain. |
Superclasses | Account |
Properties include | accountBalancePrefunded |
This is a special state that can be created after specification of the protocol or any protocol change. It allows for setting balances of accounts, e.g. for prefunded accounts, creating predefined contract accounts with storage or setting any other state property as part of the protocol specification.
Status | unstable |
URI | http://ethon.consensys.net/ProtocolState |
Suggested string | ProtocolState |
Superclasses | AccountState |
A variant of the Ethereum protocol. Changes in the protocol result in a hard or soft fork.
Status | unstable |
URI | http://ethon.consensys.net/ProtocolVariant |
Suggested string | EthereumProtocolVariant |
Superclasses | NetworkConcept |
A trie structure that stores transaction receipts. Each block has a reference to the root hash of a receipts trie that stores the receipts of the transactions included in the block.
Status | unstable |
URI | http://ethon.consensys.net/ReceiptsTrie |
Suggested string | ReceiptsTrie |
Superclasses | BlockConcept MessageConcept ModifiedMerklePatriciaTree |
Properties include | receiptsRoot |
A selfdestruct contract message is a contract message that deletes the originating contract and refunds its balance to the receiver of the message.
Status | unstable |
URI | http://ethon.consensys.net/SelfdestructContractMsg |
Suggested string | SelfdestructContractMsg |
Superclasses | ContractMsg |
Properties include | msgRefundBalance |
The concept of a state in a generic state transition system.
Status | unstable |
URI | http://ethon.consensys.net/State |
Suggested string | State |
Superclasses | StateConcept |
Subclasses | AccountState WorldState |
Properties include | stateRoot |
Used with | createsState |
The group of all EthOn classes related to state.
Status | unstable |
URI | http://ethon.consensys.net/StateConcept |
Superclasses | EthOnConcept |
Subclasses | State StateTransition |
Properties include | StateDataProperty |
The concept of a transition in a state transition system.
Status | unstable |
URI | http://ethon.consensys.net/StateTransition |
Suggested string | StateTransition |
Superclasses | StateConcept |
Subclasses | Block Msg |
Properties include | createsState |
Transactions are messages between two accounts that may transfer Ether and may contain a payload. Transactions always originate from an external account that is controlled by an external actor by means of a private key. The execution of a transaction creates a 'transaction receipt'.
Status | unstable |
URI | http://ethon.consensys.net/Tx |
Suggested string | Tx |
Superclasses | Msg |
Subclasses | CallTx CreateTx ValueTx |
Properties include | cumulativeGasUsed logIndex msgCallDepth txGasPrice txGasUsed txHash txIndex txLogsBloom txNonce txR txS txV createsPostTxState hasLogEntry hasReceipt |
Used with | containsTx hasOriginatorTx |
The transaction receipt is a tuple of four items comprising the post-transaction-state, the cumulative gas used in the block containing the transaction receipt as of immediately after the transaction has happened, the set of logs created through execution of the transaction and the bloom filter composed from information in those logs.
Status | unstable |
URI | http://ethon.consensys.net/TxReceipt |
Suggested string | TxReceipt |
Superclasses | MessageConcept |
Used with | hasReceipt |
A trie structure that stores transactions. The header of a block contains a reference to the root of a Tx trie with all transactions contained in the block.
Status | unstable |
URI | http://ethon.consensys.net/TxTrie |
Suggested string | TxTrie |
Superclasses | BlockConcept MessageConcept ModifiedMerklePatriciaTree |
Properties include | transactionsRoot |
Used with | hasTxTrie |
An uncle is the direct child of the k'th generation ancestor of a block B, where 2<=k<=7 but not a direct ancestor of B. Uncles are blockchain blocks found by a miner, when a different miner has already found another block for the corresponding place in the blockchain. They are also known as “stale blocks”. The parent of an uncle is an ancestor of the inserting block, located at the tip of the blockchain.
Status | unstable |
URI | http://ethon.consensys.net/Uncle |
Suggested string | Uncle |
Superclasses | BlockConcept |
Properties include | uncleBeneficiaryReward |
A Value Contract Message is a Contract Message that does not call a function in a smart contract and doesn't create a new smart contract. Even though it is called "value" Contract Message, it can have a value of 0 Ether. Value Contract Messages can have a payload as long as that payload doesn't trigger the execution of a function in a smart contract.
Status | unstable |
URI | http://ethon.consensys.net/ValueContractMsg |
Suggested string | ValueContractMsg |
Superclasses | ContractMsg |
A Value Transaction is a Transaction that does not call a function in a smart contract and doesn't create a new smart contract. Even though it is called "value" Transaction, Transactions with a value of 0 Ether can be Value Transaction. Value Transactions can have a payload as long as that payload doesn't trigger the execution of a function in a smart contract.
Status | unstable |
URI | http://ethon.consensys.net/ValueTx |
Suggested string | ValueTx |
Superclasses | Tx |
The world state, is a mapping between addresses (160-bit identifiers) of all accounts and their states (a data structure serialised as Recursive Length Prefix). The mapping is not stored on the blockchain itself but in a modified Merkle Patricia tree. An individual state is identified by the root hash of the trie.
Status | unstable |
URI | http://ethon.consensys.net/WorldState |
Suggested string | State |
Superclasses | ModifiedMerklePatriciaTree State |
Subclasses | PostMsgState |
Properties include | nextState |
Used with | createsPostBlockState createsPostTxState nextState |
URI | http://xmlns.com/foaf/0.1/Agent |
Subclasses | ExternalActor |
Is defined by | http://xmlns.com/foaf/0.1/ |
Relates a block to its parent in the chain. It always points to the block with a number that is decreased by one, compared to the block it originates from. The relation is asymmetric because if block A is parent to block B then block B can not be parent to block A. It is also irreflexive because a block cannot be parent to itself.
Status | unstable |
URI | http://ethon.consensys.net/hasParentBlock |
Suggested string | hasParentBlock |
Superclasses | BlockObjectProperty |
Implies being a | Block |
Every value is a | Block |
Relates a block to the global state of the system after all transactions in the block have been executed.
Status | unstable |
URI | http://ethon.consensys.net/createsPostBlockState |
Suggested string | createsPostBlockState |
Superclasses | createsState |
Implies being a | Block |
Every value is a | WorldState |
Relates a message to the global state of the system after all the message has been executed.
Status | unstable |
URI | http://ethon.consensys.net/createsPostMsgState |
Superclasses | createsState |
Relates a transaction to the global state of the system after the transaction has been executed.
Status | unstable |
URI | http://ethon.consensys.net/createsPostTxState |
Suggested string | createsPostTxState |
Superclasses | createsState |
Implies being a | Tx |
Every value is a | WorldState |
Relates an account to the Merkle Patricia tree that encodes its storage contents at a certain account state. This property is Functional because an account state can have only one instance of account storage and inverse functional because an account storage can have only one associated account state.
Status | unstable |
URI | http://ethon.consensys.net/hasAccountStorage |
Suggested string | hasAccountStorage |
Superclasses | AccountObjectProperty |
Every value is a | AccountStorage |
Relates a block to the account to which all fees collected from the successful mining of this block are transferred.
Status | unstable |
URI | http://ethon.consensys.net/hasBeneficiary |
Suggested string | hasBeneficiary |
Superclasses | BlockObjectProperty |
Implies being a | Block |
Every value is a | Account |
Relates a block to the trie that contains the block's receipt data.
Status | unstable |
URI | http://ethon.consensys.net/hasReceiptsTrie |
Suggested string | hasReceiptsTrie |
Superclasses | BlockObjectProperty |
Relates a block to the trie that contains the data of the transactions contained in the block.
Status | unstable |
URI | http://ethon.consensys.net/hasTxTrie |
Suggested string | hasTxTrie |
Superclasses | BlockObjectProperty |
Implies being a | Block |
Every value is a | TxTrie |
Relates a selfdestruct contract message to the contract account it sends its refund balance to.
Status | unstable |
URI | http://ethon.consensys.net/refunds |
Suggested string | refunds |
Superclasses | to |
Implies being a | ContractAccount |
Every value is a | Account |
Relates a block to a transaction included in it. All containsTx relations of a block comprise the block's transaction list. The order of the transactions is determined by their index value. The property is inverse functional because a transaction can only be included in one block.
Status | unstable |
URI | http://ethon.consensys.net/containsTx |
Suggested string | containsTx |
Superclasses | BlockObjectProperty |
Implies being a | Block |
Every value is a | Tx |
This property relates an EthOn concept to its most current state.
Status | unstable |
URI | http://ethon.consensys.net/hasCurrentState |
Suggested string | hasCurrentState |
Superclasses | hasState |
Implies being a | Account |
Every value is a | AccountState |
Relates a contract message to the transaction it originated from.
Status | unstable |
URI | http://ethon.consensys.net/hasOriginatorTx |
Suggested string | hasOriginatorTx |
Superclasses | MessageObjectProperty |
Implies being a | ContractMsg |
Every value is a | Tx |
This property relates an EthOn concept to a state. It is inverse functional because a state can only belong to one single EthOn concept.
Status | unstable |
URI | http://ethon.consensys.net/hasState |
Suggested string | hasState |
Superclasses | StateObjectProperty |
Subclasses | hasCurrentState |
Implies being a | Account |
Every value is a | AccountState |
Groups all EthOn account object properties
Status | unstable |
URI | http://ethon.consensys.net/AccountObjectProperty |
Superclasses | EthOnObjectProperty |
Subclasses | hasAccountStorage controlsAccount |
Groups all EthOn block object properties
Status | unstable |
URI | http://ethon.consensys.net/BlockObjectProperty |
Superclasses | EthOnObjectProperty |
Subclasses | hasParentBlock hasBeneficiary hasReceiptsTrie hasTxTrie containsTx knowsOfUncle |
Groups all EthOn object properties
Status | unstable |
URI | http://ethon.consensys.net/EthOnObjectProperty |
Subclasses | AccountObjectProperty BlockObjectProperty MessageObjectProperty NetworkObjectProperty StateObjectProperty partOf |
Groups all EthOn message object properties.
Status | unstable |
URI | http://ethon.consensys.net/MessageObjectProperty |
Superclasses | EthOnObjectProperty |
Subclasses | hasOriginatorTx createsState from hasLogEntry hasLogTopic hasReceipt loggedBy to triggersMsg |
Groups all EthOn network object properties.
Status | unstable |
URI | http://ethon.consensys.net/NetworkObjectProperty |
Superclasses | EthOnObjectProperty |
Subclasses | conformsTo hasFork minesFor spawnsBlock |
Groups all EthOn state object properties.
Status | unstable |
URI | http://ethon.consensys.net/StateObjectProperty |
Superclasses | EthOnObjectProperty |
Subclasses | hasState createsState hasTransition nextState |
Relates an Ethereum concept to the Ethereum protocol variant it conforms to.
Status | unstable |
URI | http://ethon.consensys.net/conformsTo |
Suggested string | conformsTo |
Superclasses | NetworkObjectProperty |
Implies being a | EthOnConcept |
This property connects an External Actor an Account that it controls. This means the External Actor has control over the private Key for the Account. The control is not necessarily legitimate.
Status | unstable |
URI | http://ethon.consensys.net/controlsAccount |
Suggested string | controlsAccount |
Superclasses | AccountObjectProperty |
Implies being a | ExternalActor |
Every value is a | Account |
Relates a create transaction to the contract account it creates.
Status | unstable |
URI | http://ethon.consensys.net/creates |
Suggested string | creates |
Superclasses | to |
Implies being a | Ne09d55b8a1e04e2192db45bf0329fc4f |
Every value is a | ContractAccount |
Relates a transition to the state it creates.
Status | unstable |
URI | http://ethon.consensys.net/createsState |
Suggested string | createsState |
Superclasses | MessageObjectProperty StateObjectProperty |
Subclasses | createsPostBlockState createsPostMsgState createsPostTxState |
Implies being a | StateTransition |
Every value is a | State |
Relates a message to the account it originates from.
Status | unstable |
URI | http://ethon.consensys.net/from |
Suggested string | fromAccount |
Superclasses | MessageObjectProperty |
Relates a blockchain to a forked version of it. It is inverse functional because a forked blockchain can have only one blockchain it forked from. It is transitive because if a blockchain C that was forked from blockchain B that in turn was forked from blockchain A, blockchain C was also forked from blockchain A. It is asymetric because if blockchain A is forked from blockchain B, B cannot be also forked from A. It is irreflexive because a blockchain cannot be a fork of itself.
Status | unstable |
URI | http://ethon.consensys.net/hasFork |
Suggested string | hasFork |
Superclasses | NetworkObjectProperty |
Implies being a | Blockchain |
Every value is a | Blockchain |
Relates a transaction to a log entry it creates.
Status | unstable |
URI | http://ethon.consensys.net/hasLogEntry |
Suggested string | hasLogEntry |
Superclasses | MessageObjectProperty |
Implies being a | Tx |
Every value is a | LogEntry |
Relates a log entry to a log topic.
Status | unstable |
URI | http://ethon.consensys.net/hasLogTopic |
Suggested string | hasLogTopic |
Superclasses | MessageObjectProperty |
Implies being a | LogEntry |
Every value is a | LogTopic |
Relates a transaction to its receipt.
Status | unstable |
URI | http://ethon.consensys.net/hasReceipt |
Suggested string | hasTransactionReceipt |
Superclasses | MessageObjectProperty |
Implies being a | Tx |
Every value is a | TxReceipt |
Relates a state to a transition (i.e. a message) that creates a new state.
Status | unstable |
URI | http://ethon.consensys.net/hasTransition |
Suggested string | hasTransition |
Superclasses | StateObjectProperty |
Relates a block to a known uncle.
Status | unstable |
URI | http://ethon.consensys.net/knowsOfUncle |
Suggested string | knowsOfUncle |
Superclasses | BlockObjectProperty |
Relates a log entry to its logger's account.
Status | unstable |
URI | http://ethon.consensys.net/loggedBy |
Suggested string | loggedBy |
Superclasses | MessageObjectProperty |
Implies being a | LogEntry |
Every value is a | Account |
Relates a mining node to the blockchain it mines for. Mining is the process of dedicating effort (working) to bolster one series of transactions (a block) over any other potential competitor block. It is achieved thanks to a cryptographically secure proof.
Status | unstable |
URI | http://ethon.consensys.net/minesFor |
Suggested string | minesFor |
Superclasses | NetworkObjectProperty |
Implies being a | Node |
Every value is a | Blockchain |
Relates a post block state to the following post block state.
Status | unstable |
URI | http://ethon.consensys.net/nextBlockState |
Suggested string | nextBlockState |
Superclasses | nextTxState |
Implies being a | PostBlockState |
Every value is a | PostBlockState |
Relates a post message state to the following post message state.
Status | unstable |
URI | http://ethon.consensys.net/nextMsgState |
Suggested string | nextMsgState |
Superclasses | nextState |
Subclasses | nextTxState |
Implies being a | PostMsgState |
Every value is a | PostMsgState |
Relates a state to the following state. In EthOn the state transition system has no branches.
Status | unstable |
URI | http://ethon.consensys.net/nextState |
Suggested string | nextState |
Superclasses | StateObjectProperty |
Subclasses | nextMsgState |
Implies being a | WorldState |
Every value is a | WorldState |
Relates a post transaction state to the following post transaction state.
Status | unstable |
URI | http://ethon.consensys.net/nextTxState |
Suggested string | nextTxState |
Superclasses | nextMsgState |
Subclasses | nextBlockState |
Implies being a | PostTxState |
Every value is a | PostTxState |
This is a general relation to express part of relationships. The classic study of parts and wholes, mereology, has three axioms: 1. the part-of relation is Transitive - "parts of parts are parts of the whole" - If A is part of B and B is part of C, then A is part of C Reflexive - "Everything is part of itself" - A is part of A Antisymmetric - "Nothing is a part of its parts" - if A is part of B and A != B then B is not part of A.
Status | testing |
URI | http://ethon.consensys.net/partOf |
Suggested string | partOf |
Superclasses | EthOnObjectProperty |
Relates an Ethereum node to a valid block it has transmitted to the network. This does not specify the proofing algorithm (e.g. proof of work or proof of authority).
Status | unstable |
URI | http://ethon.consensys.net/spawnsBlock |
Suggested string | spawnsBlock |
Superclasses | NetworkObjectProperty |
Implies being a | Node |
Every value is a | Block |
Relates a message with the account it is sent to.
Status | unstable |
URI | http://ethon.consensys.net/to |
Suggested string | toAccount |
Superclasses | MessageObjectProperty |
Subclasses | refunds creates |
Implies being a | Msg |
Every value is a | Msg |
Relates a message that was direct to a contract account to the contract messages that result from the call to the contract account. The chain of triggersMsg relations represents a call graph.
Status | unstable |
URI | http://ethon.consensys.net/triggersMsg |
Suggested string | triggersMsg |
Superclasses | MessageObjectProperty |
Implies being a | N96c9e1929c0a4634b9e3b053de3ca38a |
Every value is a | ContractMsg |
Groups all data properties that are specific to an account.
Status | unstable |
URI | http://ethon.consensys.net/AccountDataProperty |
Superclasses | EthOnDataProperty |
Subclasses | accountBalance accountBalancePrefunded accountCode accountCodeHash accountNonce accountPublicKey address storageRoot |
Implies being a | AccountConcept |
Groups all data properties that are specific to a block. These properties are usually functional because a block can only be associated with a single instance of them.
Status | unstable |
URI | http://ethon.consensys.net/BlockDataProperty |
Superclasses | EthOnDataProperty |
Subclasses | blockBeneficiaryReward blockCreationTime blockDifficulty blockExtraData blockGasLimit blockGasUsed blockHash blockHeader blockLogsBloom blockMixHash blockNonce blockSize number uncleBeneficiaryReward |
Implies being a | BlockConcept |
Groups all data properties specific to EthOn.
Status | unstable |
URI | http://ethon.consensys.net/EthOnDataProperty |
Subclasses | AccountDataProperty BlockDataProperty MessageDataProperty NetworkDataProperty StateDataProperty |
Groups all EthOn message data properties.
Status | unstable |
URI | http://ethon.consensys.net/MessageDataProperty |
Superclasses | EthOnDataProperty |
Subclasses | cumulativeGasUsed logData logIndex logTopicData logTopicIndex msgCallDepth msgError msgErrorString msgGasLimit msgGasUsed msgOutput msgPayload msgRefundBalance receiptsRoot transactionsRoot txGasPrice txGasUsed txHash txIndex txLogsBloom txNonce txR txS txV value |
Implies being a | MessageConcept |
Groups all EthOn network data properties.
Status | unstable |
URI | http://ethon.consensys.net/NetworkDataProperty |
Superclasses | EthOnDataProperty |
Subclasses | clientVersion startBlockNumber |
URI | http://ethon.consensys.net/StateDataProperty |
Superclasses | EthOnDataProperty |
Subclasses | stateRoot |
Implies being a | StateConcept |
A scalar value equal to the number of Wei owned by an account at a given account state.
Status | unstable |
URI | http://ethon.consensys.net/accountBalance |
Suggested string | accountBalance |
Superclasses | AccountDataProperty |
Implies being a | AccountState |
Every value is a |
|
The amount of Wei an account was prefunded with in a protocol variant. In the case that an account receives multiple prefunds in multiple protocol variants, the amounts are summed. In contrast to the regular account balance it is a property of the account itself and not of its state.
Status | unstable |
URI | http://ethon.consensys.net/accountBalancePrefunded |
Suggested string | accountBalancePrefunded |
Superclasses | AccountDataProperty |
Implies being a | ProtocolAccount |
Every value is a |
|
The immutable EVM bytecode of the contract account.
Status | unstable |
URI | http://ethon.consensys.net/accountCode |
Suggested string | accountCode |
Superclasses | AccountDataProperty |
Implies being a | ContractAccount |
Every value is a |
|
The immutable Keccak-256 hash of the EVM code of an account.
Status | unstable |
URI | http://ethon.consensys.net/accountCodeHash |
Suggested string | accountCodeHash |
Superclasses | AccountDataProperty |
Implies being a | ContractAccount |
Every value is a |
|
A scalar value equal to the number of transactions sent from this account or, in the case of accounts with associated code, the number of contract-creations made by this account.
Status | unstable |
URI | http://ethon.consensys.net/accountNonce |
Suggested string | accountNonce |
Superclasses | AccountDataProperty |
Implies being a | AccountState |
Every value is a |
|
The public key of an external account.
Status | unstable |
URI | http://ethon.consensys.net/accountPublicKey |
Suggested string | accountPublicKey |
Superclasses | AccountDataProperty |
Implies being a | ExternalAccount |
Every value is a |
|
A 160-bit identifier for accounts.
Status | unstable |
URI | http://ethon.consensys.net/address |
Suggested string | address |
Superclasses | AccountDataProperty |
Implies being a | Account |
Every value is a |
|
The reward the beneficiary receives for mining a block. It is comprised of the base reward (5ETH), rewards for including uncles (1/32 of block reward per uncle) and the fees of the Tx in the block.
Status | unstable |
URI | http://ethon.consensys.net/blockBeneficiaryReward |
Suggested string | blockBenficiaryReward |
Superclasses | BlockDataProperty |
Implies being a | Block |
Every value is a |
|
This block's inception date and time.
Status | unstable |
URI | http://ethon.consensys.net/blockCreationTime |
Suggested string | blockCreationTime |
Superclasses | BlockDataProperty |
Implies being a | Nb63b91f71e8745479289a971bd8191f7 |
Every value is a |
|
A scalar value corresponding to the difficulty level of this block. This can be calculated from the previous block's difficulty level and the timestamp.
Status | unstable |
URI | http://ethon.consensys.net/blockDifficulty |
Suggested string | blockDifficulty |
Superclasses | BlockDataProperty |
Implies being a | N175d645d1946476395c2e3277956a59a |
Every value is a |
|
An arbitrary byte array containing data relevant to this block. This must be 32 bytes or fewer.
Status | unstable |
URI | http://ethon.consensys.net/blockExtraData |
Suggested string | blockExtraData |
Superclasses | BlockDataProperty |
Implies being a | Naed4a7f8c66848d5a681e7535356493f |
Every value is a |
|
A scalar value equal to the current limit of gas expenditure per block. Its purpose is to keep block propagation and processing time low, thereby allowing for a sufficiently decentralized network. Miners have the option to increase or decrease it every block by a certain factor.
Status | unstable |
URI | http://ethon.consensys.net/blockGasLimit |
Suggested string | blockGasLimit |
Superclasses | BlockDataProperty |
Implies being a | N42d04182e5f04e1590eba418cfd72649 |
Every value is a |
|
A scalar value equal to the total gas used by all transactions in this block.
Status | unstable |
URI | http://ethon.consensys.net/blockGasUsed |
Suggested string | blockGasUsed |
Superclasses | BlockDataProperty |
Implies being a | N08c6985bc1074713b84e83e2843c923c |
Every value is a |
|
The Keccak 256-bit hash of the block's header, in its entierty.
Status | unstable |
URI | http://ethon.consensys.net/blockHash |
Suggested string | blockHash |
Superclasses | BlockDataProperty |
Implies being a | Ne34f63f3a4eb4aee90ef09f26e82c5b9 |
Every value is a |
|
Relates a block to its block header data. The block header data contains 15 pieces of information: 1. the parent hash, 2. the Uncle hash, 3. a beneficiary address, 4. a state root hash, 5. a transactions root hash, 6. a receipts root hash, 7. a log bloom filter, 8. the difficulty value, 9. the block number, 10. the gas limit of the block, 11. the gas used by all transactions in the block, 12. a scalar timestamp in unix time() format, 13. a byte array containing extra data, 14. a mix hash and 15. the block nonce. The property is functional because a block can have only exactly one block header.
Status | unstable |
URI | http://ethon.consensys.net/blockHeader |
Suggested string | blockHeader |
Superclasses | BlockDataProperty |
Implies being a | Nb3ded1f8990442f785fe4230471f1e85 |
Every value is a |
|
The Bloom filter composed from indexable information (logger address and log topics) contained in each log entry from the receipt of each transaction in the transactions list.
Status | unstable |
URI | http://ethon.consensys.net/blockLogsBloom |
Suggested string | blockLogsBloom |
Superclasses | BlockDataProperty |
Implies being a | N95cb9d8b6fcd4225b4bc0ffa0e2af5b5 |
Every value is a |
|
A 256-bit hash which proves combined with the nonce that a sufficient amount of computation has been carried out on this block.
Status | unstable |
URI | http://ethon.consensys.net/blockMixHash |
Suggested string | blockMixHash |
Superclasses | BlockDataProperty |
Implies being a | N0f8662631fa742f59ab51329b8b459ed |
Every value is a |
|
A 64 bit hash which proves combined with the mix-hash that a sufficient amount of computation has been carried out on this block.
Status | unstable |
URI | http://ethon.consensys.net/blockNonce |
Suggested string | blockNonce |
Superclasses | BlockDataProperty |
Implies being a | N5cf53ae3f66048f0b56264f5bc872635 |
Every value is a |
|
The size of the block header in RLP format in bytes.
Status | unstable |
URI | http://ethon.consensys.net/blockSize |
Suggested string | blockSize |
Superclasses | BlockDataProperty |
Implies being a | Block |
Every value is a |
|
Relates a node to a string identifying the Ethereum client version it runs. It composed of the client name (e.g. Geth) and a version identifier (e.g. v1.5.4).
Status | unstable |
URI | http://ethon.consensys.net/clientVersion |
Suggested string | clientVersion |
Superclasses | NetworkDataProperty |
Implies being a | Node |
Every value is a |
|
The cumulative gas used in the block containing the transaction as of immediately after the transaction has happened.
Status | unstable |
URI | http://ethon.consensys.net/cumulativeGasUsed |
Suggested string | cumulativeGasUsed |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
Relates a log entry to its data.
Status | unstable |
URI | http://ethon.consensys.net/logData |
Suggested string | logData |
Superclasses | MessageDataProperty |
Implies being a | LogEntry |
Every value is a |
|
Relates a log entry to its index in the transaction reciept of a transaction. The log index defines the order of the log entries of a transaction.
Status | unstable |
URI | http://ethon.consensys.net/logIndex |
Suggested string | logIndex |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
Relates a log topic to the 32 bytes of data it contains.
Status | unstable |
URI | http://ethon.consensys.net/logTopicData |
Suggested string | logTopicData |
Superclasses | MessageDataProperty |
Implies being a | LogTopic |
Every value is a |
|
Relates a log topic to its index in the log entry. The log topic index defines the order of the log topics of in log entry.
Status | unstable |
URI | http://ethon.consensys.net/logTopicIndex |
Suggested string | logTopicIndex |
Superclasses | MessageDataProperty |
Implies being a | LogTopic |
Every value is a |
|
A scalar value equal to the depth of the contract message. A contract message is represented as a call in the Ethereum EVM. This value represents the number of CALL or CREATE opcodes being executed at the time of the message execution.
Status | unstable |
URI | http://ethon.consensys.net/msgCallDepth |
Suggested string | msgCallDepth |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
An unlimited size byte array specifying the input data of the call.
Status | unstable |
URI | http://ethon.consensys.net/msgData |
Suggested string | msgData |
Superclasses | msgPayload |
Implies being a | N23874ec3c95c4b3994023f9bffc12f75 |
Every value is a |
|
A boolean value indicating whether the message validation resulted in an error. A "true" value indicates an error.
Status | unstable |
URI | http://ethon.consensys.net/msgError |
Suggested string | msgError |
Superclasses | MessageDataProperty |
Implies being a | Msg |
Every value is a |
|
A string informally describing an error that occured during the validation of a message. Only exists if msgError is true.
Status | unstable |
URI | http://ethon.consensys.net/msgErrorString |
Suggested string | msgErrorString |
Superclasses | MessageDataProperty |
Implies being a | Msg |
Every value is a |
|
A scalar value equal to the maximum amount of gas that should be used in executing this transaction. This is paid up-front, before any computation is done and may not be increased later. If used with contract messages it represents the fraction of the original transaction gas limit still available for execution of the contract message. After all resulting computations are done, excess gas is returned to the sender of the original transaction.
Status | unstable |
URI | http://ethon.consensys.net/msgGasLimit |
Suggested string | msgGasLimit |
Superclasses | MessageDataProperty |
Implies being a | Msg |
Every value is a |
|
The amount of gas that was used for processing a single message, regardless of which type of message it may be.
Status | unstable |
URI | http://ethon.consensys.net/msgGasUsed |
Suggested string | msgGasUsed |
Superclasses | MessageDataProperty |
Implies being a | Msg |
Every value is a |
|
An unlimited size byte array specifying the EVM-code for the contract account initialisation procedure.
Status | unstable |
URI | http://ethon.consensys.net/msgInit |
Suggested string | msgInit |
Superclasses | msgPayload |
Implies being a | N9d3f500f22ef4008b8a490c2fec79e7e |
Every value is a |
|
The reulting output data from a call contract message.
Status | unstable |
URI | http://ethon.consensys.net/msgOutput |
Suggested string | msgOutput |
Superclasses | MessageDataProperty |
Implies being a | CallContractMsg |
Every value is a |
|
An unlimited size byte array specifying the data payload of the message.
Status | unstable |
URI | http://ethon.consensys.net/msgPayload |
Suggested string | msgPayload |
Superclasses | MessageDataProperty |
Subclasses | msgData msgInit |
Implies being a | Msg |
Every value is a |
|
A scalar value equal to the number of Wei that will be refunded as the result of a selfdestruct contract message.
Status | unstable |
URI | http://ethon.consensys.net/msgRefundBalance |
Suggested string | msgRefundBalance |
Superclasses | MessageDataProperty |
Implies being a | SelfdestructContractMsg |
Every value is a |
|
A scalar value equal to the number of ancestor blocks. The genesis block has a number of zero.
Status | unstable |
URI | http://ethon.consensys.net/number |
Suggested string | number |
Superclasses | BlockDataProperty |
Implies being a | N2083c89c3d71493fb20249afcb44cc08 |
Every value is a |
|
The Keccak 256-bit hash of the root node of the trie structure populated with the receipts of each transaction in the transactions list portion of the block.
Status | unstable |
URI | http://ethon.consensys.net/receiptsRoot |
Suggested string | blockReceiptsRoot |
Superclasses | MessageDataProperty |
Implies being a | ReceiptsTrie |
Every value is a |
|
The block number of the first block in a new blockchain after a hard fork.
Status | unstable |
URI | http://ethon.consensys.net/startBlockNumber |
Suggested string | startBlockNumber |
Superclasses | NetworkDataProperty |
Implies being a | Blockchain |
Every value is a |
|
The Keccak 256-bit hash of the root node of the state trie that represents this state.
Status | unstable |
URI | http://ethon.consensys.net/stateRoot |
Suggested string | stateRoot |
Superclasses | StateDataProperty |
Implies being a | State |
Every value is a |
|
A 256-bit hash of the root node of a Merkle Patricia tree that encodes the storage contents of the account (a mapping between 265-bit integer values), encoded into the trie as a mapping from the Keccak 256-bit hash of the 256-bit integer keys to the RLP-encoded 256-bit integer values.
Status | unstable |
URI | http://ethon.consensys.net/storageRoot |
Suggested string | storageRoot |
Superclasses | AccountDataProperty |
Implies being a | AccountStorage |
Every value is a |
|
The Keccak 256-bit hash of the root node of the trie structure populated with each transaction in the transactions list portion of the block.
Status | unstable |
URI | http://ethon.consensys.net/transactionsRoot |
Suggested string | blockTransactionsRoot |
Superclasses | MessageDataProperty |
Implies being a | TxTrie |
Every value is a |
|
A scalar value equal to the number of Wei to be paid per unit of gas for all computation costs incurred as a result of the execution of this transaction.
Status | unstable |
URI | http://ethon.consensys.net/txGasPrice |
Suggested string | txGasPrice |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The total amount of gas that was used for processing this Tx and all contract messages resulting from it. It is the sum of all msgGasUsed by this Tx and resulting contract messages.
Status | unstable |
URI | http://ethon.consensys.net/txGasUsed |
Suggested string | txGasUsed |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The Keccak 256-bit hash of the transaction
Status | unstable |
URI | http://ethon.consensys.net/txHash |
Suggested string | txHash |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The position of a transaction in a block.
Status | unstable |
URI | http://ethon.consensys.net/txIndex |
Suggested string | txIndex |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
Relates a transaction to the Bloom filter of its log entries.
Status | unstable |
URI | http://ethon.consensys.net/txLogsBloom |
Suggested string | txLogsBloom |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
A scalar value equal to the number of transactions sent by the sender.
Status | unstable |
URI | http://ethon.consensys.net/txNonce |
Suggested string | txNonce |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The txR value is a Byte array of length 32.
Status | unstable |
URI | http://ethon.consensys.net/txR |
Suggested string | txR |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The value txS is a byte array of length 32.
Status | unstable |
URI | http://ethon.consensys.net/txS |
Suggested string | txS |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The value txV specifies the sign and finiteness of the curve point. Since EIP-155 it is used to realize a replay attack protection. It is calculated in the following way: txV = CHAIN_ID * 2 + 36
Status | unstable |
URI | http://ethon.consensys.net/txV |
Suggested string | txV |
Superclasses | MessageDataProperty |
Implies being a | Tx |
Every value is a |
|
The reward the beneficiary of an uncle receives if a block includes it. The reward amount depends how far up the Uncle is in the blockchain (the number of the block in which it is included minus the uncle's number). An uncle reward is only paid if the distance is smaller than 8. For a distance of 1 the reward is 7/8 of the block reward, for a distance of 7 the reward is 1/8 of the block reward.
Status | unstable |
URI | http://ethon.consensys.net/uncleBeneficiaryReward |
Suggested string | uncleBenficiaryReward |
Superclasses | BlockDataProperty |
Implies being a | Uncle |
Every value is a |
|
A scalar value equal to the number of Wei to be transferred to the Message call's recipient. In the case of contract creation it is the initial balance of the contract account, paid by the sending account.
Status | unstable |
URI | http://ethon.consensys.net/value |
Suggested string | value |
Superclasses | MessageDataProperty |
Implies being a | Msg |
Every value is a |
|
URI | http://ethon.consensys.net/DASE_RULE |
Superclass of all EthOn specific annotation properties.
Status | unstable |
URI | http://ethon.consensys.net/EthOnAnnotationProperty |
Subclasses | simpleDefinition suggestedStringRepresentation |
This property relates an EthOn concept to a definition in Simple English, intended especially for non-technical users.
Status | unstable |
URI | http://ethon.consensys.net/simpleDefinition |
Superclasses | EthOnAnnotationProperty |
Implies being a |
|
This property relates an EthOn concept with a suggested string representation. It can be used to give the term a name, e.g. in program code.
Status | unstable |
URI | http://ethon.consensys.net/suggestedStringRepresentation |
Superclasses | EthOnAnnotationProperty |
Implies being a |
|
URI | http://swrl.stanford.edu/ontologies/3.3/swrla.owl#isRuleEnabled |