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 开始的唯一单调递增的数字。

对于同一交易发送者之前向网络提交的每笔交易,此编号都必须增加 1。

请注意,这不包括可能已作为链的一部分提交的任何交易单元,这些交易单元不得设置序列号。但确实包含交易链本身的发送者。

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

将平台运营商的所有权转移到新账号。发送者必须是当前平台运营商。

如果交易成功,则停用当前平台运营商,并将新创建的账号的 ID 作为最终交易的 TransactionCertificate 中的事件返回。

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

string (bytes format)

必需。新平台运营商的公钥。此公钥将与平台运营商相关联,并存储在账本中。它将用于验证平台运营商账号发起的交易的签名。

公钥的格式由 keyFormat 字段定义。视为公开信息。

使用 base64 编码的字符串。

keyFormat

enum (KeyFormat)

可选。不可变。公钥的密钥格式。如果未指定,则默认为采用 Tink 序列化格式的二进制序列化密钥集。视为公开信息。

accountComment

string

可选。不可变。一个不透明的注释字段,系统不会对其进行解读,但会将其存储在账号的账本中。视为公开信息。长度上限为 128 个字符。可以留空。创建后,此字段便不可更改。

CreateCurrencyOperator

创建新的币种运算符。发送者必须是平台运营商。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

此交易必须在系统中引入新的币种。如果指定的币种已存在,则此交易将失败。如果必须替换币种运算符,则应改为发送 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

将指定币种运营商的所有权转移到新账号。发送者必须是平台运营商。

如果交易成功,则停用给定的币种运营商,并将新创建的账号的 ID 作为最终交易的 TransactionCertificate 中的事件返回。

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

创建新的清算机构。汇款方必须是货币运营商。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

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

创建新的客户经理。汇款方必须是货币运营商。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

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

创建与发送请求的运营商的币种相关联的新令牌管理器。汇款方必须是货币运营商。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

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

创建新的用户账号。发件人必须是客户经理。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

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 交易。如果存在与同一币种关联的其他合同令牌管理器,此交易将失败。

与常规代币管理器不同,合约代币管理器不得执行铸造或销毁等交易。不过,他们可以参与结算操作。

如果交易成功,则会在最终交易的 TransactionCertificate 中以事件的形式返回新创建的账号的 ID。

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

从指定 slot 中移除账号签名密钥。另一个 slot 不得为空,且必须包含用于对 ClientTransaction 进行签名的密钥。

JSON 表示法
{
  "keySlot": enum (KeySlot)
}
字段
keySlot

enum (KeySlot)

必需。要从中移除密钥的密钥槽。如果此值已为空,则交易将失败。

ReplaceSigningPublicKey

替换指定 slot 中的账号签名密钥。另一个 slot 不得为空,且必须包含用于对 ClientTransaction 进行签名的密钥。

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

enum (KeySlot)

必需。我们要替换密钥的密钥槽。

newPublicKey

string (bytes format)

必需。将替换指定 slot 中公钥的新公钥。

公钥的格式由 newKeyFormat 字段定义。视为公开信息。

使用 base64 编码的字符串。

newKeyFormat

enum (KeyFormat)

必需。新公钥的密钥格式。如需查看支持的格式列表,请参阅 KeyFormat 的定义。视为公开信息。

TransactionChain

包含多个按顺序执行的交易单元的交易链。

各单元将按列出的顺序依次执行。如果所有单元都成功,则它们的累积效应将以原子方式提交到世界状态。否则,如果其中任何一个失败,整个链都会失败,并且不会应用任何效果。

JSON 表示法
{
  "units": [
    string
  ]
}
字段
units[]

string (bytes format)

链的各个单元。每个单元都必须是序列化的 SignedTransaction

请注意,为了确定要为链本身签名的字节,需要使用序列化字节。

使用 base64 编码的字符串。