ClientTransaction

代表由用戶端發起的交易。

JSON 表示法
{
  "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 (TransferPlatformOperator)
  },
  "createCurrencyOperatorTransaction": {
    object (CreateCurrencyOperator)
  },
  "transferCurrencyOperatorTransaction": {
    object (TransferCurrencyOperator)
  },
  "createClearinghouseTransaction": {
    object (CreateClearinghouse)
  },
  "createAccountManagerTransaction": {
    object (CreateAccountManager)
  },
  "createTokenManagerTransaction": {
    object (CreateTokenManager)
  },
  "increaseTokenIssuanceLimitTransaction": {
    object (IncreaseTokenIssuanceLimit)
  },
  "decreaseTokenIssuanceLimitTransaction": {
    object (DecreaseTokenIssuanceLimit)
  },
  "settlementRequestTransaction": {
    object (SettlementRequest)
  },
  "mintTransaction": {
    object (Mint)
  },
  "burnTransaction": {
    object (Burn)
  },
  "createAccountTransaction": {
    object (CreateAccount)
  },
  "deactivateAccountTransaction": {
    object (DeactivateAccount)
  },
  "activateAccountTransaction": {
    object (ActivateAccount)
  },
  "addRolesTransaction": {
    object (AddRoles)
  },
  "removeRolesTransaction": {
    object (RemoveRoles)
  },
  "changeAccountManagerTransaction": {
    object (ChangeAccountManager)
  },
  "transferTransaction": {
    object (Transfer)
  },
  "createContractTransaction": {
    object (CreateContract)
  },
  "grantContractPermissionsTransaction": {
    object (GrantContractPermissions)
  },
  "invokeContractMethodTransaction": {
    object (InvokeContractMethod)
  },
  "createContractTokenManagerTransaction": {
    object (CreateContractTokenManager)
  },
  "transferContractTokenManagerTransaction": {
    object (TransferContractTokenManager)
  },
  "removeSigningPublicKeyTransaction": {
    object (RemoveSigningPublicKey)
  },
  "replaceSigningPublicKeyTransaction": {
    object (ReplaceSigningPublicKey)
  },
  "chain": {
    object (TransactionChain)
  }
  // End of mutually exclusive fields.
}
欄位
senderId

string

這是必要旗標,傳送這筆交易的帳戶 ID。

otherSignatoryIds[]

string

選用。除了傳送者外,簽署這筆交易的帳戶 ID。

sequenceNumber

string (int64 format)

這是必要旗標,不重複的單調遞增數字,從 0 開始。

同一位交易傳送者先前向網路提交的每筆交易,都必須將這個數字加一。

請注意,這不包含可能已做為鏈結一部分提交的任何交易單位,這些單位不得設定序號。但會包含交易鏈本身的寄件者。

chainedUnit

boolean

如果這筆用戶端交易屬於交易鏈的一部分,則必須設為 true。否則,必須設為 false。

這是為了避免已簽署的交易 (原本應為鏈結的一部分) 單獨提交。

network

string

這是必要旗標,這筆交易預計使用的網路名稱,例如 user-testing。如果名稱與處理交易的網路不符,交易就會遭拒。

用戶端交易專屬訊息。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
operational

object

選用。作業交易訊息。請注意,這項資訊只能由平台營運商傳送。應為下列其中一項:

包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }。

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

選用。將平台營運商角色轉移至新帳戶的訊息。

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

選用。建立新貨幣運算子的訊息。

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

選用。將貨幣操作員角色轉移至新帳戶的訊息。

createClearinghouseTransaction

object (CreateClearinghouse)

選用。建立新結算所的訊息。

createAccountManagerTransaction

object (CreateAccountManager)

選用。建立新客戶經理時顯示的訊息。

createTokenManagerTransaction

object (CreateTokenManager)

選用。建立新代碼管理工具的訊息,與傳送要求的業者幣別相關聯。

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

選用。通知網路,目標帳戶已存入準備金,並提高代幣發行上限。

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

選用。通知網路,目標帳戶希望提領準備金,並降低代幣發行上限。

settlementRequestTransaction

object (SettlementRequest)

選用。用於啟動結算作業的訊息。

mintTransaction

object (Mint)

選用。用於鑄造貨幣代幣並轉移至帳戶的訊息。

burnTransaction

object (Burn)

選用。從帳戶銷毀貨幣代幣的訊息。

createAccountTransaction

object (CreateAccount)

選用。建立新使用者帳戶時顯示的訊息。

deactivateAccountTransaction

object (DeactivateAccount)

選用。停用使用者帳戶時顯示的訊息。

