Account

Stellt den Status eines Kontos im Ledger dar.

JSON-Darstellung
{
  "sequenceNumber": string,
  "publicKey": string,
  "roundId": string,
  "comment": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userDetails": {
    object (UserDetails)
  },
  "accountManagerDetails": {
    object (AccountManagerDetails)
  },
  "tokenManagerDetails": {
    object (TokenManagerDetails)
  },
  "contractTokenManagerDetails": {
    object (ContractTokenManagerDetails)
  },
  "contractDetails": {
    object (ContractDetails)
  },
  "clearinghouseDetails": {
    object (ClearingHouseDetails)
  },
  "currencyOperatorDetails": {
    object (CurrencyOperatorDetails)
  },
  "platformOperatorDetails": {
    object (PlatformOperatorDetails)
  }
  // End of mutually exclusive fields.
}
Felder
sequenceNumber

string (int64 format)

Nur Ausgabe. Die Sequenznummer dieses Kontos. Diese Zahl wird mit jeder von diesem Konto gesendeten Transaktion erhöht.

publicKey

string (bytes format)

Nur Ausgabe. Der primäre öffentliche Schlüssel, der mit diesem Konto verknüpft ist und für die Signaturprüfung verwendet wird.

Ein base64-codierter String.

roundId

string (int64 format)

Nur Ausgabe. Die ID der Ausführungsrunde (ähnlich der Blockhöhe), bei der die angegebenen Kontoinformationen korrekt sind.

comment

string

Nur Ausgabe. Der Kontokommentar, der beim Erstellen dieses Kontos gespeichert wurde.

Spezifische Details je nach Kontotyp. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
userDetails

object (UserDetails)

Nur Ausgabe. Details zu einem Standardnutzerkonto.

accountManagerDetails

object (AccountManagerDetails)

Nur Ausgabe. Details zu einem Account Manager-Konto.

tokenManagerDetails

object (TokenManagerDetails)

Nur Ausgabe. Details zu einem Token-Verwaltungskonto.

contractTokenManagerDetails

object (ContractTokenManagerDetails)

Nur Ausgabe. Details zu einem Vertragstoken-Verwaltungskonto.

contractDetails

object (ContractDetails)

Nur Ausgabe. Details zu einem Smart-Contract-Konto.

clearinghouseDetails

object (ClearingHouseDetails)

Nur Ausgabe. Details zu einem Clearinghouse-Konto.

currencyOperatorDetails

object (CurrencyOperatorDetails)

Nur Ausgabe. Details zu einem Währungsbetreiberkonto.

platformOperatorDetails

object (PlatformOperatorDetails)

Nur Ausgabe. Details zu einem Plattformbetreiberkonto.

Ende der sich gegenseitig ausschließenden Felder.

UserDetails

Details zu einem Nutzerkonto.

JSON-Darstellung
{
  "accountManagerId": string,
  "tokenManagerId": string,
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "balance": {
    object (CurrencyValue)
  },
  "contractAccountFields": {
    string: {
      object (Fields)
    },
    ...
  }
}
Felder
accountManagerId

string

Nur Ausgabe. Die ID des Account Managers für diesen Nutzer.

tokenManagerId

string

Nur Ausgabe. Die ID des Token-Managers für diesen Nutzer.

roles[]

enum (Role)

Nur Ausgabe. Die Liste der Rollen, die diesem Konto zugewiesen wurden.

accountStatus

enum (AccountStatus)

Nur Ausgabe. Der Status dieses Kontos.

balance

object (CurrencyValue)

Nur Ausgabe. Das Tokenguthaben dieses Nutzerkontos.

contractAccountFields

map (key: string, value: object (Fields))

Nur Ausgabe. Die Felder des Vertragskontos (Vertrags-ID -> Felder) für diesen Nutzer.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Rolle

Die regulären Rollen.

Enums
ROLE_UNSPECIFIED Ungültige Rolle.
ROLE_PAYER Die Rolle, mit der ein Konto eine Zahlungstransaktion initiieren kann.
ROLE_RECEIVER Die Rolle, die es einem Konto ermöglicht, Zahlungen zu erhalten.
ROLE_CONTRACT_CREATOR Die Rolle, die es einem Konto ermöglicht, Verträge bereitzustellen.
ROLE_CONTRACT_PARTICIPANT Die Rolle, die es einem Konto ermöglicht, mit bereitgestellten Verträgen zu interagieren.

AccountStatus

Der Status eines Kontos.

