Transactions

トランザクションは、Casperネットワーク上にてユーザーによるグローバル・ステートの変更を可能とする新しい構造です。Condor リリースで導入されたTransactionは、従来のDeployに取って代わり、Wasmを使用しないブロックチェーンとの様々なやり取りを可能にします。これらの新しいやり取りはデプロイよりも効率的かつ以前は利用できなかったレベルの利便性を提供します。

既存のDeployモデルはCondorの時点で非推奨となり、将来のメジャーリリースでサポートが完全に削除される予定です。しかし、Condorは引き続き有効なDeployを受け入れ実行を試みます。現在機能しているほとんどの既存デプロイは、引き続き機能します。しかし、変更や削除されたデータ型やFFI関数に依存するDeployは実行に失敗するようになります。

トランザクションタイプ

以下は、CLI Casper client put-transaction または put-txn コマンドに含まれるトランザクションタイプのリストです。

Withdraw Bid(入札の引き出し)

withdraw-bid はバリデータがオークション入札を撤回することを許可します。

  • ▶Casper Client Command
    
    casper-client put-txn withdraw-bid
    /// The public key of the bidder.
      --public-key 
    /// The amount in motes to be withdrawn.
      --transaction-amount 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Add Bid(追加入札)

add-bid によってバリデータはオークション入札を行えます。

  • ▶Casper Client Command
    
    casper-client put-txn add-bid
    /// The [delegation rate](../concepts/economics/staking.md#delegation-rate) for delegators staking on to this validator.
      --delegation-rate 
    /// The public key of the bidder.
      --public-key 
    /// The amount in motes to be bid.
      --transaction-amount 
    /// The minimum amount of motes that a delegator can stake to this validator.
      --minimum-delegation-amount 
    /// The maximum amount of motes that a delegator can stake to this validator.
      --maximum-delegation-amount 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Delegate(デリゲート)

delegate はユーザーによるバリデータへのCSPRのステークのデリゲートを可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn delegate
    /// The delegator's public key.
      --delegator 
    /// The validator's public key.
      --validator 
    /// The amount in motes to stake with this validator.
      --transaction-amount 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Undelegate(アンデリゲート)

undelegate によってユーザーが以前ステークされたCSPRをバリデータからアンデリゲートを可能とします。

  • ▶Casper Client Command
    
    casper-client put-txn undelegate
    /// The delegator's public key.
      --delegator 
    /// The validator's public key.
      --validator 
    /// The amount in motes to undelegate from this validator.
      --transaction-amount 
    /// The maximum gas price that the user is willing to pay for this transaction. 
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Redelegate(再デリゲート)

redelegate は、事前にステークしたCSPRを新しいバリデータに再デリゲートを可能とします。

  • ▶Casper Client Command
    
    casper-client put-txn redelegate
    /// The delegator's public key.
      --delegator 
    /// The old validator's public key.
      --validator 
    /// The new validator's public key.
      --new-validator 
    /// The amount in motes to redelegate from the old validator to the new validator.
      --transaction-amount 
    /// The maximum gas price that the user is willing to pay for this transaction. 
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

呼び出し可能なエンティティ

invocable-entity は、 Entity Addressを使用して対象の AddressableEntity 上のエントリーポイントをユーザーが直接呼び出すことを可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn invocable-entity
    /// The [`entity-hash`](../developers/json-rpc/types_chain.md#addressableentityhash) of the entity to invoke.
      --entity-address 
    /// The entry point on the invocable entity.
      --session-entry-point 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

呼び出し可能なエンティティエイリアス

invocable-entity-alias は、named keys上に格納されたエイリアスを使用して対象の AddressableEntity をユーザーが直接呼び出すことを可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn invocable-entity-alias
    /// The entity alias stored in the calling entity's named keys.
      --entity-alias 
    /// The entry point on the invocable entity. 
      --session-entry-point 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Package(パッケージ)

package は、紐づいたpackage-addressを使用して対象のコントラクト package 上のエントリーポイントをユーザーが呼び出すことを可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn package
    /// The address of the contract package.
      --package-address 
    /// The entry point to invoke on the package.
      --session-entry-point 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Package Name(パッケージ名)

package-name は、named keysに格納されたエイリアスを使用して対象のコントラクト package 上のエントリーポイントをユーザーが呼び出すことを可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn package-name
    /// The package alias stored in the calling entity's named keys.
      --package-alias 
    /// The entry point to invoke on the package.
      --session-entry-point 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Session(セッション)

session は、レガシーDeployと同様にユーザーによるルールに則った上でのWasm送信を可能にします。ただ、新しいTransaction構造によるものとなります。Transactionの送信チュートリアルにてこの辺りを掘り下げています。

  • ▶Casper Client Command
    
    casper-client put-txn session
    /// The local path pointing to Wasm that will be sent to global state.
      --transaction-path 
    /// An entry point on a previously installed contract, if applicable.
      --session-entry-point 
    /// The category of the Transaction, in decreasing size order.
      --category 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >
    

Transfer(転送)

transfer は、設計された数のモーツ(motes)を送信先アドレスへの転送(transfer)を可能にします。

  • ▶Casper Client Command
    
    casper-client put-txn transfer
    /// The recipient of the transfer.
      --target 
    /// The amount in motes to be transferred.
      --transfer-amount 
    /// The maximum gas price that the user is willing to pay for this transaction.
      --gas-price-tolerance 
    /// The path to the local secret key file, or the [`initiator address`](../developers/json-rpc/types_chain.md#initiatoraddr) sending the transaction.
      <--secret-key |--initiator-address >