BlockchainTransactionSign (for Ethereum)
BlockchainTransactionSign[obj,key]
指定された秘密鍵を使ってイーサリアムブロックチェーントランザクションに署名する.
詳細
- BlockchainTransactionSign[obj,…]の obj はBlockchainTransactionオブジェクトである.
- BlockchainTransactionSignの鍵は,PrivateKeyオブジェクトあるいは秘密鍵を表す16進数列でなければならない.
- BlockchainTransactionSignは,特性"Signed"の値がTrueで追加特性"RawTransaction"を持つブロックチェーントランザクションオブジェクトを返す.
例題
すべて開く すべて閉じる例 (1)
イーサリアムBlockchainTransactionを作る:
ethTX = BlockchainTransaction[<|"BlockchainBase" -> {"Ethereum", "Testnet"},
"TransactionCount" -> 11,
"GasPrice" -> Quantity[150, "GWei"],
"Address" -> "61cccDcDb7617d01239D0Cfc7D1627e39EA2a2c3",
"Amount" -> Quantity[0.50, "Ethers"]|>]BlockchainTransactionSign[ethTX, PrivateKey[Association["Type" -> "EllipticCurve", "CurveName" -> "secp256k1",
"PublicCurvePoint" ->
{16676173248318435135530093705658075451448270649776782441185582813615674064589,
86146693258001150152237806044792681696883435827253397319 ... 84,
"Compressed" -> False, "PublicByteArray" ->
ByteArray[
"BCTeYSvTb1h4i8B8nUtJrM//zRHHu7GdlW16oP8LZ37NvnVM7PCJ8Qms/BwonG76LAj2PCP+VGbfyw1cFM21dNI="],
"PrivateByteArray" -> ByteArray["q/aGR9Z8/pp7h2fSVcu50AHSi8r4pHPKW97/exaY34w="]]]]アプリケーション (1)
イーサリアムの BlockchainTransactionを作る:
ethTX = BlockchainTransaction[<|"BlockchainBase" -> {"Ethereum", "Testnet"},
"TransactionCount" -> 11,
"GasPrice" -> Quantity[150, "GWei"],
"Address" -> "61cccDcDb7617d01239D0Cfc7D1627e39EA2a2c3",
"Amount" -> Quantity[0.50, "Ethers"]|>]ethTXSigned = BlockchainTransactionSign[ethTX, PrivateKey[Association["Type" -> "EllipticCurve", "CurveName" -> "secp256k1",
"PublicCurvePoint" ->
{16676173248318435135530093705658075451448270649776782441185582813615674064589,
86146693258001150152237806044792681696883435827253397319 ... 84,
"Compressed" -> False, "PublicByteArray" ->
ByteArray[
"BCTeYSvTb1h4i8B8nUtJrM//zRHHu7GdlW16oP8LZ37NvnVM7PCJ8Qms/BwonG76LAj2PCP+VGbfyw1cFM21dNI="],
"PrivateByteArray" -> ByteArray["q/aGR9Z8/pp7h2fSVcu50AHSi8r4pHPKW97/exaY34w="]]]]署名したトランザクションをイーサリアムブロックチェーンに送信する:
ethTXSubmit = BlockchainTransactionSubmit[ethTXSigned]"TransactionID"を使ってトランザクションを検証する:
txdata = BlockchainTransactionData[ethTXSubmit["TransactionID"], BlockchainBase -> {"Ethereum", "Testnet"}]考えられる問題 (1)
不正な秘密鍵 (1)
無効な秘密鍵を与えると$Failed出力が返される:
tx = BlockchainTransaction[Association["BlockchainBase" -> {"Ethereum", "TestNet"}, "Signed" -> False,
"TransactionCount" -> 58, "GasPrice" -> Quantity[1, "Gwei"], "GasLimit" -> 25200,
"Fee" -> Quantity[25200000000000, "Wei"],
"Address" -> "3535353535353535353535353535353535353535", "Amount" -> Quantity[0.0002, "Ethers"],
"MessageHash" -> "beac3f99c4d488b97866f84b96caf8fa2415bbfbab0d554ed1a507bc888e7638"]];BlockchainTransactionSign[tx, "AAAAAA"]関連するガイド
履歴
2019 で導入 (12.0)
テキスト
Wolfram Research (2019), BlockchainTransactionSign, Wolfram言語関数, https://reference.wolfram.com/language/ref/blockchain/BlockchainTransactionSign-Ethereum.html.
CMS
Wolfram Language. 2019. "BlockchainTransactionSign." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/blockchain/BlockchainTransactionSign-Ethereum.html.
APA
Wolfram Language. (2019). BlockchainTransactionSign. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/blockchain/BlockchainTransactionSign-Ethereum.html
BibTeX
@misc{reference.wolfram_2026_blockchaintransactionsign, author="Wolfram Research", title="{BlockchainTransactionSign}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/blockchain/BlockchainTransactionSign-Ethereum.html}", note=[Accessed: 19-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_blockchaintransactionsign, organization={Wolfram Research}, title={BlockchainTransactionSign}, year={2019}, url={https://reference.wolfram.com/language/ref/blockchain/BlockchainTransactionSign-Ethereum.html}, note=[Accessed: 19-August-2026]}