ClientTransaction

代表用戶端發起的交易。

JSON 表示法
{
  "source": {
    object (Entity)
  },
  "senderId": string,
  "signatories": [
    {
      object (Entity)
    }
  ],
  "otherSignatoryIds": [
    string
  ],
  "sequenceNumber": string,
  "chainedUnit": boolean,

  // Union field kind can be only one of the following:
  "app": {
    "@type": string,
    field1: ...,
    ...
  },
  "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 list of possible types for union field kind.
}
欄位
source
(deprecated)

object (Entity)

選用。交易傳送者。已淘汰:請改用 senderId

senderId

string

選用。傳送這筆交易的帳戶 ID。必須設定 sourcesenderId 其中之一。

signatories[]
(deprecated)

object (Entity)

選用。除了傳送者之外,也簽署這項交易的帳戶。已淘汰:請改用 otherSignatoryIds

otherSignatoryIds[]

string

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

sequenceNumber

string (int64 format)

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

如果同一交易傳送者先前已向網路提交交易,則這個號碼必須增加一。

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

chainedUnit

boolean

如果這個用戶端交易屬於交易鏈,則必須設為 true。否則必須設為 false。

這是為了避免將原本要加入鏈結的已簽署交易,單獨提交。

聯集欄位 kind。用戶端交易專屬訊息。kind 只能是下列其中一個設定:
app
(deprecated)

object

選用。已淘汰:請改用訊息專屬欄位。與用戶端交易相關的訊息。應為下列任一項:

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

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

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

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

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,
  "currency": string,
  "currencyCode": string
}
欄位
publicKey

string (bytes format)

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

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

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。

accountComment

string

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

currency
(deprecated)

string

選用。已淘汰:請改用 currencyCode。與這個運算子相關聯的法定貨幣,以 3 個大寫字母表示的 ISO 4217 代碼。視為公開資訊。

currencyCode

string

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

TransferCurrencyOperator

將指定貨幣營運商的擁有權轉移至新帳戶。傳送者必須是平台業者。

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

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

string (bytes format)

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

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

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。

accountComment

string

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

currencyOperator
(deprecated)

object (Entity)

選用。已淘汰:請改用 currencyOperatorId。要取代的貨幣運算子。必須處於有效狀態。

currencyOperatorId

string

選用。要取代的貨幣運算符 ID。必須處於有效狀態。必須指定 currencyOperatorcurrencyOperatorId 其中之一。值最多只能包含 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),
  "defaultTokenManager": {
    object (Entity)
  },
  "defaultTokenManagerId": string,
  "accountComment": string
}
欄位
publicKey

string (bytes format)

這是必要旗標,新帳戶管理員的公開金鑰。請注意,這不是運算子的公開金鑰。這個公開金鑰會與帳戶管理員建立關聯,並儲存在帳本中。這項資訊會用於驗證帳戶管理員帳戶發出的交易簽章。

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

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。

defaultTokenManager
(deprecated)

object (Entity)