Enums
ACCOUNT_STATUS_UNSPECIFIED Ungültiger Status.
ACCOUNT_STATUS_ACTIVE Aktiver Status, in dem das Konto die durch seine Rollen zulässigen Vorgänge ausführen kann.
ACCOUNT_STATUS_INACTIVE Inaktiver Status, in dem alle Transaktionen im Konto unzulässig sind. Der Manager des Kontos kann weiterhin Transaktionen zur Kontoverwaltung senden.

CurrencyValue

Stellt einen Währungsbetrag (d.h. Geld) dar. Beachten Sie, dass die Währung in dieser Nachricht nicht enthalten ist. Die relevante Währung wird durch das Konto bestimmt, von dem die Transaktion gesendet wird. Jedem Konto ist eine eindeutige, unveränderliche Währung zugeordnet.

JSON-Darstellung
{
  "value": string
}
Felder
value

string (int64 format)

Erforderlich. Die Anzahl der kleineren Einheiten der Währung.

Diese kleinste gültige Stückelung wird als „kleinste Einheit“ bezeichnet und ist in ISO 4217 angegeben. Bei USD ist der Wert beispielsweise die Anzahl der Cent und bei GBP die Anzahl der Pence. Beim japanischen Yen, der keine kleinere Einheit hat, ist es die Anzahl der Yen.

Felder

Eine Zuordnung von Feldern (Feldname -> Wert) aus einem Vertrag, die zur Darstellung von Vertrags- oder Kontofeldern verwendet wird.

JSON-Darstellung
{
  "fields": {
    string: {
      object (Value)
    },
    ...
  }
}
Felder
fields

map (key: string, value: object (Value))

Nur Ausgabe. Die Zuordnung von Feldnamen zu ihren Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Wert

Ein konkreter Wert eines bestimmten Typs.

JSON-Darstellung
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "noneValue": enum (NoneValue),
  "boolValue": boolean,
  "int64Value": string,
  "stringValue": string,
  "dictValue": {
    object (DictValue)
  },
  "contractValue": {
    object (ContractValue)
  },
  "listValue": {
    object (ListValue)
  },
  "qualifiedCurrencyValue": {
    object (QualifiedCurrencyValue)
  },
  "accountValue": {
    object (AccountValue)
  },
  "amountValue": {
    object (AmountValue)
  }
  // End of mutually exclusive fields.
}
Felder
Der tatsächliche Wert. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
noneValue

enum (NoneValue)

Optional. Stellt einen None-Wert dar.

boolValue

boolean

Optional. Ein boolescher Wert.

int64Value

string (int64 format)

Optional. Ein int64-Wert.

stringValue

string

Optional. Ein Stringwert.

dictValue

object (DictValue)

Optional. Ein Wörterbuchwert.

contractValue

object (ContractValue)

Optional. Eine Vertragsreferenz.

listValue

object (ListValue)

Optional. Ein Listenwert.

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

Optional. Ein qualifizierter Währungswert.

accountValue

object (AccountValue)

Optional. Ein Kontowert.

amountValue

object (AmountValue)

Optional. Ein Betragswert.

Ende der sich gegenseitig ausschließenden Felder.

NoneValue

Eine Singleton-Aufzählung, die den Wert „None“ darstellt.

Enums
NONE_VALUE_UNSPECIFIED Der Wert „None“.

DictValue

In Indexen werden Schlüssel Werten zugeordnet. Beispiel: Der Schlüssel keys[0] wird values[0] zugeordnet.

JSON-Darstellung
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolKeys": {
    object (BoolList)
  },
  "stringKeys": {
    object (StringList)
  },
  "int64Keys": {
    object (Int64List)
  },
  "genericKeys": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
Felder
Jeder Schlüssel kann genau eine Art haben. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
boolKeys

object (BoolList)

Optional. Eine Liste boolescher Schlüssel.

stringKeys

object (StringList)

Optional. Eine Liste von Stringschlüsseln.

int64Keys

object (Int64List)

Optional. Eine Liste von int64-Schlüsseln.

genericKeys

object (RepeatedValue)

Optional. Eine allgemeine Liste von Schlüsseln.

Ende der sich gegenseitig ausschließenden Felder.
Jeder Wert kann genau eine Art sein. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
boolValues

object (BoolList)

Optional. Eine Liste mit booleschen Werten.

stringValues

object (StringList)

Optional. Eine Liste von Stringwerten.

int64Values

object (Int64List)

Optional. Eine Liste von int64-Werten.

genericValues

object (RepeatedValue)

Optional. Eine generische Liste von Werten als Werte.

Ende der sich gegenseitig ausschließenden Felder.

BoolList

Eine Liste von booleschen Werten.

JSON-Darstellung
{
  "values": [
    boolean
  ]
}
Felder
values[]

