:Account


URI

http://ethon.consensys.net/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.

Superclasses (2)

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

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:onDataRange xsd:hexBinary ;
            owl:onProperty :address ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:onProperty :hasState ;
            owl:someValuesFrom :AccountState ],
        :AccountConcept ;
    owl:hasKey ( :address ) ;
    ns:term_status "unstable" .