activateAccountTransaction

object (ActivateAccount)

選用。啟用使用者帳戶的訊息。

addRolesTransaction

object (AddRoles)

選用。為帳戶新增角色的訊息。

removeRolesTransaction

object (RemoveRoles)

選用。從帳戶移除角色的訊息。

changeAccountManagerTransaction

object (ChangeAccountManager)

選用。變更帳戶客戶經理時顯示的訊息。

transferTransaction

object (Transfer)

選用。用於將代幣從一個使用者帳戶轉移到另一個帳戶的訊息。

createContractTransaction

object (CreateContract)

選用。在總帳上建立新合約的訊息。

grantContractPermissionsTransaction

object (GrantContractPermissions)

選用。授予合約權限的訊息。

invokeContractMethodTransaction

object (InvokeContractMethod)

選用。叫用合約方法執行的訊息。

createContractTokenManagerTransaction

object (CreateContractTokenManager)

選用。建立新代碼管理工具的訊息,與傳送要求的業者幣別相關聯。

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

選用。將某種貨幣的代幣管理員角色從一個帳戶轉移到另一個帳戶的訊息。

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

選用。移除帳戶簽署金鑰時顯示的訊息。

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

選用。更換帳戶簽署金鑰的訊息。

chain

object (TransactionChain)

選用。交易鏈訊息,包含多個要依序執行的交易單位。

互斥欄位結束。

TransferPlatformOperator

將平台運算子的擁有權轉移至新帳戶。寄件者必須是目前的平台營運商。

如果交易成功,系統會停用目前的平台營運商,並將新建立帳戶的 ID,以事件形式傳回至已完成交易的 TransactionCertificate。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新平台營運商的公開金鑰。這組公開金鑰會與平台營運商建立關聯,並儲存在帳本中。用於驗證平台業者帳戶交易的簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

CreateCurrencyOperator

建立新的貨幣運算子。寄件者必須是平台營運商。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

這項交易可將新貨幣引入系統,或為現有貨幣建立額外的貨幣運算子。如需更換現有的貨幣業者,請改為傳送 TransferCurrencyOperator 交易。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新貨幣營運商的公開金鑰。這組公開金鑰會與貨幣營運商建立關聯,並儲存在帳本中。用於驗證從操作者帳戶發出的交易簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

currencyCode

string

這是必要旗標,與這個運算子相關聯的法定貨幣,以 3 個大寫字母的 ISO 4217 代碼表示。視為公開資訊。

TransferCurrencyOperator

將指定貨幣運營商的擁有權轉移給新帳戶。寄件者必須是平台營運商。

如果交易成功,系統會停用指定的貨幣運算子,並在已完成交易的 TransactionCertificate 中,以事件形式傳回新建立帳戶的 ID。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新貨幣營運商的公開金鑰。這組公開金鑰會與貨幣營運商建立關聯,並儲存在帳本上。用於驗證貨幣營運商帳戶交易的簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

currencyOperatorId

string

這是必要旗標,要取代的貨幣運算子 ID。必須處於有效狀態。值長度上限為 60 個半形字元。

CreateClearinghouse

建立新的結算所。寄件者必須是貨幣營運商。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
欄位
publicKey

string (bytes format)

這是必要旗標,新結算所的公開金鑰。請注意,這「不是」操作者的公開金鑰。這組公開金鑰會與結算所建立關聯,並儲存在總帳中。用於驗證清算所帳戶交易的簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

settlementMode

enum (SettlementMode)

這是必要旗標,這個結算所的結算模式。這是必要旗標,視為公開資訊。

CreateAccountManager

建立新的帳戶管理員。寄件者必須是貨幣營運商。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新帳戶管理員的公開金鑰。請注意,這「不是」操作者的公開金鑰。這組公開金鑰會與帳戶管理員建立關聯,並儲存在帳本中。用於驗證帳戶管理員帳戶交易的簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

defaultTokenManagerId

string

選用。這個管理員建立的帳戶,其預設權杖管理員的 ID。值長度上限為 60 個半形字元。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

CreateTokenManager

建立新的代碼管理工具,並與傳送要求的業者所用幣別建立關聯。寄件者必須是貨幣營運商。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新權杖管理員的公開金鑰。請注意,這「不是」操作者的公開金鑰。這組公開金鑰會與代幣管理工具建立關聯,並儲存在帳本中。用於驗證來自代幣管理員帳戶的交易簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

IncreaseTokenIssuanceLimit

代幣發行和鑄造交易。通知網路目標帳戶已存入準備金,並提高代幣發行上限。寄件者必須是結算所帳戶。