boolean

Optional. Die booleschen Werte.

StringList

Eine Liste von Strings.

JSON-Darstellung
{
  "values": [
    string
  ]
}
Felder
values[]

string

Optional. Die Stringwerte.

Int64List

Eine Liste von int64-Werten.

JSON-Darstellung
{
  "values": [
    string
  ]
}
Felder
values[]

string (int64 format)

Optional. Die int64-Werte.

RepeatedValue

Eine allgemeine Liste von Werten.

JSON-Darstellung
{
  "values": [
    {
      object (Value)
    }
  ]
}
Felder
values[]

object (Value)

Optional. Die Werte in der Liste.

ContractValue

Stellt eine Vertragsreferenz dar.

JSON-Darstellung
{
  "contractId": string
}
Felder
contractId

string

Erforderlich. Die Vertrags-ID.

ListValue

Eine Liste mit Werten.

JSON-Darstellung
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
Felder
Jeder Wert kann genau eine Art sein. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
boolValues

object (BoolList)

Optional. Eine Liste mit booleschen Werten.

stringValues

object (StringList)

Optional. Eine Liste von Stringwerten.

int64Values

object (Int64List)

Optional. Eine Liste von int64-Werten.

genericValues

object (RepeatedValue)

Optional. Eine allgemeine Liste von Werten.

Ende der sich gegenseitig ausschließenden Felder.

QualifiedCurrencyValue

Stellt eine Währung im Ledger dar, die durch ihren Währungsbetreiber qualifiziert wird.

JSON-Darstellung
{
  "operatorId": string
}
Felder
operatorId

string

Erforderlich. Die ID des Währungsbetreibers, der die Währung verwaltet.

AccountValue

Ein Verweis auf ein Konto im Ledger.

Diese Referenz wird von der Laufzeit des Ledgers durch ein vollständiges gcul.Account-Objekt ersetzt. Weitere Informationen finden Sie in der GCULpy-Sprachreferenz im Artikel zur Klasse gcul.Account.

JSON-Darstellung
{
  "accountId": string
}
Felder
accountId

string

Erforderlich. Die Konto-ID.

AmountValue

Stellt einen Betrag in einer Währung dar.

JSON-Darstellung
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
Felder
currency

object (QualifiedCurrencyValue)

Erforderlich. Die Währung des Betrags.

amountValue

string (int64 format)

Erforderlich. Die Anzahl der kleineren Einheiten der Währung.

AccountManagerDetails

Details zu einem Account Manager.

JSON-Darstellung
{
  "numAccounts": integer,
  "tokenManagerId": string
}
Felder
numAccounts

integer

Nur Ausgabe. Die Anzahl der Konten, die von diesem Account Manager erstellt wurden.

tokenManagerId

string

Nur Ausgabe. Die ID des Standard-Token-Managers für Konten, die von diesem Account Manager erstellt wurden.

TokenManagerDetails

Details zu einem Token-Manager.

JSON-Darstellung
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
Felder
issuanceLimit

object (CurrencyValue)

Nur Ausgabe. Die Anzahl der Tokens, die dieser Token-Manager prägen darf.

issuedTokens

object (CurrencyValue)

Nur Ausgabe. Die Anzahl der von diesem Token-Manager generierten Tokens. Diese Zahl erhöht sich beim Prägen und verringert sich beim Verbrennen.

ContractTokenManagerDetails

Details zu einem Contract Token Manager.

JSON-Darstellung
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
Felder
issuanceLimit

object (CurrencyValue)

Nur Ausgabe. Die Anzahl der Tokens, für die dieser ContractTokenManager eine Unterstützung bereitstellen darf.

Da Vertragstoken-Manager ihr Ausgabelimit nicht erhöhen oder verringern können, sollte dieser Wert dem issuedTokens entsprechen.

issuedTokens

object (CurrencyValue)

Nur Ausgabe. Die Anzahl der Tokens, für die dieser Vertrags-Token-Manager eine Absicherung bietet (d. h. seine Gesamthaftung).

Dies entspricht der Summe aller Guthaben in Verträgen für die jeweilige Währung plus der Nettoposition in der Abrechnungsmatrix.

previousContractTokenManagerId

string

Nur Ausgabe. Die Konto-ID des vorherigen Vertragstoken-Managers für diese Währung. Dadurch entsteht ein Audit-Trail, der durchlaufen werden kann, um alle vorherigen Manager zu ermitteln. Wenn dies der erste Contract Token Manager für die Währung ist, ist dieses Feld leer.

accountStatus

enum (AccountStatus)

Nur Ausgabe. Der Status dieses Kontos.