選用。已淘汰:請改用 defaultTokenManagerId。這個管理員建立的帳戶預設權杖管理員。

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 表示法
{
  "tokenManager": {
    object (Entity)
  },
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
欄位
tokenManager
(deprecated)

object (Entity)

選用。已淘汰:請改用 tokenManagerId。要提高鑄造上限的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才有效。

tokenManagerId

string

選用。要提高鑄造上限的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才會有效。必須指定 tokenManagertokenManagerId 其中之一。

amount

object (CurrencyValue)

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

DecreaseTokenIssuanceLimit

通知網路目標帳戶要提領預留資金,並降低代幣發行上限。寄件者必須是結算中心帳戶。

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

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

object (Entity)

選用。已淘汰:請改用 tokenManagerId。要降低鑄造額度的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才有效。

tokenManagerId

string

選用。要降低鑄造額度的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才會有效。必須指定 tokenManagerId (建議) 或 tokenManager (已淘汰)。

amount

object (CurrencyValue)

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

SettlementRequest

在兩個權杖管理員之間啟動結算作業。寄件者必須是結算中心帳戶。

在延遲 SettlementMode 中,如果結算中心保管權杖管理工具資金,這是唯一需要傳送的交易,可執行兩個權杖管理工具之間的結算。

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

object (Entity)

選用。不可變動。已淘汰:請改用 payerId。需要轉移資金的當事人帳戶 ID。

payerId

string

選用。不可變動。需要轉移資金的當事人帳戶 ID。必須指定 payerpayerId 其中之一。

beneficiary
(deprecated)

object (Entity)

選用。不可變動。已淘汰:請改用 beneficiaryId。需要付款的參與方帳戶 ID。

beneficiaryId

string

選用。不可變動。收款方的帳戶 ID。必須指定 beneficiarybeneficiaryId 其中之一。

balance

object (CurrencyValue)

這是必要旗標,不可變動。payer 帳戶在帳本中需要轉移至 beneficiary 帳戶的已發行代幣餘額。

roundId

string (int64 format)

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

薄荷

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

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

object (CurrencyValue)

這是必要旗標,要鑄造的金額。金額必須符合規定,代幣管理員鑄造的代幣總數不得超過鑄造上限。如果金額高於該值,則必須拒絕交易

beneficiary
(deprecated)

object (Entity)

選用。已淘汰:請改用 beneficiaryId。鑄造金額應轉入的帳戶。受益人帳戶必須啟用 ROLE_RECEIVER

beneficiaryId

string

選用。鑄造金額應轉移至的帳戶 ID。接收帳戶必須啟用 ROLE_RECEIVER。必須指定 beneficiarybeneficiaryId 其中之一。

CreateAccount

建立新的使用者帳戶。傳送者必須是帳戶管理員。

如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate

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

string (bytes format)

這是必要旗標,帳戶擁有者的公開金鑰。請注意,這不是傳送者的公開金鑰。這是帳戶擁有者的公開金鑰,會儲存在帳本中。這項資訊會用於驗證從所建立帳戶發出的交易簽章。

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

Base64 編碼字串。

keyFormat

enum (KeyFormat)

選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。

roles[]

enum (Role)

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

accountStatus

enum (AccountStatus)

選用。要建立的帳戶狀態。根據預設,新建立帳戶的帳戶狀態為「ACCOUNT_STATUS_ACTIVE」。

accountComment

string

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

tokenManager
(deprecated)

object (Entity)

選用。已淘汰:請改用 tokenManagerId。這個帳戶的權杖管理員。這個欄位為選填,如未提供,系統會使用與帳戶管理員 (即這項交易的傳送者) 相關聯的預設權杖管理員。

tokenManagerId

string

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

DeactivateAccount

將帳戶標示為ACCOUNT_STATUS_INACTIVE。傳送者必須是停用帳戶的帳戶管理員。

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

JSON 表示法
{
  "account": {
    object (Entity)
  },
  "accountId": string
}
欄位
account
(deprecated)

object (Entity)

選用。已淘汰:請改用 accountId。要停用的帳戶 ID。

accountId

string

選用。要停用的帳戶 ID。必須指定 accountaccountId 其中之一。值最多只能包含 60 個半形字元。

RemoveRoles

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

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

object (Entity)

選用。已淘汰:請改用 accountId。要修改的帳戶 ID。

accountId

string

選用。要修改的帳戶 ID。必須指定 accountaccountId 其中之一。值最多只能包含 60 個半形字元。

roles[]

enum (Role)

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

轉移

將代幣從一個使用者帳戶轉移到另一個帳戶。傳送者必須是普通使用者帳戶,而非權限較高的帳戶,例如權杖管理員或帳戶管理員。

此外,交易匯款方必須啟用 ROLE_PAYER,收款方則必須啟用 ROLE_RECEIVER

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

object (Entity)

選用。已淘汰:請改用 beneficiaryId。接收權杖的帳戶。

beneficiaryId

string

選用。接收權杖的帳戶 ID。必須指定 beneficiarybeneficiaryId 其中之一。

amount

object (CurrencyValue)

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

CreateContract

在帳本中儲存合約。

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

string (bytes format)

序列化合約位元組。

Base64 編碼字串。

arguments
(deprecated)

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

選用。不可變動。已淘汰:請改用 initArguments__init__ 方法的引數。

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

initArguments

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

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

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

contractComment

string

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

GrantContractPermissions

交易傳送者會將合約權限授予使用者。如果指定 delegateContractId,系統會將權限和相應的儲存空間授予 delegateContractId 合約,而非寄件者。

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

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

object (Entity)

選用。已淘汰:請改用 contractId。要授予權限的合約 ID。

contractId

string

選用。要授予權限的合約 ID。必須指定 contractcontractId 其中之一。

permissions[]

enum (ContractPermission)

要授予的權限。

delegateContractId

string

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

InvokeContractMethod

叫用合約方法執行作業。

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

object (Entity)

選用。已淘汰:請改用 contractId。要執行的合約 ID。

contractId

string

選用。要執行的合約 ID。必須指定 contractcontractId 其中之一。

methodName

string

要執行的方法名稱。

arguments
(deprecated)

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

選用。不可變動。已淘汰:請改用 methodArguments。方法引數。

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

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

將合約權杖管理員的擁有權轉移給新帳戶。匯款方必須是該幣別的現任貨幣經營者。

如果交易成功,系統會停用該幣別的現有合約權杖管理員,並在最終交易的 TransactionCertificate 中,以事件形式傳回新建立帳戶的 ID。

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 編碼字串。