: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
:sends owl:ObjectProperty Relates a an account to a message it sends. :Msg
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
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
: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
: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

Implementation

@prefix : <http://ethon.consensys.net/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@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 sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix v0: <http://ethon.consensys.net/v0/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix void: <http://rdfs.org/ns/void#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@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 ],
        :AccountConcept ;
    owl:hasKey [ a rdf:List ;
            rdf:first :address ;
            rdf:rest () ] ;
    ns:term_status "unstable" .