Smart Contracts Development and Projects with Ethereum
- 10 hours on-demand video
- 1 downloadable resource
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Create a simple, functional decentralized application on the Ethereum network
- Learn fundamental Blockchain programming concepts
- Understand the Blockchain application development life cycle
- Develop your ideas fast and efficiently using the Ethereum Blockchain
- Make writing and deploying smart contracts easy and manageable.
- Create your own cryptocurrency/token on the Ethereum Blockchain.
- Build captivating web applications on top of the Ethereum blockchain.
- Develop, test, and deploy secure smart contracts.
- Assemble your own smart contract development production environment
- Understand the allure of building decentralized web applications using Ethereum.
- Discover the capabilities and potential of Ethereum smart contracts.
- Basic knowledge of NPM would be beneficial.
Ethereum is an open-source, public, blockchain-based distributed computing platform and operating system that includes smart contract functionality. It also allows you to build smart & efficient contracts integrating them within applications. Ethereum enables the development of efficient, smart contracts that contain code. These smart contracts can interact with other smart contracts to make decisions, store data, and send Ether to others.
This comprehensive 3-in-1 course is a practical and easy-to-follow guide to building Blockchain currencies, contracts, and applications. To begin with, you’ll learn fundamental Blockchain programming concepts and create a simple, functional decentralized application on the Ethereum network. You’ll work with private data in a Blockchain application as well as handle large files in a Blockchain application. By discovering the capabilities and potential of Ethereum smart contracts, you’ll finally build decentralized, transparent and fraud resistant Ethereum blockchain smart contracts.
Towards the end of this course, you'll build Blockchain, Cryptocurrency, and smart contracts by building decentralized applications using Ethereum.
Contents and Overview
This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Blockchain Application Development in 7 Days, covers building Ethereum DApps Using Smart Contracts for Beginners. Our course will teach you to build an online gaming application using the Ethereum Blockchain. Each 30-minute section will introduce fundamental Blockchain programming concepts as they relate to creating an online game, followed by practical exercises that customers can implement as homework assignments. With this course, you will learn core Blockchain application development skills, creating smart contracts, interacting with the Ethereum network, building user interfaces, and deploying your application to the Internet. This course supplies seven self-contained lessons taught in a practical, hands-on way. By the end of the course, you will be amazed at how much you have learned about Blockchain application development on the Ethereum network in just one week.
The second course, Ethereum Projects, covers building Blockchain, Cryptocurrency, &and smart contracts by building decentralized applications using Ethereum. This course provides you with a clear approach to building cryptocurrencies, smart contracts, and decentralized applications. Throughout the course, we walk you through a detailed step-by-step process to build advanced Ethereum projects. Each project will teach you just enough about Ethereum to be productive right away. You will learn how tokenization works, how to think in a decentralized way, and how to build Blockchain-based distributed computing systems. You will build interesting projects with Ethereum such as wallets, copyright, secure data sharing, and more. By the end of this video, you will be able to tackle Blockchain challenges by implementing projects end-to-end using the full power of the Ethereum Blockchain.
The third course, Creating Smart Contracts with Ethereum, covers building decentralized, transparent and fraud-resistant smart contracts. In this course, you’ll start by learning the Ethereum smart contract programming language Solidity and its capabilities. You’ll design, test, and deploy secure Ethereum smart contracts using the latest industry standards. Also, you’ll build dynamic front ends for web applications and configure your project infrastructure with smart contracts and the Ethereum blockchain. By the end of the course, you’ll have comprehensive knowledge in writing smart contracts and building applications that interact with them.
Towards the end of this course, you'll build Blockchain, Cryptocurrency, and smart contracts by building decentralized applications using Ethereum.
About the Authors
Will Button has worked in software engineering and Information Technology since 1995. For the past 10 years, he has focused on scaling, performance, and automation for tech startups in healthcare, logistics, fitness, and more. During that time, he has helped startups manage explosive growth, align expenses with funding, and control customer acquisition costs. Having turned his attention to Blockchain in 2017, Will is bullish about its long-term potential and the opportunities available for tech industry professionals. He believes we are at the forefront of the next big revolution in technology and shares his experience, skills, and knowledge with those ready to be part of it.
Daniel Wise has worked in various career paths both domestic and abroad, and since then he focused on the tech field. He began his journey learning programming on Treehouse .com while he lived abroad in Busan, South Korea. His interest in tech began to grow after being accepted into the Flatiron School and returned to the USA to pursue this new career. He has gained experience in the tech field not just on the development side but on the business side as well. His experience and hard work running an indie game studio (known as Ultima Game Studios) paid off when their game demo was chosen to be exhibited at PAX East 2017. This experience in the gaming industry allowed him to utilize his talents in both development and marketing. Currently, he is a busy freelancer, handling projects in Unity development and also writing technical lessons to share his knowledge online. He believes that it is his duty to help others learn about tech/coding while creating projects and learning new things himself. He also assesses promotional ideas and strategies for those looking to promote their businesses online.
Drew Taylor has been a Bitcoin and Ethereum miner since February 2017, and Montreal's rapid growth in the fintech space has given him rich first-hand experience of the cryptocurrency industry. He also works as senior blockchain developer for Greenstream Networks. By constantly tackling new programming tools, Drew has developed a powerful learning curve that has allowed him to master web development, mobile development, cryptocurrency development, and blockchain development.
- This Course is perfect for:
- IT Professionals, Developers, Software Engineers, Entrepreneurs, and Blockchain enthusiasts at all levels, who want to get themselves updated with the latest version of Ethereum 2 to build Blockchain, Cryptocurrency, and smart contracts by building decentralized applications using Ethereum.
To build dapps, you need the right tools. You will learn how to install the tools needed and learn their role in blockchain application development.
• Identify the tools used in building decentralized applications
• Understand the relationship between the tools
• Install the tools on your computer
In this video, we will learn about two common types of tests to identify their function and provided guidance on writing your own tests.
• Identify the function and scope of unit tests
• Identify the function and scope of integration tests
• Evaluate the operation of a Solidity test
Creating a react app from scratch requires a lot of setup.In this video,we will learn the pros and cons of common methods.
• Learn the pros and cons of create-react-app
• Learn the pros and cons of cloning a project
• Identify the correct method for your application
Once we execute game play, we need to notify the player the results of that round. This step completes the action - dispatch - reducer lifecycle.
• Use componentDidUpdate to check for changes to state
• Bind UI components to state variables
• Update UI components on state change
Contract function call results are saved in the Redux store. In this video,we will learn how to access the store to implement results in the UI.
• Understand the role of mapStateToProps
• Identify the correct lifecycle method to call on new props
• Integrate data from props into the UI
There are multiple test networks available. Learn the key features of each to make informed choices when choosing one.
• Identify the three main test networks
• Summarize the differences between the networks
• Explain why the Ropsten network is used in our Dapp
Developers should have a good understanding of how Solidity code is compiled and executed on the blockchain as EVM byte code, and how gas payments work. Ethereum has a steep learning curve, so we'll also be looking at challenges that the developers are facing that are unique to DApp development.
Learn about the different pieces which make up the Ethereum network
Understand how gas payments work in Ethereum
Understand the unique challenges particular to ETH development
To be a good Solidity developer, it's important to know some of the pitfalls particular to blockchain development so that we don't get unnecessarily frustrated or distracted by configuration problems or misunderstandings during the workflow.
Local blockchains can be resource-intensive, remote instances can prevent this
Ethereum SDKs and developer tool sets are changing constantly
How to avoid losing money (ETH) during the development process?
Before programming a smart contract, we need to understand what the Solidity language is, what smart contracts are, and how to deploy them on the blockchain.
Learn about the Solidity language and what smart contracts are
An overview of the workflow process for programming with Solidity
Compile, deploy, and call a Solidity smart contract
In order to deploy the solidity code we compile, we first need to have a working Ethereum wallet and access to a node on the Ethereum network.
Install and configure the MetaMask browser extension
Link a MetaMask wallet to the Remix Solidity compiler
Fund a MetaMask wallet with ether from the Kovan testnet faucet
We already compiled a Solidity program in Section 1. We know what it does, but we don't yet know what the code means. In this lesson, we'll learn to understand the contract we deployed in Section 1 by examining each line of the program carefully.
Understand `pragma solidity ^x.x.x` declarations and Solidity versioning
Understand the Mortal contract
Understand the Greeter contract
Why does the most recent version of Solidity throw warnings when we try to compile the smart contract from last video? How can I deploy this code with the warnings removed? We'll take a hands-on approach to answering these questions by debugging the warning messages and updating our code to be Solidity ^0.4.25 friendly.
Understand Solidity constructor statements
Understand Solidity visibility requirements for variable types and functions
Understand static analysis warnings
Query open permissions endpoints from Infura
Connect Web3 with an Infura provider
Once we have configured Web3 to work with Infura, we'll need to learn how to connect our Web3 instance with an instance of our contract. In this video, we'll learn how to connect our Infura provider instance of Web3 with a contract instance and how to query the contract's functions using Web3.
Understand the ABI or Application Binary Interface
Connect Web3 with an instance of our smart contract
Call our deployed contract using Web3
Now that we're competent at compiling and deploying basic smart contracts, we need to take a deeper look at what interacting with complex contracts entails.
Understand what the open auction contract will do
Compile and deploy the contract
Call the bid function by bootstrapping the contract in MyEtherWallet
Now that we understand the contract's basics and how to load and call it, we finish analyzing the contract by calling all its functions and investigate sending invalid data to the bid function.
Investigate how the smart contract handles a bid sent to it with invalid parameters
Call the withdraw function to return losing bids to the sender
Call the auctionEnd function and closing the auction
In order to program complex smart contracts, we need to know about all of the data and reference types available to developers, which are explained in detail in this video.
Understand function declarations and how Solidity functions can differ from other programming languages
Understand value type variables in Solidity and how to declare and implement them
Understand reference type variables in Solidity and how to declare and implement them
We already have a basic understanding of value and reference type variables, but this video provides an in depth lesson on utilizing two key variable types which are more specific to Ethereum development, and which may be new concepts for developers.
Understand how mappings work in Solidity
Understand and making use of structs
Investigate using a struct in a real DApp which is served online
Although type modifiers are common to many programming languages, function modifiers are specific to Ethereum. In this video we learn what function modifiers are and how to use them.
Understand what function modifiers are and also how they can be overridden
How to declare and implement function modifiers
Call a modifier from a deployed smart contract using Remix
We've already covered a lot of concepts in advanced smart contract programming. This lesson will complete any knowledge about Solidity syntax and available commands which haven't yet been covered.
Understand returning output from a smart contract
Use assertions in Solidity to handle errors and exceptions
Emit events and how they can be listened for by a DApp frontend
We've already learned how to create, compile and deploy smart contracts, but we haven't yet learned how to interact with them from an ender user perspective. In this video, we'll learn how to build web application that calls our Solidity code in a way fit for public consumption.
Learn about the smart contract powering our web application
Compile and deploy the contract
Decide on, and listing, our DApp's dependencies
Before we can call our smart contract code from a web browser, we need to create our web application environment and connect with with Web3. In this video, we'll learn the step by step process of how to achieve this with the React.js framework.
Install our dependencies and running a web server
Brainstorming creating our MetaMask user workflow
Program our web application and incorporating that user workflow
We've already created a Web3 enabled web application, but we need to connect our smart contract and interact with it as an end user. In this video, we'll learn all about connecting to a smart contract and calling its functions.
Update our main application file (app.js) and listening for emitted events
Import the ABI and connecting Web3 with our smart contract
Update our Redux reducers and calling smart contract functions from React
A lot of code has been written and our game DApp is finally ready to be played by others. In this video we take a hands-on approach to interacting with our DApp from the UI.
Review our old deployment
Review the final version of our DApp
Review the source code implemented in the final version
Before our decentralized application is ready to be deployed on the Ethereum mainnet we need to assemble a unit testing environment, and test the security of our smart contract. In this video we'll learn how to begin this process.
Explore our project layout, the Truffle framework, and its modules
Install and configure Truffle
Connect Truffle to our DApp's smart contract
Now that we have configured a unit testing environment for Solidity we can start to run unit tests against our DApp's smart contract, as demonstrated in this video.
Create and run a simple unit test
Add more complexity to our unit test
Finalize and run our complex unit test
If we want users of our DApp to be able to trust that the smart contract they are sending money too isn't doing something suspicious, we're going to need to publish verified Solidity files for them to browse online. This video demonstrates how to do that on Etherscan.io, the most popular Ethereum transaction browser.
Learn why verifying and publishing Solidity source code online is important
Upload and verify the source code for our DApp
Browse the published source code on Etherscan
In the same way that the Internet DNS system provides human readable addresses to resolve IP addresses, the Ethereum network has the ENS system to provide human readable names for wallet and smart contract addresses. In this video we cover the steps required for registering an ENS name with the Ethereum Name Service registrar.
Learn about ENS
Open an ENS auction
Reveal our bids during the bid phase, to validate them
Blockchain and Ethereum are great and very flexible technologies that can be used for many applications. However, as with each technology, it has its potentials and limitations. In this video we will evaluate those.
Evaluate the potential added benefit of using Blockchain technology
Evaluate the potential dangers and limitations that present when developing with Blockchain technology
In this video, we will focus on what you could do to change this application into an application that is better suited for real-world payments.
Add a creator fee system
Make additional changes that could enable exchange of real money for digital currency
In this video, we have a look at how Ethereum can serve as the backbone of IoT by allowing secure, open communication between tamper-proof sensors and devices.
Get to know that dataflow and security are the major reasons why Ethereum forms the backbone of IOT
Learn by getting practical example on how Ethereum is crucial in IOT
In this video, we discuss some of the further steps you can take to learn more and stay updated on these ever-evolving technologies.
Learn about Infura that acts a relay server for the Ethereum and IPFS network
Get to know about various sources where you can keep up to date regarding Ethereum