ContractDetails

Details zu einem Smart Contract.

JSON-Darstellung
{
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
Felder
ownerId

string

Nur Ausgabe. Die ID des Inhabers des Vertrags.

code

string (bytes format)

Nur Ausgabe. Der serialisierte Vertragscode.

Ein base64-codierter String.

contractFields

object (Fields)

Nur Ausgabe. Die Vertragsfelder (Feldname -> Wert) für diesen Vertrag.

currencyBalances

map (key: string, value: object (CurrencyValue))

Nur Ausgabe. Die vom Vertrag gehaltenen Währungsguthaben (Währungsbetreiber -> Guthaben).

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClearingHouseDetails

Details zu einem Clearinghouse.

JSON-Darstellung
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
Felder
accountStatus

enum (AccountStatus)

Nur Ausgabe. Der Status dieses Kontos.

balances[]

object (BalanceToSettle)

Nur Ausgabe. Die Guthaben, die diese Clearingstelle derzeit für die Abrechnung erfasst.

settlementMode

enum (SettlementMode)

Nur Ausgabe. Der Abrechnungsmodus dieser Clearingstelle.

BalanceToSettle

Ein Saldo, der zwischen zwei Token-Managern ausgeglichen werden muss.

JSON-Darstellung
{
  "balancePayerId": string,
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
Felder
balancePayerId

string

Nur Ausgabe. Die ID des Kontos, für das der ausstehende Betrag beglichen werden muss.

balanceReceiverId

string

Nur Ausgabe. Die ID des Kontos, dem der zu begleichende Betrag geschuldet wird.

balance

object (CurrencyValue)

Nur Ausgabe. Der auszugleichende Betrag. Muss positiv sein.

SettlementMode

Der Abrechnungsmodus für eine Clearingstelle.

Enums
SETTLEMENT_MODE_UNSPECIFIED Der Abrechnungsmodus ist nicht angegeben. Dieser Wert ist ungültig und sollte nicht verwendet werden.
SETTLEMENT_MODE_DEFERRED Die Clearingstelle ist dafür verantwortlich, die Eigentümerschaft der Off-Ledger-Guthaben zu verfolgen und regelmäßig SettlementRequest-Transaktionen auszugeben, um die entsprechenden Guthaben im Ledger synchron zu halten.
SETTLEMENT_MODE_INSTANT Die Clearingstelle verwaltet einen einzigen Pool von Geldern und das Ledger dient als „Golden Source“ für die Zuweisung dieser Gelder zwischen den Token-Managern. Dieser Abrechnungsmodus kann auch als „Sofortige Bruttoabrechnung“ bezeichnet werden.

CurrencyOperatorDetails

Details zu einem Währungsoperator.

JSON-Darstellung
{
  "currencyCode": string,
  "accountStatus": enum (AccountStatus),
  "previousCurrencyOperatorId": string,
  "platformOperatorId": string,
  "contractTokenManagerId": string,
  "clearinghouseId": string
}
Felder
currencyCode

string

Nur Ausgabe. Die ID der mit diesem Konto verknüpften Währung, dargestellt durch den dreistelligen ISO 4217-Code.

accountStatus

enum (AccountStatus)

Nur Ausgabe. Der Status dieses Kontos.

previousCurrencyOperatorId

string

Nur Ausgabe. Die ID des vorherigen Währungsbetreibers, der die Inhaberschaft der Rolle „Währungsbetreiber“ auf dieses Konto übertragen hat. Wenn dies der erste Währungsoperator für die Währung ist, ist dieses Feld leer.

platformOperatorId

string

Nur Ausgabe. Die ID des Plattformbetreibers, der diesen Währungsbetreiber erstellt hat.

contractTokenManagerId

string

Nur Ausgabe. Die ID des Vertragstoken-Managers, der mit diesem Währungsbetreiber verknüpft ist.

clearinghouseId

string

Nur Ausgabe. Die ID der Clearingstelle, die diesem Währungsbetreiber zugeordnet ist.

PlatformOperatorDetails

Details, die für einen Plattformbetreiber spezifisch sind.

JSON-Darstellung
{
  "accountStatus": enum (AccountStatus),
  "previousPlatformOperatorId": string
}
Felder
accountStatus

enum (AccountStatus)

Nur Ausgabe. Der Status dieses Kontos.

previousPlatformOperatorId

string

Nur Ausgabe. Die ID des vorherigen Plattformbetreibers, der die Inhaberschaft der Plattformbetreiberrolle auf dieses Konto übertragen hat. Wenn dies der erste Plattformbetreiber ist, ist dieses Feld leer.