:Account


Label

Account

Description

*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.

Usage

Instances of :Account can have the following properties:

PROPERTYTYPEDESCRIPTIONRANGE
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
:sends owl:ObjectProperty Relates a an account to a message it sends. :Msg
From class owl:Thing
:AccountDataProperty owl:DatatypeProperty Groups all data properties that are specific to an account. owl:Thing
:AccountObjectProperty owl:ObjectProperty Groups all EthOn account object properties owl:Thing
:BlockDataProperty owl:DatatypeProperty 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. owl:Thing
:BlockObjectProperty owl:ObjectProperty Groups all EthOn block object properties 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
:MessageDataProperty owl:DatatypeProperty Groups all EthOn message data 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
:StateDataProperty owl:DatatypeProperty -- 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
: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
:hasTransition owl:ObjectProperty Relates a state to a transition (i.e. a message) that creates a new state. 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
:simpleDefinition owl:AnnotationProperty This property relates an EthOn class to a definition in Simple English, intended especially for non-technical users. owl:Thing
:suggestedStringRepresentation owl:AnnotationProperty This property relates an EthOn class with a suggested string representation. It can be used to give the term a name, e.g. in program code. owl:Thing

Implementation

@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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

:Account a owl:Class ;
    rdfs:label "Account"@en ;
    :simpleDefinition "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." ;
    :suggestedStringRepresentation "Account"@en ;
    rdfs:comment "*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."@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty :hasState ;
            owl:someValuesFrom :AccountState ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:hexBinary ;
            owl:onProperty :address ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    owl:hasKey [ a rdf:List ;
            rdf:first :address ;
            rdf:rest () ] ;
    ns:term_status "unstable" .