Skip to content
Victor Barros edited this page Dec 19, 2023 · 2 revisions

This is CS50chain

LiveDemo

Here the course Certificate

Entities

classDiagram
class Wallet {
    public_key
    private_key
    financial_data
    created_at
}

class Transaction {
    sender_public_key
    recipient_public_key
    amount
    description
    sign
    created_at
    do_sign(sender_private_key)
}

class Node {
    transactions
    nodes
    submit_transaction(transaction)
    add_node_address(address)
    sync()
    mine_block()
}

class Block {
    id
    data
    hash
    nonce
    created_at
}
Loading

API

  • GET /api/node
    • get current node transactions and other node addresses
  • POST /api/node/address
    • add new node address
  • DELETE /api/node/transactions
    • clear node transactions
  • POST /api/node/mine
    • mine block, aka sync transaction with other nodes, calculate nonce (proof of work), and create a new block to the blockchain
  • GET /api/chain
    • get blockchain
  • POST /api/chain
    • sync current node with other blockchain and transactions
  • POST /api/wallet
    • create new wallet
  • POST /api/search/wallet
    • wallet search
  • POST /api/transaction
    • submit transaction to node
Clone this wiki locally