Bbabo NET

Science & Technology News

sol01 course

I completely revised and supplemented the contents of my book "Creating Solidity Smart Contracts for the Ethereum Blockchain. A Practical Guide" and made an author's training course based on it.

This course will help you quickly get started building Solidity smart contacts and distributed applications for the Ethereum blockchain. It consists of 15 lessons (three are available for free).

You will learn how the Ethereum blockchain works, you will be able to create your own local Ethereum nodes based on Geth and use Infura and Alchemy, publish smart contracts and call their functions, exchange data between the real world and smart contracts using oracles, work with the Rinkeby testnet.

You will learn how to use Remix Solidity, Truffle and Hardhat, create your own ERC-20 and NFT tokens, install an IPFS distributed interplanetary file system node and publish your files to this system.

You will create single-page Web applications integrated with MetaMask, scripts for Node.js and bbabo.netIs based on Express and Node.js to call smart contract functions.

The course is addressed to anyone who is interested in advanced technologies and wants to quickly gain knowledge that allows them to engage in interesting and promising work.

Join: https://solidity-ethereum.ru/

Lesson 1. Ethereum Blockchain

You will get acquainted with the purpose and main areas of application of Ethereum blockchain technologies and Solidity smart contracts, you will see that this technology gives programmers many opportunities to get a prestigious job.

Lesson 2. How the blockchain works

In this lesson, you will learn how the blockchain works and what it is used for, get acquainted with the basic concepts - blocks, hash functions, distributed database, transactions, public and private keys, public and private blockchains, decentralized applications, smart contracts, Solidity programming language, mining. You will get acquainted with the features of Ethereum decentralized applications.

Lesson 3. Preparing the Working Environment

In the third lesson, you will prepare the working environment necessary to learn Ethereum and Solidity smart contracts. You will install Geth, Node.js, Truffle, Ganache-cli, the Web3 package, and the solc package compiler on the Ubuntu server.

Next, you will create a private blockchain consisting of one node, initialize it and make sure that mining works on your blockchain. You will learn how to run your Ethereum node based on Geth and Ganache and how to connect to them in the JavaScript console.

You will learn how to issue Geth commands in the JavaScript console and be ready for the first experiments with your private blockchain.

Lesson 4. Accounts and transferring funds between accounts

In the fourth lesson, you will learn how to manage accounts, as well as transfer funds from one account to another. Along the way, you will study the cryptocurrency units that are used in the Ethereum network.

You will know that the created transactions first enter the pending state and remain in it until a new block is added to the blockchain. You will be able to check the status of the transaction, and when it is completed, receive its receipt.

From the receipt, you will be able to determine how much gas was spent on the transaction. And if the transaction was related to the publication of a contract, then you will also receive the address of the published contract.

Lesson 5. Publishing the first contract

In this lesson, you will learn about smart contracts on the Ethereum network and how they are executed by the Ethereum virtual machine. We will show to create a smart contract in the Solidity language and how to publish it. You will also learn about the so-called Application Binary Interface (ABI).

You will work with smart contracts in the Remix Solidity integrated development environment, accessible through a browser, as well as a standalone application. You learned how to compile and publish a contract, and how to call its functions by passing parameters.

Lesson 6. Smart Contracts and Node.js

In the sixth lesson, you will take the first steps towards practical use of Solidity smart contracts by calling them from Node.js. You will write a JavaScript script to publish a smart contract and call its functions, find out if already published smart contracts can be updated.

You will create a script capable of transferring funds between regular accounts and crediting them to regular and smart contract accounts.

In addition, you will learn how to create smart contract functions that allow you to determine the current balance of a smart contract account, as well as how to call such functions from a JavaScript script running under Node.js.

Lesson 7. Introduction to Truffle

In the seventh lesson, you will learn how to install and use the Truffle IDE, a handy tool for the Solidity smart contract programmer, suitable for real Ethereum projects.

With Truffle, you will create, publish, and test smart contracts, as well as call smart contract functions.

Lesson 8. Migrating contracts to the Geth private network and the Rinkeby network

In the eighth lesson, you will learn how to work with the Rinkeby testnet, useful when debugging smart contracts before publishing them to the main Ethereum network.

At the same time, you will use Geth to create your own Rinkeby node, and Truffle to develop Solidity smart contracts.

You will replenish your Rinkeby account with funds, publish your smart contract in Rinkeby, and learn how to transfer funds to other Rinkeby accounts. You will also run Node.js scripts that call smart contract functions on the Rinkeby network.

You will also be introduced to sites where you can view the current state, block content, and transactions for the Rinkeby testnet and Ethereum mainnet.

Lesson 9. Mastering Hardhat, Infura and Alchemy

In the ninth lesson, you will learn how to use the professional tool Hardhat, with which you can compile, test and publish smart contracts.

You will publish smart contracts on the Rinkeby testnet using the local Geth node, as well as nodes provided by the Infura and Alchemy services.

You will install the MetaMask browser extension and learn how to import Geth node accounts into it, as well as export private keys of accounts.

You will find on the site https://www.rinkeby.io the addresses of smart contracts published using Hardhat on the Rinkeby network through the local Geth node, through Infura and Alchemy.

Lesson 10. Introduction to Solidity

In Lesson 10, you will learn the structure of a smart contract and Solidity's main data types, such as unsigned integers, addresses, strings, arrays, enums, structures, and dictionaries. You will also write smart contracts that use these data types.

Understanding the structure of a smart contract and good knowledge of data types is essential for successful smart contract drafting.

Lesson 11. ERC-20 Contracts and Tokens

In Lesson 11, you will learn how to issue your own ERC-20 tokens. You will get acquainted with this standard and create your own smart contract that issues Doctor Coin tokens.

Next, you will write tests for this smart contract and run them under Hardhat.

You will also make a service based on Node.js and Express that can be used to call smart contract functions, and write a Node.js test application to call these functions.

Lesson 12. Oracles

Solidity smart contracts cannot directly access the resources of the server on which they work, and to the programming interfaces of various services through the bbabo.netI. In Lesson 12, you will learn how data from the real world can get into the memory of smart contracts. You will create your own oracle capable of receiving and saving in a smart contract the current exchange rate of USD for rubles from the website of the Central Bank of the Russian Federation.

You will also learn how to trigger and process events in Solidity smart contracts.

Lesson 13. Integrating Dbbabo.netP with MetaMask

In Lesson 13, you will learn how to integrate one-page sites made with HTML and JavaScript with the MetaMask browser extension.

As a result, you will create a site that can call the functions of the ERC-20 smart contract, which we talked about in lesson 11. At the same time, for the operation of such a site, it will not be necessary to create your own Ethereum node.

Using this site, you will transfer Ether funds and Doctor Coin tokens from one account to another.

Lesson 14. IPFS Decentralized Data Storage

In Lesson 14, you will learn about the interplanetary IPFS file system and set up your own IPFS node.

Next, you'll learn how to write files to and read from IPFS using commands and JavaScript for Node.js. You will need this in the next lesson when you create NFT tokens.

Lesson 15. Mastering NFT

In Lesson 15, you will learn that there are fungible and non-fungible tokens such as NFT, what NFT tokens can be used for, get acquainted with the ERC-721 standard, which is used for smart contracts working with NFT tokens.

You will create such a DrNFT.sol smart contract using the OpenZeppelin library in Hardhat, test it, and publish it on the Rinkeby testnet.

You will also create a single-page Web application that can be used to call the functions of the DrNFT.sol smart contract in order to create tokens, get information about tokens by their identifier, and also transfer tokens to another account.

sol01 course