JSON 表示法
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
欄位
tokenManagerId

string

這是必要旗標,要提高鑄造上限的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才有效。

amount

object (CurrencyValue)

這是必要旗標,要提高的上限。金額必須為正數。

DecreaseTokenIssuanceLimit

通知網路,目標帳戶希望提領準備金,並降低代幣發行上限。寄件者必須是結算所帳戶。

請注意,這筆交易必須先成功完成,才能提領預留資金。這是必要步驟,因為交易可能會失敗 (例如,鑄造金額已超過要求的降低上限)。

JSON 表示法
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
欄位
tokenManagerId

string

這是必要旗標,要降低鑄造上限的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才有效。

amount

object (CurrencyValue)

這是必要旗標,要降低的限制量。金額必須為正數。如果調降後的上限低於目前核發的代碼數量,交易就會失敗。

SettlementRequest

在兩個代碼管理工具之間啟動結算作業。寄件者必須是結算所帳戶。

在結算所保管代幣管理工具資金的延遲 SettlementMode 中,這是唯一需要傳送的交易,以便在兩個代幣管理工具之間執行結算。

JSON 表示法
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
欄位
payerId

string

這是必要旗標,不可變動。需要轉帳付款的參與方帳戶 ID。

beneficiaryId

string

這是必要旗標,不可變動。收款方的帳戶 ID。

balance

object (CurrencyValue)

這是必要旗標,不可變動。payer 帳戶需要轉移至總帳上 beneficiary 帳戶的已核發代幣餘額。

roundId

string (int64 format)

這是必要旗標,不可變動。計算這筆結算金額的回合 ID。

Mint

鑄造貨幣代幣,並轉移至指定帳戶。寄件者必須是權杖管理員。

JSON 表示法
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
欄位
mintAmount

object (CurrencyValue)

這是必要旗標,要鑄造的數量。代幣管理工具鑄造的代幣總數不得超過鑄造上限。如果金額高於這個值,就必須拒絕交易

beneficiaryId

string

這是必要旗標,要轉移鑄造金額的帳戶 ID。接收帳戶必須啟用 ROLE_RECEIVER。

CreateAccount

建立新的使用者帳戶。寄件者必須是客戶經理。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

JSON 表示法
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,帳戶擁有者的公開金鑰。請注意,這「不是」寄件者的公開金鑰。這是新帳戶擁有者的公開金鑰,會儲存在帳本中。用於驗證所建立帳戶發出的交易簽名。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

roles[]

enum (Role)

選用。要授予這個帳戶的角色清單。

accountStatus

enum (AccountStatus)

選用。要建立的帳戶狀態。根據預設,新建立帳戶的狀態會是 ACCOUNT_STATUS_ACTIVE。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

tokenManagerId

string

選用。這個帳戶的權杖管理員 ID。這個欄位為選填,如未提供,系統會使用與帳戶管理員 (即這筆交易的傳送者) 相關聯的預設權杖管理工具。值長度上限為 60 個半形字元。

DeactivateAccount

將帳戶標示為 ACCOUNT_STATUS_INACTIVE。寄件者必須是停用帳戶的客戶經理。

這表示無論帳戶擁有者具備何種角色,都無法在帳戶中進行任何交易。

JSON 表示法
{
  "accountId": string
}
欄位
accountId

string

這是必要旗標,要停用的帳戶 ID。值長度上限為 60 個半形字元。

RemoveRoles

從帳戶中移除指定角色。寄件者必須是待修改帳戶的客戶經理。

JSON 表示法
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
欄位
accountId

string

這是必要旗標,要修改的帳戶 ID。值長度上限為 60 個半形字元。

roles[]

enum (Role)

這是必要旗標,要移除的角色。

轉移

將代幣從一個使用者帳戶轉移到另一個帳戶。寄件者必須是一般使用者帳戶,而非權杖管理員或帳戶管理員等特殊權限帳戶。

此外,交易傳送方必須啟用 ROLE_PAYER,接收方則必須啟用 ROLE_RECEIVER。

JSON 表示法
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
欄位
beneficiaryId

string

這是必要旗標,接收權杖的帳戶 ID。

amount

object (CurrencyValue)

這是必要旗標,要轉移的金額。金額必須為正數。

CreateContract

在帳本中儲存合約。

JSON 表示法
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
欄位
contractBytes

string (bytes format)

序列化合約位元組。

Base64 編碼字串。

initArguments

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

選用。不可變動。包含 __init__ 方法的引數。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

contractComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在合約的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

GrantContractPermissions

