BlockchainTransaction (for Bitcoin)
BlockchainTransaction[assoc]
連想 assoc 内の構成要素から構築されたビットコインブロックチェーンのトランザクションを表す.
詳細
- ビットコインブロックチェーンのトランザクションの記号表現を与える.トランザクションは送信せず,トランザクションに署名もしない.
- BlockchainTransaction[…][prop]は,トランザクションの特性 prop の値を与える.
- 次の要素を与えなくてはならない.
-
"Inputs" 入力のリスト(連想として与えられる) "Outputs" 出力のリスト(連想として与えられる) - 次の追加的要素を与えることができる.
-
"Version" トランザクションのバージョン番号(デフォルト:1) "LockTime" トランザクションが加えられる可能性がある,最も早い時間またはブロック(デフォルト:0) - "Inputs"リストの各連想には次の項目が含まれていなければならない.
-
"TransactionID" 前のトランザクションのハッシュ "Index" 前のトランザクション出力内のインデックス - 次の追加的要素も与えることができる.
-
"ScriptString" "" ロック解除スクリプト(scriptSigとも呼ばれる) "SignatureHash" All 署名ハッシュフラグ - 次は,"SignatureHash"の可能な値である.
-
All 署名は全入出力に適用される None 署名は全入力に適用されるが,出力には適用されない "Single" 署名は全入力と署名された入力と同じインデックス番号を持つ出力に適用される "AllAnyoneCanPay" 署名は1つの入力と全出力に適用される "NoneAnyoneCanPay" 署名は1つの入力に適用されるが出力には適用されない "SingleAnyoneCanPay" 署名は1つの入力とそれと同じインデックス番号の出力に適用される - P2PKH (Pay-to-Public-Key-Hash)トランザクションについては,"Outputs"リスト内の各連想に次の項目がなければならない.
-
"Amount" 送金されるビットコインの量 "Address" 送金するための宛先P2PKHアドレス - 一般的なビットコインのトランザクションについては,カスタムのロックスクリプトを与えることができる."Outputs"リスト内の各連想には次の項目がなければならない.
-
"Amount" 送金するビットコイン量 "ScriptString" 文字列形式のビットコインスクリプト - BlockchainTransactionは,ビットコインのメインネット(デフォルト)とテストネットのトランザクションを表すことができる.これらのネットワークの指定には,必要とされる連想あるいはBlockchainBaseオプションの中で"BlockchainBase"の値を使う.
例題
すべて開く すべて閉じる例 (1)
Pay-to-Public-Key-Hashトランザクションを表すビットコインのトランザクションオブジェクトを作る:
BlockchainTransaction[<|"Inputs" -> {<|"TransactionID" -> "9bef194418607318673caaf8f45d52fb60e8c8586e6ce8414c377a279ca14399", "Index" -> 0|>}, "Outputs" -> {<|"Amount" -> Quantity[0.0002, "Bitcoins"], "Address" -> "munDTMqa9V9Uhi3P21FpkY8UfYzvQqpmoQ"|>, <|"Amount" -> Quantity[0.16223, "Bitcoins"], "Address" -> "mo9QWLSJ1g1ENrTkhK9SSyw7cYJfJLU8QH"|>}, "BlockchainBase" -> {"Bitcoin", "Testnet"}|>]スコープ (4)
カスタムの非標準スクリプト (2)
BlockchainTransaction[<|"BlockchainBase" -> {"Bitcoin", "Testnet"},
"Inputs" -> {
<|"TransactionID" -> "adf7388f15cc5b115640f1e13e648b9babaee2d32c24185bc46917fc91d03d11", "Index" -> 1|>
}, "Outputs" -> {
<|"Amount" -> 0.0001, "Address" -> "mkHGstoUaDWzGxag29MEnp8WJPpfA45omK"|>,
<|"Amount" -> 0.0008, "ScriptString" -> "OP_3 OP_ADD OP_5 OP_EQUAL"|>
}|>]BlockchainTransaction[<|"BlockchainBase" -> {"Bitcoin", "Testnet"},
"Inputs" -> {
<|"TransactionID" -> "80853fd19713110bf36a778981635c8208669736c81b622a5d2c0efd30ecc4f1", "Index" -> 1, "ScriptString" -> "OP_2"|>
}, "Outputs" -> {
<|"Amount" -> 0.0007, "Address" -> "mgPhDaCzXcm4gmkxfz9sZKvpabmNGdLj52"|>
}|>]署名ハッシュ (1)
トランザクション入力にさまざまな値の"SignatureHash"を使う:
BlockchainTransaction[<|"BlockchainBase" -> {"Bitcoin", "Testnet"},
"Inputs" -> {
<|"TransactionID" -> "0ad5d33acf0e604c377f134ed7f4f8537d80cbb4fb90397c2bd99dc46a935dc1", "Index" -> 0, "SignatureHash" -> "All"|>,
<|"TransactionID" -> "fdd13f77b31924490f282c0cb8433cd75a20a55f81c9d5a8ad5eb2bf4819c191", "Index" -> 0, "SignatureHash" -> "Single"|>,
<|"TransactionID" -> "ec8169870d16d96d1d498a4f344a7db6e98e79cb1e51e7c553b3e200549e68bb", "Index" -> 0, "SignatureHash" -> "None"|>
}, "Outputs" -> {
<|"Amount" -> 0.0022, "Address" -> "mkHGstoUaDWzGxag29MEnp8WJPpfA45omK"|>,
<|"Amount" -> 0.0001, "Address" -> "mgPhDaCzXcm4gmkxfz9sZKvpabmNGdLj52"|>
}|>]時限鍵をかけたトランザクション (1)
ブロック2000000まで鍵がかけられるトランザクションを作成する:
BlockchainTransaction[<|"BlockchainBase" -> {"Bitcoin", "Testnet"},
"LockTime" -> 2000000,
"Inputs" -> {
<|"TransactionID" -> "20e32abc358790836664a2b5f479a7a72ef9995d3bdd966912593e9ae4e98997", "Index" -> 1|>
}, "Outputs" -> {
<|"Amount" -> 0.0008, "Address" -> "mkHGstoUaDWzGxag29MEnp8WJPpfA45omK"|>,
<|"Amount" -> 0.0001, "Address" -> "mgPhDaCzXcm4gmkxfz9sZKvpabmNGdLj52"|>
}|>]オプション (2)
BlockchainBase (2)
Mainnet (1)
BlockchainTransaction[<|"Inputs" -> {<|"TransactionID" -> "8295cd40010918aadbc2b87cff849d91ad771677a65c6fe940fa79814554dee5", "Index" -> 2|>}, "Outputs" -> {<|"Amount" -> Quantity[1.1644, "Bitcoins"], "Address" -> "1FX4cYyrwGo52qumivnFY3zRqQAYHqwL9v"|>, <|"Amount" -> Quantity[0.99923, "Bitcoins"], "Address" -> "13pwhpMP7KnHBprsJz5FkkqWioTpr13ZbQ"|>}|>, BlockchainBase -> "Bitcoin"]Testnet (1)
BlockchainTransaction[<|"Inputs" -> {<|"TransactionID" -> "9bef194418607318673caaf8f45d52fb60e8c8586e6ce8414c377a279ca14399", "Index" -> 0|>}, "Outputs" -> {<|"Amount" -> Quantity[0.0002, "Bitcoins"], "Address" -> "munDTMqa9V9Uhi3P21FpkY8UfYzvQqpmoQ"|>, <|"Amount" -> Quantity[0.16223, "Bitcoins"], "Address" -> "mo9QWLSJ1g1ENrTkhK9SSyw7cYJfJLU8QH"|>}|>, BlockchainBase -> {"Bitcoin", "Testnet"}]アプリケーション (1)
ビットコインのPay-to-Public-Key-Hash BlockchainTransactionを作る:
btcTX = BlockchainTransaction[<|
"Inputs" -> {
<|"TransactionID" -> "79bd95a5c087cfc33904020b3cd31b11b97be7751c8a1ca57c5313d4ac848830", "Index" -> 0|>},
"Outputs" -> {
<|"Amount" -> Quantity[0.005, "Bitcoins"], "Address" -> "mgPhDaCzXcm4gmkxfz9sZKvpabmNGdLj52"|>,
<|"Amount" -> Quantity[0.044, "Bitcoins"], "Address" -> "mkHGstoUaDWzGxag29MEnp8WJPpfA45omK"|>},
"BlockchainBase" -> {"Bitcoin", "Testnet"}|>]WIF符号化した秘密鍵でトランザクションオブジェクトに署名する:
btcTXSigned = BlockchainTransactionSign[btcTX, "cVN2fsWXoxMkPGx5EL7X6grykQ3VSDfHPUg3CJhD8AC9pJ5y8Nhi"]署名したトランザクションをビットコインブロックチェーンに送信する:
BlockchainTransactionSubmit[btcTXSigned]考えられる問題 (2)
不十分な金額 (1)
合計出力金額に対して不十分な金額の未使用トランザクション出力を参照する入力を与えると,$Failed出力が返される:
BlockchainTransaction[<|"Inputs" -> {<|"TransactionID" -> "9bef194418607318673caaf8f45d52fb60e8c8586e6ce8414c377a279ca14399", "Index" -> 0|>}, "Outputs" -> {<|"Amount" -> Quantity[10, "Bitcoins"], "Address" -> "mkHGstoUaDWzGxag29MEnp8WJPpfA45omK"|>, <|"Amount" -> Quantity[0.16223, "Bitcoins"], "Address" -> "mo9QWLSJ1g1ENrTkhK9SSyw7cYJfJLU8QH"|>}, "BlockchainBase" -> {"Bitcoin", "Testnet"}|>]不正な出力アドレス (1)
無効なアドレスを与えると$Failed出力が返される:
BlockchainTransaction[<|"Inputs" -> {<|"TransactionID" -> "9bef194418607318673caaf8f45d52fb60e8c8586e6ce8414c377a279ca14399", "Index" -> 0|>}, "Outputs" -> {<|"Amount" -> Quantity[0.0002, "Bitcoins"], "Address" -> "AAAAAA"|>, <|"Amount" -> Quantity[0.16223, "Bitcoins"], "Address" -> "mo9QWLSJ1g1ENrTkhK9SSyw7cYJfJLU8QH"|>}, "BlockchainBase" -> {"Bitcoin", "Testnet"}|>]関連するガイド
履歴
2019 で導入 (12.0)
テキスト
Wolfram Research (2019), BlockchainTransaction, Wolfram言語関数, https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Bitcoin.html.
CMS
Wolfram Language. 2019. "BlockchainTransaction." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Bitcoin.html.
APA
Wolfram Language. (2019). BlockchainTransaction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Bitcoin.html
BibTeX
@misc{reference.wolfram_2026_blockchaintransaction, author="Wolfram Research", title="{BlockchainTransaction}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Bitcoin.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_blockchaintransaction, organization={Wolfram Research}, title={BlockchainTransaction}, year={2019}, url={https://reference.wolfram.com/language/ref/blockchain/BlockchainTransaction-Bitcoin.html}, note=[Accessed: 13-September-2026]}