http://ethon.consensys.net/ContractAccount
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.
Instances of :ContractAccount can have the following properties:
PROPERTY | TYPE | DESCRIPTION | RANGE |
---|---|---|---|
From class :ContractAccount | |||
:accountCode | owl:DatatypeProperty | The immutable EVM bytecode of the contract account. | xsd:hexBinary |
:accountCodeHash | owl:DatatypeProperty | The immutable Keccak-256 hash of the EVM code of an account. | xsd:hexBinary |
:refunds | owl:FunctionalProperty | Relates a selfdestruct contract message to the contract account it sends its refund balance to. | :Account |
From class :Account | |||
:address | owl:DatatypeProperty | A 160-bit identifier for accounts. | xsd:hexBinary |
:hasCurrentState | owl:InverseFunctionalProperty | This property relates an EthOn concept to its most current state. | :AccountState |
:hasState | owl:InverseFunctionalProperty | This property relates an EthOn concept to a state. It is inverse functional because a state can only belong to one single EthOn concept. | :AccountState |
From class :AccountConcept | |||
:AccountDataProperty | owl:DatatypeProperty | Groups all data properties that are specific to an account. | owl:Thing |
From class :EthOnConcept | |||
:simpleDefinition | owl:AnnotationProperty | This property relates an EthOn concept to a definition in Simple English, intended especially for non-technical users. | owl:Thing |
:suggestedStringRepresentation | owl:AnnotationProperty | 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. | owl:Thing |
:conformsTo | owl:ObjectProperty | Relates an Ethereum concept to the Ethereum protocol variant it conforms to. | owl:Thing |
From class owl:Thing | |||
:AccountObjectProperty | owl:ObjectProperty | Groups all EthOn account object properties | owl:Thing |
:BlockObjectProperty | owl:ObjectProperty | Groups all EthOn block object properties | owl:Thing |
:DASE_RULE | owl:AnnotationProperty | owl:Thing | |
:EthOnAnnotationProperty | owl:AnnotationProperty | Superclass of all EthOn specific annotation properties. | owl:Thing |
:EthOnDataProperty | owl:DatatypeProperty | Groups all data properties specific to EthOn. | owl:Thing |
:EthOnObjectProperty | owl:ObjectProperty | Groups all EthOn object properties | owl:Thing |
:MessageObjectProperty | owl:ObjectProperty | Groups all EthOn message object properties. | owl:Thing |
:NetworkDataProperty | owl:DatatypeProperty | Groups all EthOn network data properties. | owl:Thing |
:NetworkObjectProperty | owl:ObjectProperty | Groups all EthOn network object properties. | owl:Thing |
:StateObjectProperty | owl:ObjectProperty | Groups all EthOn state object properties. | owl:Thing |
:createsPostMsgState | owl:FunctionalProperty | Relates a message to the global state of the system after all the message has been executed. | owl:Thing |
:from | owl:ObjectProperty | Relates a message to the account it originates from. | owl:Thing |
:hasAccountStorage | owl:FunctionalProperty | 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. | :AccountStorage |
:hasReceiptsTrie | owl:FunctionalProperty | Relates a block to the trie that contains the block's receipt data. | owl:Thing |
:hasTransition | owl:ObjectProperty | Relates a state to a transition (i.e. a message) that creates a new state. | owl:Thing |
:knowsOfUncle | owl:ObjectProperty | Relates a block to a known uncle. | owl:Thing |
:partOf | owl:ObjectProperty | 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. | owl:Thing |
swrla:isRuleEnabled | owl:AnnotationProperty | owl:Thing |
@prefix : <http://ethon.consensys.net/> .
@prefix ns: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:ContractAccount a owl:Class ;
rdfs:label "Contract Account"@en ;
:simpleDefinition "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." ;
:suggestedStringRepresentation "ContractAccount"@en ;
rdfs:comment "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."@en ;
rdfs:subClassOf :Account ;
owl:disjointWith :ExternalAccount ;
ns:term_status "unstable" .