Stellt eine von einem Client initiierte Transaktion dar.
| JSON-Darstellung |
|---|
{ "senderId": string, "otherSignatoryIds": [ string ], "sequenceNumber": string, "chainedUnit": boolean, "network": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "operational": { "@type": string, field1: ..., ... }, "transferPlatformOperatorTransaction": { object ( |
| Felder | |
|---|---|
senderId |
Erforderlich. Die ID des Kontos, das diese Transaktion sendet. |
otherSignatoryIds[] |
Optional. Die IDs der Konten, die diese Transaktion zusätzlich zum Absender signiert haben. |
sequenceNumber |
Erforderlich. Eine eindeutige, monoton steigende Zahl, beginnend bei 0. Diese Zahl muss für jede Transaktion, die zuvor vom selben Transaktionssender an das Netzwerk gesendet wurde, um eins erhöht werden. Dies gilt nicht für Transaktionseinheiten, die möglicherweise als Teil einer Kette gesendet wurden und für die keine Sequenznummer festgelegt werden darf. Der Absender der Transaktionskette selbst ist jedoch enthalten. |
chainedUnit |
Muss auf „true“ gesetzt werden, wenn diese Clienttransaktion Teil einer Transaktionskette ist. Andernfalls muss er auf „false“ gesetzt werden. Dies ist erforderlich, um zu verhindern, dass eine signierte Transaktion, die Teil einer Kette sein soll, einzeln gesendet wird. |
network |
Erforderlich. Der Name des Netzwerks, für das diese Transaktion bestimmt ist, z. B. |
| Die clientspezifische Transaktionsnachricht. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt: | |
operational |
Optional. Eine operative Transaktionsnachricht. Diese kann nur vom Plattformbetreiber gesendet werden. Sollte einer der folgenden Werte sein: Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld |
transferPlatformOperatorTransaction |
Optional. Nachricht zum Übertragen der Plattformbetreiberrolle auf ein neues Konto. |
createCurrencyOperatorTransaction |
Optional. Nachricht zum Erstellen eines neuen Währungsoperators. |
transferCurrencyOperatorTransaction |
Optional. Nachricht zur Übertragung der Rolle „Währungsbetreiber“ auf ein neues Konto. |
createClearinghouseTransaction |
Optional. Nachricht zum Erstellen eines neuen Clearinghouses. |
createAccountManagerTransaction |
Optional. Nachricht zum Erstellen eines neuen Account Managers. |
createTokenManagerTransaction |
Optional. Nachricht zum Erstellen eines neuen Token-Managers, der der Währung des Betreibers zugeordnet ist, der die Anfrage sendet. |
increaseTokenIssuanceLimitTransaction |
Optional. Benachrichtigt das Netzwerk, dass das Zielkonto Reservemittel hinterlegt hat, und erhöht das Limit für die Tokenausgabe. |
decreaseTokenIssuanceLimitTransaction |
Optional. Benachrichtigt das Netzwerk, dass das Zielkonto Reserveguthaben abheben möchte, und verringert das Limit für die Tokenausgabe. |
settlementRequestTransaction |
Optional. Nachricht zum Initiieren eines Abrechnungsvorgangs. |
mintTransaction |
Optional. Nachricht zum Prägen von Währungstokens und Übertragen an ein Konto. |
burnTransaction |
Optional. Nachricht zum Löschen von Währungstokens aus einem Konto. |
createAccountTransaction |
Optional. Nachricht zum Erstellen eines neuen Nutzerkontos. |
deactivateAccountTransaction |
Optional. Nachricht zum Deaktivieren eines Nutzerkontos. |
activateAccountTransaction |
Optional. Nachricht zum Aktivieren eines Nutzerkontos. |
addRolesTransaction |
Optional. Nachricht zum Hinzufügen von Rollen zu einem Konto. |
removeRolesTransaction |
Optional. Nachricht zum Entfernen von Rollen aus einem Konto. |
changeAccountManagerTransaction |
Optional. Nachricht zum Ändern des Account Managers eines Kontos. |
transferTransaction |
Optional. Nachricht zum Übertragen von Tokens von einem Nutzerkonto auf ein anderes. |
createContractTransaction |
Optional. Nachricht zum Erstellen eines neuen Vertrags im Ledger. |
grantContractPermissionsTransaction |
Optional. Nachricht zum Erteilen von Berechtigungen für einen Vertrag. |
invokeContractMethodTransaction |
Optional. Nachricht zum Aufrufen der Ausführung einer Vertragsmethode. |
createContractTokenManagerTransaction |
Optional. Nachricht zum Erstellen eines neuen Token-Managers, der der Währung des Betreibers zugeordnet ist, der die Anfrage sendet. |
transferContractTokenManagerTransaction |
Optional. Nachricht für die Übertragung der Tokenmanager-Rolle für eine Währung von einem Konto auf ein anderes. |
removeSigningPublicKeyTransaction |
Optional. Nachricht zum Entfernen eines Kontosignaturschlüssels. |
replaceSigningPublicKeyTransaction |
Optional. Nachricht zum Ersetzen eines Kontosignaturschlüssels. |
chain |
Optional. Nachricht für eine Transaktionskette, die mehrere Transaktionseinheiten enthält, die nacheinander ausgeführt werden sollen. |
| Ende der sich gegenseitig ausschließenden Felder. | |
TransferPlatformOperator
Überträgt die Inhaberschaft des Plattformbetreibers auf ein neues Konto. Der Absender muss der aktuelle Plattformbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird der aktuelle Plattformbetreiber deaktiviert und die ID des neu erstellten Kontos wird als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Plattformbetreibers. Dieser öffentliche Schlüssel wird mit dem Plattformbetreiber verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Plattformbetreibers ausgehen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
CreateCurrencyOperator
Erstellt einen neuen Währungsoperator. Der Absender muss der Plattformbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
Mit dieser Transaktion kann eine neue Währung in das System eingeführt oder ein zusätzlicher Währungsbetreiber für eine vorhandene Währung erstellt werden. Wenn ein vorhandener Währungsoperator ersetzt werden muss, sollte stattdessen die Transaktion TransferCurrencyOperator gesendet werden.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Währungsbetreibers. Dieser öffentliche Schlüssel wird mit dem Währungsbetreiber verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Betreibers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
currencyCode |
Erforderlich. Die mit diesem Betreiber verknüpfte Fiatwährung, dargestellt als dreistelliger ISO 4217-Code in Großbuchstaben. Als öffentliche Informationen betrachtet. |
TransferCurrencyOperator
Überträgt die Inhaberschaft des angegebenen Währungsoperators auf ein neues Konto. Der Absender muss der Plattformbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird der angegebene Währungsoperator deaktiviert und die ID des neu erstellten Kontos wird als Ereignis in den TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Währungsbetreibers. Dieser öffentliche Schlüssel wird mit dem Währungsbetreiber verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Währungsbetreibers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
currencyOperatorId |
Erforderlich. Die ID des zu ersetzenden Währungsoperators. Muss aktiv sein. Der Wert ist auf 60 Zeichen beschränkt. |
CreateClearinghouse
Erstellt ein neues Clearinghouse. Der Absender muss ein Währungsbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel der neuen Clearingstelle. Dies ist nicht der öffentliche Schlüssel des Betreibers. Dieser öffentliche Schlüssel wird mit der Clearingstelle verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto der Clearingstelle ausgehen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
settlementMode |
Erforderlich. Der Abrechnungsmodus für diese Clearingstelle. Erforderlich. Als öffentliche Informationen betrachtet. |
CreateAccountManager
Erstellt einen neuen Account Manager. Der Absender muss ein Währungsbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Account Managers. Dies ist nicht der öffentliche Schlüssel des Betreibers. Dieser öffentliche Schlüssel wird mit dem Account Manager verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Account Managers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
defaultTokenManagerId |
Optional. Die ID des Standard-Token-Managers für die Konten, die von diesem Manager erstellt werden. Der Wert ist auf 60 Zeichen beschränkt. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
CreateTokenManager
Erstellt einen neuen Token-Manager, der der Währung des Betreibers zugeordnet ist, der die Anfrage sendet. Der Absender muss ein Währungsbetreiber sein.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Token-Managers. Dies ist nicht der öffentliche Schlüssel des Betreibers. Dieser öffentliche Schlüssel wird mit dem Token-Manager verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Token-Managers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
IncreaseTokenIssuanceLimit
Transaktionen für die Ausgabe und das Minting von Tokens. Benachrichtigt das Netzwerk, dass das Zielkonto Reservemittel hinterlegt hat, und erhöht das Limit für die Tokenausgabe. Der Absender muss ein Clearinghouse-Konto sein.
| JSON-Darstellung |
|---|
{
"tokenManagerId": string,
"amount": {
object ( |
| Felder | |
|---|---|
tokenManagerId |
Erforderlich. Die ID des institutionellen Kontos, dessen Prägelimit erhöht werden soll. Dieses Konto muss ein Token-Manager sein, damit die Transaktion gültig ist. |
amount |
Erforderlich. Der Betrag, um den das Limit erhöht werden soll. Der Betrag muss positiv sein. |
DecreaseTokenIssuanceLimit
Benachrichtigt das Netzwerk, dass das Zielkonto Reserveguthaben abheben möchte, und verringert das Limit für die Tokenausgabe. Der Absender muss ein Clearinghouse-Konto sein.
Diese Transaktion muss erfolgreich abgeschlossen werden, bevor die Reservemittel abgehoben werden können. Dies ist erforderlich, da die Transaktion fehlschlagen kann (z. B. wenn der geprägte Betrag bereits über dem angeforderten reduzierten Limit liegt).
| JSON-Darstellung |
|---|
{
"tokenManagerId": string,
"amount": {
object ( |
| Felder | |
|---|---|
tokenManagerId |
Erforderlich. Die ID des institutionellen Kontos, dessen Prägelimit gesenkt werden soll. Dieses Konto muss ein Token-Manager sein, damit die Transaktion gültig ist. |
amount |
Erforderlich. Der Betrag, um den das Limit gesenkt werden soll. Der Betrag muss positiv sein. Die Transaktion schlägt fehl, wenn das reduzierte Limit unter die aktuell ausgegebenen Tokens fällt. |
SettlementRequest
Initiiert einen Abrechnungsvorgang zwischen zwei Token-Managern. Der Absender muss ein Clearinghouse-Konto sein.
Im verzögerten SettlementMode, in dem die Clearingstelle die Token-Manager-Mittel verwahrt, ist dies die einzige Transaktion, die gesendet werden muss, um eine Abrechnung zwischen den beiden Token-Managern auszuführen.
| JSON-Darstellung |
|---|
{
"payerId": string,
"beneficiaryId": string,
"balance": {
object ( |
| Felder | |
|---|---|
payerId |
Erforderlich. Nicht veränderbar. Die Konto-ID der Partei, die die Überweisung vornehmen muss. |
beneficiaryId |
Erforderlich. Nicht veränderbar. Die Konto-ID der Partei, die das Geld erhält. |
balance |
Erforderlich. Nicht veränderbar. Der Saldo der ausgegebenen Tokens, die vom |
roundId |
Erforderlich. Nicht veränderbar. Die ID der Runde, für die dieser Abrechnungsbetrag berechnet wurde. |
Mint
Prägt Währungstokens und überträgt sie auf ein bestimmtes Konto. Der Absender muss ein Token-Manager sein.
| JSON-Darstellung |
|---|
{
"mintAmount": {
object ( |
| Felder | |
|---|---|
mintAmount |
Erforderlich. Die Menge, die geprägt werden soll. Der Betrag muss so gewählt werden, dass die Gesamtzahl der vom Token-Manager geprägten Token das Prägelimit nicht überschreitet. Wenn der Betrag höher ist, muss die Transaktion abgelehnt werden. |
beneficiaryId |
Erforderlich. Die ID des Kontos, auf das der geprägte Betrag übertragen werden soll. Für das Empfängerkonto muss |
CreateAccount
Erstellt ein neues Nutzerkonto. Der Absender muss ein Account Manager sein.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Den öffentlichen Schlüssel des Kontoinhabers. Dies ist nicht der öffentliche Schlüssel des Absenders. Dies ist der öffentliche Schlüssel des neuen Kontoinhabers. Er wird im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom erstellten Konto ausgehen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
roles[] |
Optional. Die Liste der Rollen, die diesem Konto zugewiesen werden sollen. |
accountStatus |
Optional. Der Status des zu erstellenden Kontos. Standardmäßig ist der Kontostatus eines neu erstellten Kontos |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
tokenManagerId |
Optional. Die ID des Token-Managers für dieses Konto. Dieses Feld ist optional. Wenn es nicht angegeben wird, wird der Standard-Token-Manager verwendet, der dem Account Manager (also dem Absender dieser Transaktion) zugeordnet ist. Der Wert ist auf 60 Zeichen beschränkt. |
DeactivateAccount
Markiert ein Konto als ACCOUNT_STATUS_INACTIVE. Der Absender muss der Account Manager des zu deaktivierenden Kontos sein.
Das bedeutet, dass der Kontoinhaber unabhängig von den Rollen keine Transaktionen im Konto ausführen kann.
| JSON-Darstellung |
|---|
{ "accountId": string } |
| Felder | |
|---|---|
accountId |
Erforderlich. Die ID des zu deaktivierenden Kontos. Der Wert ist auf 60 Zeichen beschränkt. |
RemoveRoles
Entfernt die angegebenen Rollen aus dem Konto. Der Absender muss der Account Manager des zu ändernden Kontos sein.
| JSON-Darstellung |
|---|
{
"accountId": string,
"roles": [
enum ( |
| Felder | |
|---|---|
accountId |
Erforderlich. Die ID des zu ändernden Kontos. Der Wert ist auf 60 Zeichen beschränkt. |
roles[] |
Erforderlich. Die zu entfernenden Rollen. |
Übertragen
Überträgt Tokens von einem Nutzerkonto auf ein anderes. Der Absender muss ein reguläres Nutzerkonto sein, kein privilegiertes Konto wie ein Token-Manager oder ein Account Manager.
Außerdem muss beim Absender der Transaktion ROLE_PAYER und beim Empfänger ROLE_RECEIVER aktiviert sein.
| JSON-Darstellung |
|---|
{
"beneficiaryId": string,
"amount": {
object ( |
| Felder | |
|---|---|
beneficiaryId |
Erforderlich. Die ID des Kontos, das die Tokens erhält. |
amount |
Erforderlich. Der zu übertragende Betrag. Der Betrag muss positiv sein. |
CreateContract
Speichert einen Vertrag im Ledger.
| JSON-Darstellung |
|---|
{
"contractBytes": string,
"initArguments": {
string: {
object ( |
| Felder | |
|---|---|
contractBytes |
Serialisierte Vertragsbyte. Ein base64-codierter String. |
initArguments |
Optional. Nicht veränderbar. Enthält Argumente für die Methode Ein Objekt, das eine Liste von |
contractComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Ledger im Vertrag gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
GrantContractPermissions
Gewährt dem Vertrag Berechtigungen durch den Transaktionssender. Wenn delegateContractId angegeben ist, werden die Berechtigungen und der entsprechende Speicherplatz ausschließlich dem delegateContractId-Vertrag und nicht dem Absender gewährt.
Beachten Sie, dass das Widerrufen von Berechtigungen nicht unterstützt wird.
| JSON-Darstellung |
|---|
{
"contractId": string,
"permissions": [
enum ( |
| Felder | |
|---|---|
contractId |
Erforderlich. Die ID des Vertrags, für den Berechtigungen gewährt werden. |
permissions[] |
Die zu gewährenden Berechtigungen. |
delegateContractId |
Optional. Die Vertrags-ID, für die Berechtigungen gewährt werden. Der Absender der Transaktion muss der Inhaber dieses Vertrags sein. |
InvokeContractMethod
Ruft die Ausführung einer Vertragsmethode auf.
| JSON-Darstellung |
|---|
{ "contractId": string, "methodName": string, "methodArguments": { string: { object ( |
| Felder | |
|---|---|
contractId |
Erforderlich. Die ID des auszuführenden Vertrags. |
methodName |
Name der auszuführenden Methode. |
methodArguments |
Optional. Nicht veränderbar. Enthält Argumente, die an die Methode übergeben werden sollen. Ein Objekt, das eine Liste von |
payment |
Der zu zahlende Betrag. Muss beim Aufrufen von zahlungspflichtigen Methoden größer als null sein und bei nicht zahlungspflichtigen Methoden null. |
CreateContractTokenManager
Erstellt einen neuen Vertragstoken-Manager, der mit der Währung des Betreibers verknüpft ist, der die Anfrage sendet. Der Absender muss ein Währungsbetreiber sein. Der neu erstellte Contract Token Manager ist standardmäßig aktiv. Wenn der Contract Token Manager ersetzt werden muss, sollte stattdessen die Transaktion „TransferContractTokenManager“ gesendet werden. Wenn ein anderer ContractTokenManager mit derselben Währung verknüpft ist, schlägt diese Transaktion fehl.
Im Gegensatz zu regulären Token-Managern dürfen Contract Token Manager keine Transaktionen wie das Erstellen oder Löschen von Tokens ausführen. Sie können jedoch an Abwicklungsvorgängen teilnehmen.
Wenn die Transaktion erfolgreich ist, wird die ID des neu erstellten Kontos als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"accountComment": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Contract Token Managers. Dies ist nicht der öffentliche Schlüssel des Betreibers. Dieser öffentliche Schlüssel wird mit dem Contract Token Manager verknüpft und im Ledger gespeichert. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Contract Token Managers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
TransferContractTokenManager
Überträgt die Inhaberschaft des Vertragstoken-Managers auf ein neues Konto. Der Absender muss der aktuelle Währungsbetreiber für die Währung sein.
Wenn die Transaktion erfolgreich ist, wird der aktuelle Contract Token Manager für die Währung deaktiviert und die ID des neu erstellten Kontos wird als Ereignis im TransactionCertificate der abgeschlossenen Transaktion zurückgegeben.
| JSON-Darstellung |
|---|
{
"publicKey": string,
"accountComment": string,
"keyFormat": enum ( |
| Felder | |
|---|---|
publicKey |
Erforderlich. Der öffentliche Schlüssel des neuen Contract Token Managers. Dies ist nicht der öffentliche Schlüssel des Betreibers. Dies ist der öffentliche Schlüssel des neuen Contract Token Managers, der im Ledger gespeichert wird. Er wird verwendet, um die Signatur der Transaktionen zu validieren, die vom Konto des Contract Token Managers stammen. Das Format des öffentlichen Schlüssels wird durch das Feld Ein base64-codierter String. |
accountComment |
Optional. Nicht veränderbar. Ein intransparentes Kommentarfeld, das vom System nicht interpretiert, aber im Konto im Ledger gespeichert wird. Als öffentliche Informationen betrachtet. Sie darf maximal 128 Zeichen lang sein. Kann leer gelassen werden. Nach dem Erstellen kann das Feld nicht mehr geändert werden. |
keyFormat |
Optional. Nicht veränderbar. Das Schlüsselformat des öffentlichen Schlüssels. Wenn nichts angegeben ist, wird standardmäßig ein binär serialisierter Schlüsselsatz im Tink-Wire-Format verwendet. Als öffentliche Informationen betrachtet. |
RemoveSigningPublicKey
Entfernt den Signaturschlüssel des Kontos aus dem angegebenen Slot. Der andere Slot darf nicht leer sein und muss den Schlüssel enthalten, der zum Signieren des ClientTransaction verwendet wird.
| JSON-Darstellung |
|---|
{
"keySlot": enum ( |
| Felder | |
|---|---|
keySlot |
Erforderlich. Der Schlüsselslot, aus dem der Schlüssel entfernt wird. Wenn das Feld bereits leer ist, schlägt die Transaktion fehl. |
ReplaceSigningPublicKey
Ersetzt den Kontosignaturschlüssel im angegebenen Slot. Der andere Slot darf nicht leer sein und muss den Schlüssel enthalten, der zum Signieren des ClientTransaction verwendet wird.
| JSON-Darstellung |
|---|
{ "keySlot": enum ( |
| Felder | |
|---|---|
keySlot |
Erforderlich. Der Schlüsselslot, in dem der Schlüssel ersetzt wird. |
newPublicKey |
Erforderlich. Der neue öffentliche Schlüssel, der den öffentlichen Schlüssel im angegebenen Slot ersetzt. Das Format des öffentlichen Schlüssels wird durch das Feld „newKeyFormat“ definiert. Als öffentliche Informationen betrachtet. Ein base64-codierter String. |
newKeyFormat |
Erforderlich. Das Schlüsselformat des neuen öffentlichen Schlüssels. Eine Liste der unterstützten Formate finden Sie in der Definition von KeyFormat. Als öffentliche Informationen betrachtet. |
TransactionChain
Eine Transaktionskette mit mehreren Transaktionseinheiten, die nacheinander ausgeführt werden sollen.
Die Einheiten werden nacheinander in der angegebenen Reihenfolge ausgeführt. Wenn alle Einheiten erfolgreich sind, werden ihre kumulativen Auswirkungen atomar auf den Weltstatus angewendet. Andernfalls schlägt die gesamte Kette fehl und keine der Auswirkungen wird angewendet.
| JSON-Darstellung |
|---|
{ "units": [ string ] } |
| Felder | |
|---|---|
units[] |
Die einzelnen Einheiten der Kette. Jede Einheit muss ein serialisiertes Beachten Sie, dass die serialisierten Byte erforderlich sind, um die zu signierenden Byte für die Kette selbst zu bestimmen. Ein base64-codierter String. |