🦊

【Dev】Blockchainをjsで実装してみる(その3:Transactionの中身編)

2021/09/20に公開

前回CreateNewBlockメソッドを書いてみましたが、ブロックの中に入るTransactionは何者なんだ、ということで今回はTransactionについて。このTransactionはそのまま "取引情報" のことを指します。Transactionを作成する処理は以下の通り。

dev/blockchain.js
Blockchain.prototype.createNewTransancion = function(amount, sender, recipient) {
    const newTransaction = {
        amount: amount,
        sender: sender,
        recipient: recipient,
        transactionId: uuid().split('-').join('')
    };

    return newTransaction;
}

それぞれの項目は以下のような意味合いを持ちます。

amount: 取引数量
sender: 送信者
recipient: 受領者
transactionId: ユニークID

BlockchainではこのようなTransactionが一つのブロックの中に複数含まれています。以下の絵をbitcoinを例にして解説すると、それぞれのTransactionは "イチローくんがショーヘイくんに10bitcoinを送金した"、 "ヨシヒデくんがユリコさんに100bitcoinを送金した" というデータになります。これら複数の取引履歴が単一ブロックにセットされていることになります。

これら一つ一つのBlockが正しい情報である(改竄された情報ではない)ということを担保するのがBlockchainの "chain" の部分になります。次回、このchainの仕組みについて説明します!

Discussion