📖 Scenario: Imagine you are managing a blockchain network where storing data in different locations costs different amounts. You want to calculate the total cost of storing data based on where it is stored.
🎯 Goal: Build a simple program that calculates the total cost of storing data in various locations on a blockchain, showing how location affects cost.
📋 What You'll Learn
Create a dictionary with data locations and their storage sizes
Create a dictionary with cost per unit storage for each location
Calculate total cost for each location using dictionary comprehension
Print the total cost per location
💡 Why This Matters
🌍 Real World
Blockchain networks often charge different fees depending on where data is stored. Understanding how location affects cost helps manage expenses.
💼 Career
Blockchain developers and network managers need to calculate storage costs accurately to optimize resource use and pricing.
Progress0 / 4 steps
1
Create data storage dictionary
Create a dictionary called data_storage with these exact entries: 'NodeA': 100, 'NodeB': 200, 'NodeC': 150 representing storage size in MB.
Blockchain / Solidity
Hint
Use curly braces {} to create a dictionary with keys as node names and values as storage sizes.
2
Create cost per MB dictionary
Create a dictionary called cost_per_mb with these exact entries: 'NodeA': 0.05, 'NodeB': 0.03, 'NodeC': 0.04 representing cost per MB in dollars.
Blockchain / Solidity
Hint
Use curly braces {} to create a dictionary with keys as node names and values as cost per MB.
3
Calculate total cost per location
Use a dictionary comprehension to create a dictionary called total_cost where each key is a node from data_storage and the value is the product of storage size and cost per MB from cost_per_mb.
Blockchain / Solidity
Hint
Use dictionary comprehension syntax: {key: value for key in iterable}.
4
Print total cost per location
Write a print statement to display the total_cost dictionary.
Blockchain / Solidity
Hint
Use print(total_cost) to show the dictionary with costs.
Practice
(1/5)
1. Why does storing data directly on the blockchain usually cost more than storing it off-chain?
easy
A. Because off-chain data is always public and on-chain data is private
B. Because on-chain data uses shared network resources and requires consensus from all nodes
C. Because on-chain data is stored only temporarily
D. Because off-chain data is encrypted and on-chain data is not
Solution
Step 1: Understand blockchain data storage
On-chain data is stored by all nodes in the network, requiring consensus and replication.
Step 2: Recognize resource usage impact
This replication uses shared network resources, making on-chain storage more expensive than off-chain.
Final Answer:
Because on-chain data uses shared network resources and requires consensus from all nodes -> Option B
Quick Check:
On-chain storage costs more due to network resource use [OK]
Hint: On-chain means shared network storage, so it costs more [OK]
Common Mistakes:
Thinking off-chain data is always public
Assuming on-chain data is temporary
Confusing encryption with cost
2. Which of the following is the correct way to describe storing data off-chain in a blockchain app?
easy
A. Storing data on the blockchain ledger directly
B. Storing data only in smart contract variables
C. Storing data in external databases or storage systems linked to the blockchain
D. Storing data by broadcasting it to all network nodes without consensus
Solution
Step 1: Define off-chain storage
Off-chain means data is stored outside the blockchain, often in external databases or storage systems.
Step 2: Match options to definition
Storing data in external databases or storage systems linked to the blockchain correctly describes off-chain storage as external linked storage, unlike on-chain ledger or smart contract variables.
Final Answer:
Storing data in external databases or storage systems linked to the blockchain -> Option C
Quick Check:
Off-chain = external storage linked to blockchain [OK]
Hint: Off-chain means outside blockchain, usually external databases [OK]
Common Mistakes:
Confusing on-chain ledger with off-chain storage
Thinking smart contract variables are off-chain
Believing broadcasting without consensus is off-chain storage
3. Consider a blockchain app that stores user profiles. If storing 1 KB on-chain costs 0.01 ETH and storing off-chain costs 0.001 ETH, what is the cost difference for storing 100 KB on-chain vs off-chain?
medium
A. 0.9 ETH more for on-chain storage
B. 0.01 ETH more for on-chain storage
C. 1 ETH more for on-chain storage
D. No cost difference
Solution
Step 1: Calculate on-chain cost for 100 KB
100 KB * 0.01 ETH/KB = 1 ETH total on-chain cost.
Step 2: Calculate off-chain cost for 100 KB
100 KB * 0.001 ETH/KB = 0.1 ETH total off-chain cost.
Step 3: Find cost difference
1 ETH - 0.1 ETH = 0.9 ETH more for on-chain.
Final Answer:
0.9 ETH more for on-chain storage -> Option A
Quick Check:
On-chain cost > off-chain cost by 0.9 ETH [OK]
Hint: Multiply size by cost per KB, compare totals [OK]
Common Mistakes:
Multiplying incorrectly or mixing units
Confusing which cost is higher
Ignoring multiplication by 100 KB
4. A developer wrote this code snippet to store user data: