0
0
Blockchain / Solidityprogramming~5 mins

Blockchain use cases beyond crypto

Choose your learning style9 modes available
Introduction

Blockchain is not just for money. It helps keep records safe and clear for many jobs.

Tracking where food comes from to keep it safe.
Making sure your medical records are private and correct.
Keeping track of who owns land or buildings.
Making voting fair and hard to cheat.
Sharing music or art rights so creators get paid.
Syntax
Blockchain / Solidity
blockchain {
  data: {
    key: value
  }
  hash: string
  previous_hash: string
  timestamp: datetime
}

This is a simple way to show how data is stored in a block.

Each block links to the one before it using previous_hash.

Examples
This block stores information about food origin for safety tracking.
Blockchain / Solidity
block {
  data: {"food_origin": "farm123"}
  hash: "abc123"
  previous_hash: "xyz789"
  timestamp: "2024-06-01T12:00:00Z"
}
This block keeps a medical record safe and private.
Blockchain / Solidity
block {
  data: {"medical_record": "patient456"}
  hash: "def456"
  previous_hash: "abc123"
  timestamp: "2024-06-01T12:05:00Z"
}
Sample Program

This program creates a simple blockchain to store different types of data beyond money, like food origin and medical records. It shows how each block links to the previous one with a hash.

Blockchain / Solidity
class Block:
    def __init__(self, data, previous_hash):
        from datetime import datetime
        import hashlib
        self.data = data
        self.timestamp = datetime.utcnow().isoformat()
        self.previous_hash = previous_hash
        self.hash = self.calculate_hash()

    def calculate_hash(self):
        sha = hashlib.sha256()
        sha.update((str(self.data) + self.timestamp + self.previous_hash).encode())
        return sha.hexdigest()


class Blockchain:
    def __init__(self):
        self.chain = [self.create_genesis_block()]

    def create_genesis_block(self):
        return Block("Genesis Block", "0")

    def add_block(self, data):
        previous_hash = self.chain[-1].hash
        new_block = Block(data, previous_hash)
        self.chain.append(new_block)

    def print_chain(self):
        for i, block in enumerate(self.chain):
            print(f"Block {i}:")
            print(f"  Data: {block.data}")
            print(f"  Timestamp: {block.timestamp}")
            print(f"  Hash: {block.hash}")
            print(f"  Previous Hash: {block.previous_hash}\n")


# Example: Tracking food origin and medical record
bc = Blockchain()
bc.add_block({"food_origin": "farm123"})
bc.add_block({"medical_record": "patient456"})
bc.print_chain()
OutputSuccess
Important Notes

Each block has a unique hash that depends on its data and the previous block's hash.

This linking makes it very hard to change old data without breaking the chain.

Blockchain can be used for many things that need safe, clear records.

Summary

Blockchain is useful beyond money for safe and clear records.

It links data blocks so changes are hard to hide.

Common uses include food safety, medical records, land ownership, voting, and creative rights.