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부터 시작하는 고유한 단조 증가 숫자입니다.

이 숫자는 동일한 트랜잭션 발신자가 이전에 네트워크에 제출한 각 트랜잭션에 대해 1씩 증가해야 합니다.

여기에는 체인의 일부로 제출되었을 수 있는 트랜잭션 단위가 포함되지 않으며, 시퀀스 넘버를 설정해서는 안 됩니다. 하지만 트랜잭션 체인 자체의 발신자는 포함됩니다.

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

지정된 통화 연산자의 소유권을 새 계정으로 이전합니다. 발신자는 플랫폼 운영자여야 합니다.

트랜잭션이 성공하면 지정된 통화 연산자를 비활성화하고 새로 생성된 계정의 ID가 완료된 트랜잭션의 TransactionCertificate에 이벤트로 반환됩니다.

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입니다.

민트

통화 토큰을 발행하고 지정된 계정으로 전송합니다. 발신자는 토큰 관리자여야 합니다.

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)

지급할 금액입니다. 지불 가능 메서드를 호출할 때는 0보다 커야 하고 지불 불가능 메서드의 경우 0이어야 합니다.

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 인코딩 문자열입니다.