由交易傳送者授予合約權限。如果指定 delegateContractId,權限和對應的儲存空間會專門授予 delegateContractId 合約,而非傳送者。

請注意,系統不支援撤銷權限。

JSON 表示法
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
欄位
contractId

string

這是必要旗標,要授予權限的合約 ID。

permissions[]

enum (ContractPermission)

要授予的權限。

delegateContractId

string

選用。要授予權限的合約 ID。交易傳送者必須是這份合約的擁有者。

InvokeContractMethod

叫用合約方法的執行作業。

JSON 表示法
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
欄位
contractId

string

這是必要旗標,要執行的合約 ID。

methodName

string

要執行的方法名稱。

methodArguments

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

選用。不可變動。包含要傳遞至方法的引數。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

payment

object (CurrencyValue)

應付金額。叫用應付方法時,必須大於零;叫用非應付方法時,則為零。

CreateContractTokenManager

建立新的合約代碼管理工具,並與傳送要求的業者幣別建立關聯。寄件者必須是貨幣營運商。新建立的合約代碼管理工具預設為啟用。如果必須更換合約權杖管理員,則應改為傳送 TransferContractTokenManager 交易。如果已有另一個與相同幣別相關聯的合約代幣管理工具,這筆交易就會失敗。

與一般代幣管理工具不同,合約代幣管理工具無法執行鑄造或銷毀等交易。不過,他們可以參與結算作業。

如果交易成功,新建立帳戶的 ID 會以事件形式,在已完成交易的 TransactionCertificate 中傳回。

JSON 表示法
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
欄位
publicKey

string (bytes format)

這是必要旗標,新合約權杖管理員的公開金鑰。請注意,這「不是」操作者的公開金鑰。這組公開金鑰會與合約代幣管理工具建立關聯,並儲存在帳本中。用於驗證合約代幣管理員帳戶發出的交易簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

TransferContractTokenManager

將合約代幣管理員的擁有權轉移給新帳戶。傳送者必須是該貨幣的目前貨幣運算子。

如果交易成功,系統會停用該貨幣目前的合約權杖管理工具,並將新建立帳戶的 ID,以事件形式傳回至已完成交易的 TransactionCertificate。

JSON 表示法
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
欄位
publicKey

string (bytes format)

這是必要旗標,新合約權杖管理員的公開金鑰。請注意,這「不是」操作者的公開金鑰。這是新合約代碼管理員的公開金鑰,會儲存在總帳中。用於驗證合約代幣管理員帳戶發出的交易簽章。

公開金鑰的格式由 keyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

accountComment

string

選用。不可變動。不透明的註解欄位,系統不會解讀,但會儲存在帳戶的總帳中。視為公開資訊。長度上限為 128 個半形字元。可以留空。欄位建立後即無法變更。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的格式。如未指定,則預設為 Tink 傳輸格式的二進位序列化金鑰組。視為公開資訊。

RemoveSigningPublicKey

從指定版位移除帳戶簽署金鑰。另一個版位不得空白,且必須包含用於簽署 ClientTransaction 的金鑰。

JSON 表示法
{
  "keySlot": enum (KeySlot)
}
欄位
keySlot

enum (KeySlot)

這是必要旗標,要移除金鑰的金鑰槽。如果這個欄位已留空,交易就會失敗。

ReplaceSigningPublicKey

取代指定運算單元中的帳戶簽署金鑰。另一個版位不得空白,且必須包含用於簽署 ClientTransaction 的金鑰。

JSON 表示法
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
欄位
keySlot

enum (KeySlot)

這是必要旗標,要更換金鑰的金鑰槽。

newPublicKey

string (bytes format)

這是必要旗標,新的公開金鑰,會取代指定運算單元中的公開金鑰。

公開金鑰的格式由 newKeyFormat 欄位定義。視為公開資訊。

Base64 編碼字串。

newKeyFormat

enum (KeyFormat)

這是必要旗標,新公開金鑰的金鑰格式。如需支援格式的清單,請參閱 KeyFormat 的定義。視為公開資訊。

TransactionChain

包含多個交易單元的交易鏈,會依序執行。

單元會按照列出的順序依序執行。如果所有單元都成功,其累積效果會以不可分割的方式提交至世界狀態。否則,如果其中任何一個失敗,整個鏈結都會失敗,且不會套用任何效果。

JSON 表示法
{
  "units": [
    string
  ]
}
欄位
units[]

string (bytes format)

鏈結的個別單位。每個單位都必須是序列化的 SignedTransaction。

請注意,您必須提供序列化位元組,才能判斷要為鏈結本身簽署的位元組。

Base64 編碼字串。