Learning Blockchain Application Development
- 3.5 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 Decentralized Applications (DApps) that utilize blockchain technologies
- Find out how to program Smart Contracts using Solidity
- Implement business logic in the form of functions to execute tasks on the blockchain
- Build a local Ethereum network to test and mine your applications
- Write tests to ensure your applications behave properly
- Send Ethereum tokens to and from Smart Contracts as payments
- Deploy your application to Ethereum Test Networks and the Ethereum Main Network
- Use React to create a user interface for interacting with your Ethereum DApp
This video about buying an item is the reverse workflow of what we learned in the previous video, but uses the same technologies and components.
• Compare the workflow of adding versus buying
• Implement the components to create the application workflow
• Review the concepts used in React and Redux
This video teaches the viewer how to transfer funds between contracts and wallets, while relying on concepts built in previous videos.
• Identify the technology components necessary to transfer funds
• Follow the Redux action/reducer pattern to implement the workflow
• Identify the role of the Redux store in applications
In order to build the application, the one must have a properly functioning development environment. This video explains the tools needed and their role in the development lifecycle.
• Learn the individual tools and their role in the application
• Install tools as needed
• Verify tools launch and operate
Contracts represent the business logic of decentralized applications. This video introduces smart contracts and best practices for creating them.
• Learn the principles of Ethereum contracts
• Understand the role of a contract in our application
• Create a basic Ethereum contract
Data types and functions are the building blocks of contracts. In this video, we will learn about the different types and how to use them.
• Learn the different data types in Ethereum contracts
• Learn what functions are in Ethereum contracts
• Implement a contract using datatypes and functions
Functions use different keywords to identify their roles and capabilities in a contract. This video introduces common keywords and the features associated with them.
• Learn the common keywords used in contracts
• Understand what each keyword does
• Add a function using a keyword modifier
Events are used in Ethereum contracts to write logs and events to the transaction logs. In this video, we will learn their role and how to implement them.
• Understand the capabilities and limitations of events
• Create a basic event in a contract
• View the emitted event in the logs
Every contract must have a failsafe, or a way to permanently disable a contract. This video teaches us how to implement one.
• Explain why kill() functions are a necessary component
• Learn the limitations and other components about kill() functions
• Implement a kill() function in a contract
Tests can be thought of as nice-to-have features. This video teaches us why they are necessary for Ethereum contracts.
• Learn the role of tests in contract development
• Understand common pitfalls of testing
• Learn how to convince others the value of tests
• Write an integration test simulating user behavior
Ganache provides a local Ethereum test network, utilized during development to promote faster code iteration. This video introduces Ganache and the features it provides.
• Learn what capabilities Ganache provides for development
• Identify the main components of Ganache
• Use Ganache to run your contract tests
Failing tests are a staple of test driven development. However, tests often fail for reasons other than what you were expecting. This video teaches the viewer how to interactively debug contracts to identify bugs.
• Debug a problem using Truffle
React comprises the User Interface for our decentralized application. This video introduces React and teaches the action/reducer/store pattern.
• Learn what React components are
• Identify the action/reducer/store pattern
• Implement a function to call data on page load
Executing contract functions that update the contract represent a unique problem in decentralized applications. This video focuses on the unique challenges of updating contracts.
• Execute a function call from React with Ether
• Analyze function response for user information
• Review the action/reducer/store pattern for payable transactions
Providing user feedback can be challenging in non-real-time networks like blockchain. In this video, we will learn how to provide feedback to users and update the UI when new data is available.
• Examine the components available for providing updates
• Implement a Snackbar container for confirmations
• Implement a background poller to refresh data
MetaMask represents an Ethereum bridge for the browser. In this video, we will learn why this is necessary in decentralized applications.
• Learn what MetaMask provides and alternative solutions
• Configure a MetaMask wallet
• Add additional accounts to the wallet
In this video, we will learn the challenges of collecting metrics and logs from remote users. As well as the challenges, they will learn some solutions for addressing this problem.
• Identify the challenges of collecting metrics and data from users
• Learn about different solutions used to solve this problem
• Implement elasticsearch to collect metrics
When things go wrong, having a solid strategy for resolving them reduces time to resolution. In this video, we will learn common, effective troubleshooting techniques.
• Learn a common pattern for identify failures
• Identify sources of information in AWS
• Learn common contract deployment errors
- No prerequisite skills in blockchain technology are required though some familiarity with writing code and applications will be helpful.
Blockchain disrupts many different aspects of our life including finance, retail, merchandising, identity, and more. Ethereum is a platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud, or third-party interference. This is the perfect guide to help you learn the basics of building decentralized applications with the Ethereum network. You’ll learn the core concepts of decentralized applications as we build an online marketplace, connecting buyers and sellers together to exchange goods and services. In doing so, you’ll deploy your code to the Ethereum network, and build a user Interface to expose your decentralized application to the world.
The focus of this course is learning blockchain and using it for application development by building applications, where each application should do something useful. You’ll learn how to create smart contracts, implement business logic using Solidity, and test your code. By the end of this course, you’ll have the skills necessary to build, test, and deploy applications in the Ethereum network. You’ll also have a solid understanding of blockchain application development, with skills that readily transfer to application development on other blockchains such as NEO, EOS, Cardano, and more.
About the Author
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 start-ups in healthcare, logistics, fitness, and more. During that time, he has helped start-ups manage explosive growth, align expenses with funding, and control customer acquisition costs.
Having turned his attention to blockchain in 2017, Will is bullish on 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 a part of it.
- This course is suitable for IT Professionals and Software Engineers at all levels seeking to learn Blockchain Application Development.