BlockchainTransaction(for Ethereum)

$BlockchainBase = "Ethereum"

BlockchainTransaction[assoc]

連想 assoc 内の構成要素から構築されたイーサリアムブロックチェーンのトランザクションを表す.

詳細

  • イーサリアムブロックチェーンのトランザクションの記号表現を与える.トランザクションは送信せず,トランザクションに署名もしない.
  • BlockchainTransaction[][prop]は,トランザクションの特性 prop の値を与える.
  • 次の要素を与えなくてはならない.
  • "TransactionCount"アカウントに関連付けられたトランザクション数
    "GasPrice"単位あたりのガス価格(単位:wei)
  • さらに,"GasLimit"要素を与えることができる.デフォルトで,これは内部で計算される.
  • "GasLimit"実行するためのガスの最大量
  • 送金の際は,次の要素が必要である.
  • "Address"送金先アドレス
    "Amount"送金するweiの金額
  • 契約を配備する際は,次の要素が必要である.
  • "Contract"トランザクションで配備する契約
  • プレーンなSolidityコードを使うときの契約は, "Contract""code"におけるように,コードを含む文字列でなければならない.
  • プレーンなSolidityコードを複数の契約で使うときは,連想<|"SourceCode""code","Main""name"|>におけるように"Contract"が指定されていなければならない.ここで,"Main"は配備される契約の名前である.
  • Solidityコードを含むファイルを提供するときの契約は,"Contract"->File[]におけるようにFileでなければならない.
  • 複数の契約を含むSolidityコードを含むファイルを提供するときは,"Contract"を連想<|"Source"File[],"Main""name"|>として指定しなければならない."Main"は配備される契約名である.
  • Solidityコードを含む複数のファイルを供給するときは,"Contract"を連想<|"Source"{file1,file2,},"Main""name"|>として指定しなければならない.ここで,{file1,file2,}file1がコンパイルされるFile式のリストで,"Main"は配備される契約名である.
  • コンパイルされたSolidityコードを使うときは,"Contract"<|"ByteCode""hexstring","ABI""spec"|>の形式の連想として指定されなければならない."ABI"はApplication Binary Interfaceである.
  • また,"Contract"についての連想を与えるときは,追加的な"Parameters"特性を与えて配備する契約の初期化パラメータを定義することができる.
  • イーサリアムのトランザクションで自動的に実行されたWolfram言語の式を配備するときは,次の要素を与えることができる.
  • "WolframExpression"収穫の際に評価する式
    "WolframExpressionReference"取り出して評価する式への参照
  • Wolfram言語の式を含むイーサリアムのトランザクションはイーサリアムのテストネットにしか配備できない.
  • 契約を呼び出すときは,次の要素が必要である.
  • "Address"契約のアドレス
    "FunctionCall"契約で行う関数呼出し
  • "FunctionCall"要素は,AssociationまたはTypedの式でよい.
  • "FunctionCall"Typedの式のときは,これが関数名を定義しなければならない.
  • "FunctionCall"Associationの式のときは,次の特性が必要である.
  • "Function"呼び出す関数を定義するTypedの式
  • "FunctionCall"の連想には,次の追加的特性も与えることができる.
  • "Inputs"呼び出す関数の入力パラメータ
    "Sender"契約を呼び出している送信者のアドレス
  • 次の追加的な特性もBlockchainTransactionオブジェクトから要求することができる.
  • "Signed"トランザクションにデジタル署名がされたかどうか
    "MessageHash"署名されていないトランザクションのハッシュ
    "RawTransaction"直列化されたトランザクション
    "TransactionID"トランザクションID
  • BlockchainTransactionは,イーサリアムのメインネット(デフォルト)とテストネット(Sepolia)のトランザクションを表すことができるこれらのネットワークの指定には,必要とされる連想あるいはBlockchainBaseオプションの中で"BlockchainBase"の値を使う.

例題

すべて開くすべて閉じる

  (2)

イーサを送金するイーサリアムトランザクションオブジェクトを作る:

イーサリアムトランザクションオブジェクトを作り,ガス価格の上限を指定する:

スコープ  (7)

プレーンテキストのSolidity契約  (2)

ブロックチェーントランザクションでプレーンなSolidityコードを使って契約を構築する:

プレーンなSolidityコードを使って複数の契約定義で契約を構築する:

Solidity契約ファイル  (1)

Solidityファイルを使って契約を構築する:

Solidityファイルで複数の契約定義を使って契約を構築する:

複数のSolidityファイルを使って契約を構築する:

コンパイルされたSolidity契約  (1)

コンパイルされたコードとそのアプリケーションバイナリインターフェースを使って契約を構築する:

Wolfram言語の式  (2)

Wolfram言語を使って契約を構築する.この式はWolframのサーバで評価される:

外部ストレージオブジェクトによって参照されたWolfram言語の式を使って契約を構築する.Wolframサーバが参照を評価する:

一般的な契約呼出し  (1)

配備された契約中の状態変数の値を更新するトランザクションを作る:

オプション  (2)

BlockchainBase  (2)

Mainnet  (1)

メインネットのトランザクションを作る:

Testnet  (1)

テストネットのトランザクションを作る:

アプリケーション  (1)

イーサリアムのBlockchainTransactionを作る:

トランザクションオブジェクトに署名する:

署名したトランザクションをイーサリアムのブロックチェーンに送信する:

トランザクションの"TransactionID"を使ってトランザクションを確認する:

Wolfram Research (2019), BlockchainTransaction, Wolfram言語関数, https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html.

テキスト

Wolfram Research (2019), BlockchainTransaction, Wolfram言語関数, https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html.

CMS

Wolfram Language. 2019. "BlockchainTransaction." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html.

APA

Wolfram Language. (2019). BlockchainTransaction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html

BibTeX

@misc{reference.wolfram_2024_blockchaintransaction, author="Wolfram Research", title="{BlockchainTransaction}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_blockchaintransaction, organization={Wolfram Research}, title={BlockchainTransaction}, year={2019}, url={https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Ethereum.html}, note=[Accessed: 22-November-2024 ]}