Get started with blockchain development with this step-by-step guide. This book takes you all the way from installing requisite software through writing, testing, and deploying smart contracts.
This hands-on guide offers a practical rather than conceptual approach get you coding. Upon completing this book, you
Table of Contents● Pre requirements
○ Install Blockchain Dev Kit Extension on VS Code
■ Installing the extension
○ Install Truffle
■ Installing Truffle
■ Checking Truffle installation
○ Install Ganache CLI
■ Installing Ganache
■ Starting Ganache locally
○ Install Docker
Chapter 1: MetaMask
○ Install and Setup MetaMask Wallet
■ Installing the wallet
■ Configuring the wallet
■ Accessing your wallet
■ Discovering your wallet address
Chapter 2: Infura
○ Create an account on Infura
■ Creating a new account
■ Setting up your Infura project
Chapter 3: Solidity
○ Get started with Solidity project on VS Code
■ Creating a new project
■ Compiling the project
■ Deploying to development Blockchain
Chapter 4: ERC20 Tokens
○ Write a simple ERC20 token using OpenZeppelin
■ Preparing the environment
■ Writing the contract
■ Setting the Solidity compiler version
■ Compiling the contract
■ Verifying the result
○ Deploy ERC20 token to ganache development Blockchain
■ Preparing the migration
■ Writing the contract
■ Starting the Blockchain
■ Configuring the Blockchain network
■ Deploying the contract
■ Adding the token to a wallet
○ Create an ERC20 token with fixed supply
■ Creating the project
■ Writing the contract
■ Starting Ganache development Blockchain
■ Migrating the contract
■ Configuring MetaMask
■ Adding the token
■ Transferring tokens between accounts
○ Deploy ERC20 token to Testnet using Infura
■ Installing the pre-requirements
■ Setting up your Infura project
■ Setting up your Smart Contract
■ Configuring the private key
■ Deploying the Smart Contract
■ Checking your wallet balance
■ Verifying the Smart Contract on Etherscan
○ Deploy ERC20 token to Polygon Testnet (Layer 2)
■ Installing the pre-requirements
■ Adding Polygon Mumbai to MetaMask networks
■ Activating the Polygon add-on on Infura
■ Setting up your Infura project
■ Setting up your Smart Contract
■ Configuring the network (using Matic endpoint)
■ Configuring the network (using Infura endpoint)
■ Configuring the private key
■ Deploying the Smart Contract
■ Checking your wallet balance
■ Verifying the Smart Contract on Polygan Scan
○ Deploy ERC20 Token to Polygon Mainnet (Layer 2)
■ Adding Polygon Mainnet to MetaMask networks
■ Configuring the network (using Infura endpoint)
■ Deploying the Smart Contract
■ Checking your wallet balance
■ Verifying the Smart Contract on polyganscan
Chapter 5: Unit Tests for Smart Contracts
○ Write Unit Tests for ERC20 Smart Contracts
■ Creating a new unit test file
■ Writing test for the contract total supply
■ Writing test asserting for the contract balance
Chapter 6: ERC721- Non-Fungible Tokens
○ Create your art NFT using Ganache and OpenZeppelin
■ Creating the project
■ Configuring the wallet
■ Configuring the network
■ Configuring the solidity compiler
■ Configuring the private key
■ Creating the badge image
■ Adding the badge to your local IPFS
■ Pinning the badge to a remote IPFS node
■ Creating the badge metadata
■ Compiling the Smart Contract
■ Migrating the Smart Contract
■ Instantiate the Smart Contract
■ Awarding badge to a wallet
■ Checking badge on Etherscan
■ Adding the NFT token to your wallet
○ Sell your art NFT on Opensea
■ Connecting to OpenSea
■ Viewing your badge
■ Listing your badge for sale
■ Exploring listing details
Chapter 7: Faucets
○ Get Test Ether From Faucet on Ropsten Network
■ Accessing the faucet
■ Waiting for the transaction
○ Get Test Ether From Faucet on Rinkeby Testnet
■ Preparing for funding
■ Funding your wallet
■ Checking your wallet
○ Get Test MATIC From Faucet on Mumbai Testnet
■ Preparing for funding
■ Funding your wallet
■ Checking your wallet
○ Get Test MATIC From Faucet on Mainnet
■ Preparing for funding
■ Funding your wallet
■ Checking your wallet
Chapter 8: IPFS - InterPlanetary File System
○ Create Your IPFS Node
■ Installing the node
■ Configuring the node
■ Testing the node
■ Exploring your IPFS node
○ Add Files to IPFS
■ Adding the file
■ Viewing the file content on the console
■ Checking the file in the web ui
■ Viewing the file content in the browser
○ Setup IPFS Browser Extension
■ Installing the browser extension
■ Configuring the node type
■ Starting an external node
■ Importing a file
○ Pin and Unpin IPFS Files on Local Node
■ Starting your local node
■ Adding file to your node
■ Checking the file was added
■ Verifying your file was pinned
■ Unpinning your file
■ Pinning your file manually
○ Pin and Unpin Files on Remote Node using Pinata
■ Setting up API Keys on Pinata
■ Setting up Pinata as a remove service on your terminal
■ Adding a new file to your local IPFS node
■ Pinning your file to the remote IPFS node
■ Unpinning your file from the remote IPFS node
○ Host Your Site on IPFS Using Fleek
■ Login on Fleek
■ Cloning your existing repository
■ Installing Fleek
■ Initializing Fleek
■ Deploying your site
Chapter 9: Filecoin
○ How to preserve files on Filecoin local node
■ Creating the project
■ Configuring truffle
■ Adding an image to be preserved
■ Installing dependencies
■ Starting local endpoints
■ Preserving files to Filecoin
Chapter 10: ENS - Ethereum Name Service
○ Register your ENS to Receive any Crypto, Token or NFT on Your Wallet
■ Searching your domain name
■ Request to register
■ Managing your registration name
■ Checking the name resolution
Chapter 11: Chainlink
○ Get Crypto Prices Inside Smart Contracts using Chainlink Oracles
■ Creating the project
■ Creating the Smart Contract
■ Creating the migration
■ Setting up your Infura project
■ Configuring the wallet
■ Configuring the network
■ Configuring the solidity compiler
■ Configuring the private key
■ Compiling the Smart Contract
■ Deploying the Smart Contract
■ Getting the price information from the Smart Contract
Chapter 12: Nethereum
○ Get Ether Balance using Nethereum
■ Creating the project
■ Installing web3
■ Creating the method
■ Getting the balance