代表用戶端發起的交易。
| JSON 表示法 |
|---|
{ "source": { object ( |
| 欄位 | |
|---|---|
source |
選用。交易傳送者。已淘汰:請改用 |
senderId |
選用。傳送這筆交易的帳戶 ID。必須設定 |
signatories[] |
選用。除了傳送者之外,也簽署這項交易的帳戶。已淘汰:請改用 |
otherSignatoryIds[] |
選用。除了傳送者之外,簽署這項交易的帳戶 ID。 |
sequenceNumber |
這是必要旗標,從 0 開始的單調遞增數字,不得重複。 如果同一交易傳送者先前已向網路提交交易,則這個號碼必須增加一。 請注意,這不包括可能已做為鏈結一部分提交的任何交易單元,這類單元不得設定序號。但會包含交易鏈本身的傳送者。 |
chainedUnit |
如果這個用戶端交易屬於交易鏈,則必須設為 true。否則必須設為 false。 這是為了避免將原本要加入鏈結的已簽署交易,單獨提交。 |
聯集欄位 kind。用戶端交易專屬訊息。kind 只能是下列其中一個設定: |
|
app |
選用。已淘汰:請改用訊息專屬欄位。與用戶端交易相關的訊息。應為下列任一項:
包含任意類型欄位的物件。額外的 |
operational |
選用。營運交易訊息。請注意,只有平台營運者才能傳送這類訊息。應為下列任一項: 包含任意類型欄位的物件。額外的 |
transferPlatformOperatorTransaction |
選用。將平台營運商角色轉移至新帳戶的訊息。 |
createCurrencyOperatorTransaction |
選用。建立新貨幣運算子的訊息。 |
transferCurrencyOperatorTransaction |
選用。將幣別運營商角色轉移至新帳戶的訊息。 |
createClearinghouseTransaction |
選用。建立新結算機構的訊息。 |
createAccountManagerTransaction |
選用。建立新帳戶管理員的訊息。 |
createTokenManagerTransaction |
選用。訊息:建立與傳送要求營運商幣別相關聯的新權杖管理員。 |
increaseTokenIssuanceLimitTransaction |
選用。通知聯播網目標帳戶已存入預備金,並提高代幣發行上限。 |
decreaseTokenIssuanceLimitTransaction |
選用。通知網路目標帳戶要提領預留資金,並降低代幣發行上限。 |
settlementRequestTransaction |
選用。用於啟動結算作業的訊息。 |
mintTransaction |
選用。用於鑄造貨幣代幣並轉移至帳戶的訊息。 |
burnTransaction |
選用。從帳戶中燒毀貨幣權杖的訊息。 |
createAccountTransaction |
選用。建立新使用者帳戶的訊息。 |
deactivateAccountTransaction |
選用。停用使用者帳戶的訊息。 |
activateAccountTransaction |
選用。啟用使用者帳戶的訊息。 |
addRolesTransaction |
選用。在帳戶中新增角色的訊息。 |
removeRolesTransaction |
選用。從帳戶移除角色的訊息。 |
changeAccountManagerTransaction |
選用。變更帳戶管理員的訊息。 |
transferTransaction |
選用。將代幣從一個使用者帳戶轉移到另一個帳戶的訊息。 |
createContractTransaction |
選用。在帳本上建立新合約的訊息。 |
grantContractPermissionsTransaction |
選用。授予合約權限的訊息。 |
invokeContractMethodTransaction |
選用。用於叫用合約方法執行的訊息。 |
createContractTokenManagerTransaction |
選用。訊息:建立與傳送要求營運商幣別相關聯的新權杖管理員。 |
transferContractTokenManagerTransaction |
選用。將貨幣的權杖管理員角色從一個帳戶轉移至另一個帳戶的訊息。 |
removeSigningPublicKeyTransaction |
選用。移除帳戶簽署金鑰的訊息。 |
replaceSigningPublicKeyTransaction |
選用。更換帳戶簽署金鑰的訊息。 |
chain |
選用。交易鏈的訊息,包括要依序執行的多個交易單元。 |
TransferPlatformOperator
將平台營運者的擁有權轉移給新帳戶。寄件者必須是目前的平台營運者。
如果交易成功,系統會停用目前的平台營運商,並在最終交易的 TransactionCertificate 中,以事件形式傳回新建立帳戶的 ID。
| JSON 表示法 |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新平台業者的公開金鑰。這個公開金鑰會與平台營運商建立關聯,並儲存在帳本中。這個金鑰會用於驗證平台營運商帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
CreateCurrencyOperator
建立新的貨幣運算子。傳送者必須是平台業者。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
這筆交易必須在系統中導入新的幣別。如果指定的幣別已存在,這項交易就會失敗。如需更換貨幣運算子,請改為傳送 TransferCurrencyOperator 交易。
| JSON 表示法 |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新貨幣運算子的公開金鑰。這個公開金鑰會與貨幣運算子建立關聯,並儲存在帳本中。這項資訊會用於驗證從營運商帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
currency |
選用。已淘汰:請改用 |
currencyCode |
選用。與這個運算子相關聯的法定貨幣,以 3 個大寫字母表示的 ISO 4217 代碼。視為公開資訊。 |
TransferCurrencyOperator
將指定貨幣營運商的擁有權轉移至新帳戶。傳送者必須是平台業者。
如果交易成功,系統會停用指定的幣別運算子,並在最終交易的 TransactionCertificate 中,以事件形式傳回新建立帳戶的 ID。
| JSON 表示法 |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新貨幣運算子的公開金鑰。這個公開金鑰會與貨幣運算子建立關聯,並儲存在帳本中。這項資訊會用於驗證貨幣營運商帳戶交易的簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
currencyOperator |
選用。已淘汰:請改用 |
currencyOperatorId |
選用。要取代的貨幣運算符 ID。必須處於有效狀態。必須指定 |
CreateClearinghouse
建立新的結算中心。匯款方必須是貨幣業者。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
| JSON 表示法 |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新結算機構的公開金鑰。請注意,這不是運算子的公開金鑰。這個公開金鑰會與結算中心建立關聯,並儲存在帳本中。這項資訊會用於驗證結算中心帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
settlementMode |
這是必要旗標,這個結算中心的結算模式。這是必要旗標,視為公開資訊。 |
CreateAccountManager
建立新的帳戶管理員。匯款方必須是貨幣業者。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
| JSON 表示法 |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新帳戶管理員的公開金鑰。請注意,這不是運算子的公開金鑰。這個公開金鑰會與帳戶管理員建立關聯,並儲存在帳本中。這項資訊會用於驗證帳戶管理員帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
defaultTokenManager |
選用。已淘汰:請改用 |
defaultTokenManagerId |
選用。這個管理員建立的帳戶,其預設權杖管理員的 ID。值最多只能包含 60 個半形字元。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
CreateTokenManager
建立與傳送要求運營商幣別相關聯的新權杖管理工具。匯款方必須是貨幣業者。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
| JSON 表示法 |
|---|
{
"publicKey": string,
"keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新權杖管理工具的公開金鑰。請注意,這不是運算子的公開金鑰。這個公開金鑰會與權杖管理員建立關聯,並儲存在帳本中。這項資訊可用於驗證代幣管理工具帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
IncreaseTokenIssuanceLimit
代幣發行和鑄造交易。通知聯播網目標帳戶已存入預備金,並提高代幣發行上限。寄件者必須是結算中心帳戶。
| JSON 表示法 |
|---|
{ "tokenManager": { object ( |
| 欄位 | |
|---|---|
tokenManager |
選用。已淘汰:請改用 |
tokenManagerId |
選用。要提高鑄造上限的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才會有效。必須指定 |
amount |
這是必要旗標,要提高的上限金額。金額必須為正數。 |
DecreaseTokenIssuanceLimit
通知網路目標帳戶要提領預留資金,並降低代幣發行上限。寄件者必須是結算中心帳戶。
請注意,這筆交易必須先順利完成,才能提領保留款項。這是必要步驟,因為交易可能會失敗 (例如,如果鑄造金額已超過要求的降低上限)。
| JSON 表示法 |
|---|
{ "tokenManager": { object ( |
| 欄位 | |
|---|---|
tokenManager |
選用。已淘汰:請改用 |
tokenManagerId |
選用。要降低鑄造額度的機構帳戶 ID。這個帳戶必須是權杖管理員,交易才會有效。必須指定 |
amount |
這是必要旗標,要降低的上限金額。金額必須為正數。如果調降後的限額低於目前發行的權杖,交易就會失敗。 |
SettlementRequest
在兩個權杖管理員之間啟動結算作業。寄件者必須是結算中心帳戶。
在延遲 SettlementMode 中,如果結算中心保管權杖管理工具資金,這是唯一需要傳送的交易,可執行兩個權杖管理工具之間的結算。
| JSON 表示法 |
|---|
{ "payer": { object ( |
| 欄位 | |
|---|---|
payer |
選用。不可變動。已淘汰:請改用 |
payerId |
選用。不可變動。需要轉移資金的當事人帳戶 ID。必須指定 |
beneficiary |
選用。不可變動。已淘汰:請改用 |
beneficiaryId |
選用。不可變動。收款方的帳戶 ID。必須指定 |
balance |
這是必要旗標,不可變動。 |
roundId |
這是必要旗標,不可變動。計算這筆結算金額時的輪次 ID。 |
薄荷
鑄造貨幣代幣,並轉移至指定帳戶。寄件者必須是權杖管理員。
| JSON 表示法 |
|---|
{ "mintAmount": { object ( |
| 欄位 | |
|---|---|
mintAmount |
這是必要旗標,要鑄造的金額。金額必須符合規定,代幣管理員鑄造的代幣總數不得超過鑄造上限。如果金額高於該值,則必須拒絕交易 |
beneficiary |
選用。已淘汰:請改用 |
beneficiaryId |
選用。鑄造金額應轉移至的帳戶 ID。接收帳戶必須啟用 |
CreateAccount
建立新的使用者帳戶。傳送者必須是帳戶管理員。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
| JSON 表示法 |
|---|
{ "publicKey": string, "keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,帳戶擁有者的公開金鑰。請注意,這不是傳送者的公開金鑰。這是新帳戶擁有者的公開金鑰,會儲存在帳本中。這項資訊會用於驗證從所建立帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
roles[] |
選用。要授予這個帳戶的角色清單。 |
accountStatus |
選用。要建立的帳戶狀態。根據預設,新建立帳戶的帳戶狀態為「 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
tokenManager |
選用。已淘汰:請改用 |
tokenManagerId |
選用。這個帳戶的權杖管理員 ID。這個欄位為選填,如未提供,系統會使用與帳戶管理員 (即這項交易的傳送者) 相關聯的預設權杖管理工具。值最多只能包含 60 個半形字元。 |
DeactivateAccount
將帳戶標示為ACCOUNT_STATUS_INACTIVE。傳送者必須是停用帳戶的帳戶管理員。
這表示無論角色為何,帳戶擁有者都無法在帳戶中進行任何交易。
| JSON 表示法 |
|---|
{
"account": {
object ( |
| 欄位 | |
|---|---|
account |
選用。已淘汰:請改用 |
accountId |
選用。要停用的帳戶 ID。必須指定 |
RemoveRoles
從帳戶中移除指定角色。寄件者必須是待修改帳戶的帳戶管理員。
| JSON 表示法 |
|---|
{ "account": { object ( |
| 欄位 | |
|---|---|
account |
選用。已淘汰:請改用 |
accountId |
選用。要修改的帳戶 ID。必須指定 |
roles[] |
這是必要旗標,要移除的角色。 |
轉移
將代幣從一個使用者帳戶轉移到另一個帳戶。傳送者必須是普通使用者帳戶,而非權限較高的帳戶,例如權杖管理員或帳戶管理員。
此外,交易匯款方必須啟用 ROLE_PAYER,收款方則必須啟用 ROLE_RECEIVER。
| JSON 表示法 |
|---|
{ "beneficiary": { object ( |
| 欄位 | |
|---|---|
beneficiary |
選用。已淘汰:請改用 |
beneficiaryId |
選用。接收權杖的帳戶 ID。必須指定 |
amount |
這是必要旗標,要轉移的金額。金額必須為正數。 |
CreateContract
在帳本中儲存合約。
| JSON 表示法 |
|---|
{ "contractBytes": string, "arguments": { string: { object ( |
| 欄位 | |
|---|---|
contractBytes |
序列化合約位元組。 Base64 編碼字串。 |
arguments |
選用。不可變動。已淘汰:請改用 包含 |
initArguments |
選用。不可變動。包含 包含 |
contractComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會儲存在合約的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
GrantContractPermissions
交易傳送者會將合約權限授予使用者。如果指定 delegateContractId,系統會將權限和相應的儲存空間授予 delegateContractId 合約,而非寄件者。
請注意,系統不支援撤銷權限。
| JSON 表示法 |
|---|
{ "contract": { object ( |
| 欄位 | |
|---|---|
contract |
選用。已淘汰:請改用 |
contractId |
選用。要授予權限的合約 ID。必須指定 |
permissions[] |
要授予的權限。 |
delegateContractId |
選用。要授予權限的合約 ID。交易傳送者必須是這份合約的擁有者。 |
InvokeContractMethod
叫用合約方法執行作業。
| JSON 表示法 |
|---|
{ "contract": { object ( |
| 欄位 | |
|---|---|
contract |
選用。已淘汰:請改用 |
contractId |
選用。要執行的合約 ID。必須指定 |
methodName |
要執行的方法名稱。 |
arguments |
選用。不可變動。已淘汰:請改用 包含 |
methodArguments |
選用。不可變動。包含要傳遞至方法的引數。 包含 |
payment |
待付金額。叫用可付費方法時必須大於零,不可付費方法則為零。 |
CreateContractTokenManager
建立與傳送要求運營商的幣別相關聯的新合約代幣管理員。匯款方必須是貨幣業者。新建立的合約權杖管理工具預設為啟用。如果必須更換合約權杖管理員,請改為傳送 TransferContractTokenManager 交易。如果存在與相同幣別相關聯的其他合約權杖管理員,這項交易就會失敗。
與一般權杖管理員不同,合約權杖管理員不得執行鑄造或銷毀等交易。但可以參與結算作業。
如果交易成功,系統會將新建立帳戶的 ID 做為事件,傳回至最終交易的 TransactionCertificate。
| JSON 表示法 |
|---|
{
"publicKey": string,
"accountComment": string,
"keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新合約權杖管理工具的公開金鑰。請注意,這不是運算子的公開金鑰。這個公開金鑰會與合約權杖管理員建立關聯,並儲存在帳本中。這項資訊可用於驗證合約權杖管理員帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
TransferContractTokenManager
將合約權杖管理員的擁有權轉移給新帳戶。匯款方必須是該幣別的現任貨幣經營者。
如果交易成功,系統會停用該幣別的現有合約權杖管理員,並在最終交易的 TransactionCertificate 中,以事件形式傳回新建立帳戶的 ID。
| JSON 表示法 |
|---|
{
"publicKey": string,
"accountComment": string,
"keyFormat": enum ( |
| 欄位 | |
|---|---|
publicKey |
這是必要旗標,新合約權杖管理工具的公開金鑰。請注意,這不是運算子的公開金鑰。這是新合約權杖管理員的公開金鑰,會儲存在帳本中。這項資訊可用於驗證合約權杖管理員帳戶發出的交易簽章。 公開金鑰的格式由 Base64 編碼字串。 |
accountComment |
選用。不可變動。系統不會解讀這個不透明的註解欄位,但會將其儲存在帳戶的帳本中。視為公開資訊。長度上限為 128 個半形字元。可以留空。建立後即無法變更。 |
keyFormat |
選用。不可變動。公開金鑰的金鑰格式。如未指定,預設為 Tink 線路格式的二進位序列化鍵集。視為公開資訊。 |
RemoveSigningPublicKey
從指定插槽移除帳戶簽署金鑰。另一個插槽不得為空白,且必須保留用於簽署 ClientTransaction 的金鑰。
| JSON 表示法 |
|---|
{
"keySlot": enum ( |
| 欄位 | |
|---|---|
keySlot |
這是必要旗標,要移除金鑰的金鑰插槽。如果這個欄位已為空白,交易就會失敗。 |
ReplaceSigningPublicKey
取代指定位置的帳戶簽署金鑰。另一個插槽不得為空白,且必須保留用於簽署 ClientTransaction 的金鑰。
| JSON 表示法 |
|---|
{ "keySlot": enum ( |
| 欄位 | |
|---|---|
keySlot |
這是必要旗標,要更換金鑰的金鑰位置。 |
newPublicKey |
這是必要旗標,新的公開金鑰,將取代指定位置的公開金鑰。 公開金鑰的格式由 newKeyFormat 欄位定義。視為公開資訊。 Base64 編碼字串。 |
newKeyFormat |
這是必要旗標,新公開金鑰的金鑰格式。如需支援的格式清單,請參閱 KeyFormat 的定義。視為公開資訊。 |
TransactionChain
交易鏈,包含多個要依序執行的交易單元。
系統會按照列出的順序依序執行單元。如果所有單元都成功,系統會將累積效果以原子方式提交至世界狀態。否則,如果其中任何一個失敗,整個鏈結就會失敗,且不會套用任何效果。
| JSON 表示法 |
|---|
{ "units": [ string ] } |
| 欄位 | |
|---|---|
units[] |
鏈結的個別單位。每個單元都必須是序列化的 請注意,您必須提供序列化位元組,才能判斷要為鏈結簽署的位元組。 Base64 編碼字串。 |