Define a Transaction class:
javascript
class Transaction {
constructor(fromAddress, toAddress, amount) {
this.fromAddress = fromAddress;
this.toAddress = toAddress;
this.amount = amount;
}
}
Add transaction handling to Blockchain:
javascript
class Blockchain {
constructor() {
this.chain = [this.createGenesisBlock()];
this.pendingTransactions = [];
this.miningReward = 100;
}
createTransaction(transaction) {
this.pendingTransactions.push(transaction);
}
minePendingTransactions(miningRewardAddress) {
let block = new Block(Date.now(), this.pendingTransactions);
block.previousHash = this.getLatestBlock().hash;
block.hash = block.calculateHash();
this.chain.push(block);
this.pendingTransactions = [
new Transaction(null, miningRewardAddress, this.miningReward)
];
}
}