Blockchain Fundamental Crash Course
in Blockchain DevelopmentAbout this course
The Blockchain Fundamentals Crash Course is a 45-minute, fast-track learning experience designed to give you a comprehensive understanding of blockchain technology in record time. This express course breaks down the most essential concepts into clear, simple, and actionable lessons. No prior experience in blockchain, coding, or crypto is required. By the end of this short course, you’ll walk away with a solid understanding of blockchain fundamentals, its real-world applications, and how you can get started in this rapidly growing field.
🎯 Learning Objectives
By the end of this 45-minute crash course, you will be able to:
- ✅ Grasp the key concepts of blockchain technology (Decentralization, Consensus, Immutability)
- ✅ Understand how blockchain works (Blocks, Chains, Hashes, and Nodes)
- ✅ Identify real-world use cases of blockchain (Cryptocurrencies, NFTs, DeFi, and Supply Chain)
- ✅ Distinguish between public, private, and consortium blockchains
- ✅ Understand Smart Contracts and how they automate processes on the blockchain
Suggested by top companies
Top companies suggest this course to their employees and staff.

Comments (0)
The evolution of the internet is a remarkable journey of technological progress that has reshaped how we live, work, and connect with the world. From its early days of static web pages to the immersive, decentralized, and intelligent experiences of Web 3.0, each stage of the internet's development has brought significant advancements.
Now that we have explored the evolution of internet from web 1.0 to web 2.0, it's time to deep dive into web 3.0, the decentralized future of internet. At the heart of web 3.0 is blockchain. Blockchain ensures security, transparency, and decentralization by creating a distributed ledger that eliminates the need for intermediaries.
It's a foundation of trustless system where transactions can occur directly between the users.
One of the key aspects of blockchain is decentralized ledger. Think of a transaction ledger like a bookkeeping record where a central authority such as bank or a corporation maintains control. All transaction updates and entries go through a single point of authority.
While the system has worked for centuries, it comes with certain limitations such as trust issues, inefficiencies and vulnerability to fraud or tampering. A decentralized ledger on the other hand is a digital record of transaction that is maintained across the network of computers known as nodes. Instead of relying on one central authority, each node in the network has a copy of the entire ledger.
Any update or changes made can be validated by majority of the network. This process ensures that the data is accurate and consistent across the nodes. The decentralized ledger has several benefits.
It eliminates the need for intermediaries, reducing cost and increasing efficiency. It also enhances security because altering the ledger would require gaining control of the majority of the nodes, which is incredibly difficult if not impossible in a well-established network. By embracing decentralized ledger, we are not just changing how data is stored, we are redefining the way structure of trust in the digital age.
Another critical element of web 3.0 is the use of smart contracts. These self-executing contracts are coded directly in the blockchain, automatically executing terms when the conditions are met. No middlemen, no delays, just instant secure transactions.
As we dwell into the course, you will be creating a smart contract, deploying into the blockchain and see how it works.
Web 3.0 goes beyond finance and ownership. It's about creating immersive experience through virtual reality, augmented reality, and metaverse. These technologies will allow us to interact with the digital environment in the ways that we have never imagined.
In the permissionless blockchain, where everyone can participate, which will power the semantic web, an internet that understands and responds to the human language more naturally. Non-fungible tokens are digital assets that represent ownership of unique items, whether it's digital art, music, or even virtual real estate. The concept of ownership in digital world has never been so exciting, especially with NFTs making headlines across industries.
The three key differentiators of a blockchain are interoperability, data ownership, and scalability. In the decentralized web, different blockchains and dApp will be able to communicate and interact with each other, creating a seamless user experience across platforms. This is interoperability in blockchain.
With the data ownership in blockchain, users will be able to own their data and monetize their data. This shift will empower individuals to create new opportunities for the digital world. Scalability is one of the aspects of blockchain.
While scalability still remains a hurdle as blockchain need to handle a large volume of transaction efficiency. Regulation is another concern as government work towards navigating complexity of decentralized technology. We still have a long way to go before widespread adoption becomes a reality.
By now, you know what a smart contract is, a piece of code that is deployed in blockchain. Once a code is deployed in blockchain, it is identified through an address which the blockchain provides. So, the smart contract deployed on a blockchain has an address as you see here.
The second component when you create or compile a smart contract is a definition of the functions. So, we call it ABI application binary interface. This gives the structure of the function that you are working with.
In the example that we saw, you have get number which is a function and you have the state type which is a view and you have an input parameter which you are passing which is a un and you have another function called set number. All these are structured in a way that when you are trying to interact with the contract, you are interacting with the contract with the structure of the function being passed to the address of the function that was already provided to you. These two are very important parameters that would be required for you to initiate and talk to the contract in the blockchain.
Okay, now let us get into the real programming on Solidity. We use Remix for this course where you could do this open source and start coding in Solidity. To start with the course, just open the Remix tab, go to the contracts, add a new file and name it HelloWorld.sol. The programming basics are as simple as any other programming.
Start with import to mention the version of Solidity. Solidity has many versions, so we are going to use 0.8.0 for this simple program. Solidity program starts with a contract, with the name of the contract and then the details of what you want to do.
Here we are going to write a simple greeting called HelloWorld and we complete the contract. Save the file.
Let us now look at how to deploy a contract into the chain. We have this contract which we have already reviewed in terms of a function to set a number and get a number. Now in the remix you see a file explorer here which is what you see here and click on the solidity compiler.
As with any coding language you need to compile the code. I am going to compile the code which is a hello world here. I am going to say compile.
It is compiled and as you see the ABI code is available on the click board. You can copy this ABI code. I am just going to paste it here for you to see what ABI code looks like on a real time.
So, the ABI code is visible here. So, we need to copy this ABI code before we can deploy the contract. Keep this ABI code separate.
You can always come back and get the ABI code as well. Now go to the deployment. So, you see option where environments are listed.
So, there are virtual machines that are available where you could do a kind of a selection and then deploy a contract and test or your valid connects which are connected to a hard hat, ganache or a foundry. All these are the valid set you can connect with. So, I am going to select metamask which is our valid here.
I am selecting both the accounts to connect with the remix. I am confirming that I am giving permission for the remix to connect with metamask. Great.
Now you see the two address that we had is being listed here. So, if you go to metamask, these are the two accounts that we have which are listed there along with the chain that we have attached. Now put a gas price here and before we can load the transaction into the blockchain, you would need a minimum of a certain metic to be done.
I am going to give you the URL where you would find the metic that you can load from a faucet, test metic and start injecting the transaction in the chain. So, this is one place where you could get the test metic loaded and to be fair for the developers, you need to create an account with Alchemy. Alchemy is a node provider and you could provide the address where you want a test metic to be sent.
When you click send metic, a metic will be sent if you are eligible for that date and as you see on the message for every 72 hours, a 0.1 ammoy metic will be released for you. Okay, let us now deploy the smart contract. So, you have the metamask as you see that we have loaded a certain metic for the metamask to help us connect to the chain and deploy the smart contract.
Also when a smart contract is deployed as we have seen already, there is going to be address and ABI code that will be produced. Along with that, you are putting the code into the chain which cannot be changed. So, whenever a contract is deployed, a developer need to make sure that the version of the contract that you are deploying has a code that is needed to make a function work for you.
I am clicking on deploy, there is going to be a warning like this, continue on that and confirm the transaction. Once the transaction is confirmed, a contract is getting created. This is a contract that got created.
As you see that there is going to be a set number functionality where there is a number, you have the get number and stored number call which is displayed here and the transaction is visible. And the address for the smart contract that is deployed can be taken from this, copied. I am just going to paste it on the code just to show you what the contract looks like.
So, this is your address of the contract and the ABI code can be obtained from here. This is a compile contract and you are going to use that for connecting to this contract through any of the programming languages and start looking at the transaction in the chain.
In Solidity, data types define the kind of values that are stored and manipulated within your smart contracts. These data types are crucial for ensuring that your contract behaves as expected. First, we have the basic data type like uint, which stands for unsigned integer and allows non-negative numbers and int.
Next, we have address, which is used to store the Ethereum address essential for sending and receiving transactions. Understand that the basic data types is the foundation of writing the effective smart contract. They help you control on what kind of data your contracts work with and ensure that the blockchain stores it correctly.
Let us now look at declaring a function in Solidity. How to declare a function? Let us look at an example. The function starts with a keyword called function.
Let us take, I am creating a function called set number with a variable type and the variable name which is the input and declare public because I am going to use this as a public method and my number equal to underscore number. This is a very simple example of a function that can be created in Solidity.
Basic structure of Solidity contract. Solidity contract starts with the word pragma, which is a keyword used to define the Solidity compiler version. Contract declaration starts with the keyword called contract and you have the function name declared there.
As with any other programming language, you have variables defined. In this example, we have taken string as a variable. You can have uint, which is an integer declaration and you could have a public and number equals 42, which is an int declaration in Solidity.
Before we delve into the smart contract and how it is written, you need to understand the basics of smart contract. Smart contracts are primarily written using several specialized programming language tailored for different blockchain platforms. Here are the most commonly used languages for the smart contract.
The first one is Solidity. It is basically used with Ethereum, Beans and EVM compatible blockchains. Solidity is one of the most popular languages written for smart contracts and it is influenced by JavaScript and C++.
The next one is Vypr and the platforms that use Vypr as a language are Ethereum and EVM compatible blockchain. Vypr is a Python inspired language that focuses on simplicity and security. It has fewer features than Solidity, but it makes it easier for audit, but potentially less flexible.
Rust is the third one. Chains like Solana, Near Protocol, Palkadoc and others are using Rust as a programming language. Rust is gaining popularity in blockchain, especially in the high performance blockchain like Solana.
It's known for its speed, memory safety and concurrent features. And you have many more of such languages which are supported by each of these blockchain ecosystem, but the fundamentals of how you write a smart contract remains the same.
Before we delve into the interaction with blockchain, one of the basic foundation that we need to understand is the concept of wallet. Wallet is typically a place where you store all your cryptos and you can use it for interacting with the chain or you can transfer it to another person who you want to transfer some cryptos to their account. So, it is typically like your physical wallet where you store certain money and then you start transacting.
In a blockchain concept, the wallet is well protected. Somebody needs to access your wallet, they need to have access key to it. So, the wallet has a address, a public address which is viewable by everyone.
Anyone can view your address, they can look at the transaction ledger which is the open ledger, but if you they have to access your wallet, they need to have the private key. A private key allows you to access the wallet and when you are interacting with the chain, it allows you to sign a transaction and send it across.
Let's look at installing MetaMask. Go to your browser, go to the extension, visit the chrome store, search for MetaMask, install the metamask.io as extension to your browser. It will take a few minutes for you to download that depending on your internet speed.
While the MetaMask is getting downloaded, we need to understand that for any transaction on a blockchain would need a crypto as a fuel to be provided for a transaction to process, which we call it a Gatsby. How will you supply the crypto to the blockchain? You would need a secure wallet which will help you in terms of taking the transaction and getting it processed. MetaMask is a wallet that helps you in terms of storing the crypto securely and safely and then start using it for your transaction.
So now the MetaMask is added to our browser and you see that it takes us through a series of steps to create a wallet. The wallet is very similar to you having a physical wallet which has currency in it. MetaMask is a virtual wallet which will help you in terms of storing the cryptocurrencies and it is extensible across different cryptos that it can store and connect to the chain.
I'm just continuing on creating a secure wallet. The moment you go and you need to ideally look at the secret keys that are provided to you, be sure that you store your secret key here. For the demonstration purpose, I'm just creating a new wallet here.
Just continue the process to secure your key and continue to create the wallet. This recovery phase is very important for you to store it and it is essential for you to go through any recovery process on a wallet. The important thing is don't share your secret phase with anyone.
Once you are done with your MetaMask installation, you would end up in a screen which shows the MetaMask wallet information. This is your blockchain address. This is a list of networks that are added as part of your MetaMask.
There are multiple networks as we saw. Avalanche, opmainnet, basemainnet and typically all the production networks are called mainnet. You can add any network to your MetaMask and you will be able to switch to that network to find out what you hold in that.
And as you see each of the network will have a representation of their currency for the address that you are in. Polygon for example has Matic here. If you go to the ethereum mainnet, ethereum runs on ether so the tag name is eth.
So you have multiple options here which you could explore as you go along. And if you want to import an address, the primary thing that you would need is a private key. So you can go here, add account, import account to do the private key which will help you in terms of import.
And the other option is you can add a new account which I call a test here. The account is added. For every account that you create, you are creating an address in the blockchain for which a valid is maintained.
Let's look at installing MetaMask. Go to your browser, go to the extension, visit the chrome store, search for MetaMask, install the metamask.io as extension to your browser. It will take a few minutes for you to download that depending on your internet speed.
While the MetaMask is getting downloaded, we need to understand that for any transaction on a blockchain would need a crypto as a fuel to be provided for a transaction to process, which we call it a Gatsby. How will you supply the crypto to the blockchain? You would need a secure wallet which will help you in terms of taking the transaction and getting it processed. MetaMask is a wallet that helps you in terms of storing the crypto securely and safely and then start using it for your transaction.
So now the MetaMask is added to our browser and you see that it takes us through a series of steps to create a wallet. The wallet is very similar to you having a physical wallet which has currency in it. MetaMask is a virtual wallet which will help you in terms of storing the cryptocurrencies and it is extensible across different cryptos that it can store and connect to the chain.
I'm just continuing on creating a secure wallet. The moment you go and you need to ideally look at the secret keys that are provided to you, be sure that you store your secret key here. For the demonstration purpose, I'm just creating a new wallet here.
Just continue the process to secure your key and continue to create the wallet. This recovery phase is very important for you to store it and it is essential for you to go through any recovery process on a wallet. The important thing is don't share your secret phase with anyone.
Once you are done with your MetaMask installation, you would end up in a screen which shows the MetaMask wallet information. This is your blockchain address. This is a list of networks that are added as part of your MetaMask.
There are multiple networks as we saw. Avalanche, opmainnet, basemainnet and typically all the production networks are called mainnet. You can add any network to your MetaMask and you will be able to switch to that network to find out what you hold in that.
And as you see each of the network will have a representation of their currency for the address that you are in. Polygon for example has Matic here. If you go to the ethereum mainnet, ethereum runs on ether so the tag name is eth.
So you have multiple options here which you could explore as you go along. And if you want to import an address, the primary thing that you would need is a private key. So you can go here, add account, import account to do the private key which will help you in terms of import.
And the other option is you can add a new account which I call a test here. The account is added. For every account that you create, you are creating an address in the blockchain for which a valid is maintained.
While working with blockchain, maintaining a state in the blockchain becomes very important. So what's the state in blockchain? The state in the blockchain is like a shared digital ledger that keeps tracks of all the data such as account balances and smart contract information at any point in time. Each time a transaction happens, the blockchain state is updated.
Think of it as a constantly updating snapshot of the entire network. The state is stored across multiple computers making it secure and tamper resistant. Let's look at a small example where you have a function called set number which takes in a number as a parameter which is a unsigned integer and sets the number.
How does the state work here? Calling the set number of 5 changes the state of the contract by updating a number which is part of the contract, my number variable. This change is then stored in the blockchain. The state in the blockchain is like a digital ledger that keeps track of all the data at any point of time.
Each time a transaction happens, the block in the state is updated. The state is stored across multiple computers making it secure and tamper resistant.
In blockchain, every transaction action you take has a cost. The cost is a measure of something called gas. What exactly is gas and why do we need it? Think of gas like a fuel that powers a transaction in blockchain.
Just like a car needs fuel to move, every transaction on the blockchain needs a gas fee to move. Whether you are sending a cryptocurrency or interacting with a smart contract, gas is needed to compensate the network for the computation work involved. Gas costs vary depending on the complexity of the transaction.
Gas prices also fluctuate based on the network demand. When a lot of people are using the network at the same time, gas prices become higher to prioritize the transaction. This creates a marketplace where users bid for the transaction to process quickly.
Now, let us look at how account and a private key plays a role in the wallet. As you have already installed MetaMask, go into the wallet, you would see the accounts listed there. These accounts are created on chain when you started adding account in this wallet.
But as you see, there is a key displayed here which is the address of the record 0xb64 0xb64 and there is a private key that is attached to it. If you go here into account details, you would see that there is a QR code which gives you the address which is a public address that you could share with anyone to transact. And the show private key, enter the password for the MetaMask and here you go.
This is your private key for the account. Why is it important? Because a wallet contains two part for you to transact into the chain. One, a public address which is visible to everyone and they could start interacting with you.
For you to send a transaction into the blockchain, you need to show that you are a owner and for that private key is a indicator that you can sign a transaction as a owner and send it to the blockchain. Any unsigned transactions are not accepted. Signing a transaction is fingerprinting that you are the owner of the account and then starting to transact with the chain.
In all the coding that we see, you would see that a public address and the private key is always a combination that would enable you in terms of interacting into a chain for making a state chain in the transaction.
Now, let us look at real coding on Node.js to see how you can talk to the blockchain. What we expect out of this exercise, you have a Spark contract which is deployed in the blockchain and you want to talk to the blockchain for the methods that you have written and start getting the value out of it. To start with, I have attached the code as part of the exercise, you can refer to that.
First, make sure that you have a account address and a private key as you saw in the earlier video for you to start interacting. Number two, you need to have the contract address which is deployed as part of the exercise and the contract ABI which can be copied from the Remix interface and as you have seen already, we are using Alchemy as our node provider. You have a node provider address, you can just go ahead and get the API key from your account and start using it.
I am not going to deep dive into how a Node.js coding works, I am assuming that you have a fair knowledge in terms of running a Node.js code. We have a constant which we use for creating Alchemy3, we have variables defined for contract address and contract ABI and then you have a set number which is a method being called and you see that we have an account and a private key here. To send a transaction, there are four main elements, the account from which you want to interact, the account to which you want to interact, a gas fee as you know need to be paid for the transaction and what kind of data are you sending.
Let us take a look at this transaction and break it down. Our intent is to send a transaction from our account to the contract to call a method called set number. So, you see that this transaction is constructed for that.
The main aspect of interacting with blockchain as we already discussed is signing and sending a transaction. What does signing mean? It is to confirm that you are the owner of the account and you are going to transact with the blockchain. So, you sign the transaction, you have the transaction object that you created and signing would require just the private key.
Your private key is your identifier for who you are. The moment this transaction is signed, you are sending the transaction to the blockchain and you are getting a receipt and if you look at the get number, it is a direct call. So, you see that you just call the contract method with get number and a call.
For making a call to the transaction to retrieve a data, you do not need a private key because it is an open ledger. The moment a transaction is recorded, it is visible to everyone and they could start querying on it. Let us quickly run this for you and make sure that you are set for this.
I am just going to click run, have some debuggers so that it makes it easy for you when you are running your code. We are here on the account, signing the transaction, sending the data and you see the receipt here. The receipt contains a block hash.
I will explain what the block hash is while we look at the testnet explorer and a bunch of information to say that what happened to your transaction. And now I do have a subsequent function called get number. So, I am just going there and there is a console that prints the get number.
So, I am just going to show you the console where we had set the number to 42 and we have got the number back 42. And this is a transaction that happened on blockchain and a ledger is created.
Okay, now let us look at the Amoy testnet. So, every blockchain has a explorer where you could go and look at the list of transactions that have gone. So, what is your identity for exploring? Of course, your address which is a public address that you have.
So, for this address that we have done transaction, you see that the explorer list, the list of transactions that we have performed as part of the blockchain interaction. This is a ledger. A blockchain creates a ledger to ensure that any transaction that is going through where a state change is involved is being recorded.
So, it is a automatic ledger and you can click on the transaction, you see that they have a state, which block the transaction happened. And block is a concept where your transaction is one of the transactions on a block that was created. So, imagine that there are hundreds of developers using this blockchain and your transaction is bundled in a block, a block is approved and then your transaction is broadcasted.
So, the from address is given, you see the contract with which we have interacted, the symbol indicates it is a smart contract, the amount and the transaction fee is displayed, what is the gas price, by now you should be familiar with what a gas price is and the data that we have transmitted. It is a pretty simple to understand if you have a knowledge on the normal ledgering process, auditing, all that will be part of the blockchain here.
