Skip to content

Scrooge Coin - Assignment 1 from the Coursera course "Bitcoin and Cryptocurrency Technologies"

Notifications You must be signed in to change notification settings

thiennc/Coursera-ScroogeCoin

Repository files navigation

ScroogeCoin

Assignments from the Coursera course "Bitcoin and Cryptocurrency Technologies"

You will be responsible for creating a file called TxHandler.java that implements the following API:

public class TxHandler {

  /** Creates a public ledger whose current UTXOPool 
    * (collection of unspent transaction outputs) is utxoPool. 
    * This should  make a defensive copy of utxoPool by using 
    * the UTXOPool (UTXOPool uPool) constructor.
    */
  public TxHandler(UTXOPool utxoPool);

  /** Returns true if
   * (1) all outputs claimed by tx are in the current UTXO pool
   * (2) the signatures on each input of tx are valid
   * (3) no UTXO is claimed multiple times by tx
   * (4) all of tx’s output values are non-negative
   * (5) the sum of tx’s input values is greater than or equal 
   * to the sum of its output values; and false otherwise.
   */
  public boolean isValidTx(Transaction tx);

  /** Handles each epoch by receiving an unordered array of 
   * proposed transactions, checking each transaction for 
   * correctness, returning a mutually valid array of accepted 
   * transactions, and updating the current UTXO pool as 
   * appropriate.
   */
  public Transaction[] handleTxs(Transaction[] possibleTxs);

}

About

Scrooge Coin - Assignment 1 from the Coursera course "Bitcoin and Cryptocurrency Technologies"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages