高度にカスタマイズが可能な操作を使って,ビットコインのブロックチェーンとインタラクトし,トランザクションを送信する.

トランザクションオブジェクトを作成する

前に保存されたトランザクションの履歴情報をBlockchainTransactionで使って,トランザクションオブジェクトを構築する:

  • ビットコインはブロックで送信され,このブロックはひとまとまりのものとして使わなければならない.部分的に使うことはできない.送信されることを意図しない額は,釣銭として見なされ,送信者のウォレットに返される.釣銭用のアドレスは,この返金目的のために作成されるものであり,送信者に属する.
  • 入力として使うために,以前にブロックチェーンで行ったインタラクションからのトランザクションIDを覚えていなければならない.
  • トランザクションは,ビットコインのブロックチェーンに送信されるまでは,ローカルの場所に存在する.
  • BlockchainTransactionオブジェクトでビットコインを構築する際に手数料のフィールドはない.手数料は,出力のフィールドに含まれないものに基づいて自動的に計算される.

BlockchainTransactionDataを使って,以前のトランザクションIDに関連付けられたブロックチェーンにある以前のトランザクションの出力を取り出す:

これがトランザクションを行うために使用できるビットコインの額である.

  • BlockchainTransactionの入力はすべて,ブロックチェーン内にすでにある以前の出力を参照する.これらの出力は,将来のトランザクションでビットコインがどこから来ているのかを特定する.
  • Datasetでトランザクションの出力を可視化する:

    トランザクションの出力に関連付けられた額を合計する:

    トランザクションの手数料を計算する:

    CurrencyConvertを使って,トランザクションの手数料をサトシに変換する:

  • 手数料は通常サトシで表される.サトシは,ビットコインの最小単位である.1サトシは,10^(-8)ビットコインに等しい.
  • トランザクションに署名する

    BlockchainTransactionSignを使って,秘密鍵でトランザクションに署名する:

    • BlockchainTransactionオブジェクトのInputsフィールドで参照されている出力のロックを解除する秘密鍵を提示する必要がある.

    トランザクションを送信する

    BlockchainTransactionSubmitを使って,トランザクションをブロックチェーンに送信する:

    • トランザクションが送信されてから,それがブロックに含まれるようになるまで待たなければならない.ブロックはその後マイニングを行い,ブロックチェーンに加えることができる.
    • 手数料がマイナーに残されていない場合には,トランザクションがブロックに追加されない可能性がある.