- 3 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
- Implement a basic Blockchain system in an easy and practical way
- Secure Blockchain with the cryptographic essentials
- Create a cryptocurrency on top of an existing Blockchain network
• Understand where JS sits in the web-app development arena
• Get to know the evolution of a modern web developer
• Blockchain, the disruptive technology we must know
• See how it interacts with the browser
Let’s now dive into basic blockchain concepts and begin understanding how these ideas work together to formulate a blockchain solution.
• Comprehend blockchain data in a ledger
• Understand how blocks are distributed, redundantly, across all network nodes
• Learn the benefits of blockchain data
• Set up a new project on Codeanywhere
• Install crypto.js via NPM
• Study the basic Boolean-level logic of conditional statements
• Learn conditional syntax
• Understand the available logical operators used in conditional logic
• Study the iterative functionality of looping statements
• Learn iterative syntax
• Understand the various forms of looping and their syntax
Functions allow us to store a piece of code that does a single task inside a defined block, and then call that code whenever we need rather than having to type out the same code multiple times. In this video, we will dig into functions, including their basic syntax and how to invoke and define them.
• Learn function syntax
• Understand how to create and invoke functions as needed
We are now aware of functions and their easy-to-use syntax. We understand how they encapsulate logical units of code. In this video, let's dig a bit deeper into functions and discover more of their powerful features and some of their more interesting nuances.
• Learn extended syntax of functions
• Understand function parameters, return values, and scoping
• Understand the structure and use of objects
• Learn how classes are defined and used to create object instances
• Discuss the use of constructors in class definitions
In this video, we’ll discuss various use cases for blockchain technology and how the needs of many of these cases have been met with different implementations. We can begin with the most obvious and currently popular case—that of cryptocurrencies.
• Gain an understanding of blockchain’s ledger concept
• Realize the network as a collection of nodes
• Learn how blocks are used to securely package transaction data
In this video, we'll review how the data in a blockchain is secured, how the participants in a blockchain network work together to validate new entries for the blockchain ledger, and how the blocks are processed to provide security and consistency.
• Discuss how blockchain data is secured
• Learn how transactions are validated by blockchain participants
• Review the steps of processing blocks for validity and consistency
In this video, we’ll learn about the economic properties that make Bitcoin valuable, and thus, a successful network.
• Discuss the economic properties of cryptocurrencies
• Apply cryptoeconomic strategies
• Realize the viability of blockchain’s success per economic factors
We understand how data is validated with hash comparisons and how transaction linking provides validity. But the complexity of this chaining mechanism is much more elaborate than we can see from the surface. This is where the concept of Merkle tree comes into play.
• Learn about the complex structure of Merkle trees
• Understand the application of these structures in a blockchain
• Realize the efficiencies of blockchain data validation using Merkle trees
• Ensure that we have a fully functioning environment
Blockchains (and especially cryptocurrency chains) are heavily dependent on great cryptography. We need to understand how all the complexities of crypto are wrapped up in libraries that we can leverage.
• Discuss the crypto-js library and its functionality
• Understand why cryptography libraries are necessary
• Leave the complexities of cryptography to the professionals
Proof of work is used to secure a blockchain. We need to understand it and the alternative approaches for solving this universal blockchain problem.
• Attempt to eliminate spam transactions
• Valid transactions are a product of a “proof of work” commitment
• Economics of mining provides validity to individual transactions
We can implement the concept of mining (validating transactions and minting new tokens) in our project with just a few new classes.
• Upgrade our blockchain to an official “cryptocurrency”
• Add the ability to mint coins on our blockchain
• Introduce the concept of mining coins/tokens
At this point, we can enable some utility for our blockchain users so that they can easily facilitate transactions by finding their token balance. Then, we need to rework how we produce the chain’s genesis block.
• Add functionality for blockchain users to easily create transactions
• Create a function that easily computes a user’s token balance
• Re-evaluate how the chain’s genesis block should be introduced
Our users need tokens to be able to produce transactions. We can implement an airdrop function to make this happen each time the genesis block is generated.
• A simple function can get tokens from the mint
• Looping through the users on the blockchain to assign tokens
• All airdrop transactions must be mined to allocate the assigned tokens
Finally, our blockchain implementation needs to be able to ensure that transactions are valid prior to adding them to the chain. We can add a few new functions to ensure validation.
• A validateTransaction() function is what we need to encapsulate validation logic
• Logging the action to the console
• Walk through the transaction sequence
• We discussed conditional logic, looping, and functions
• We learned how to define and use custom classes
• We applied the lecture material to the code in our project
As the Blockchain revolution rages around us, you may be feeling left behind as the technology and coin values continue to develop at breakneck speed.
About the Author
Brett Hooper is a well-seasoned software engineer, entrepreneur, teacher, and all-round techno-surfer. His decades of experience have taken him from years of IT consulting for fortune 100 behemoths, to a number of entrepreneurial startup efforts, to the U.S. Dept of Defense in defining their way forward in mobile and web-related technologies. Brett’s excitement in learning, implementing, and teaching new, interesting development frameworks, stacks, services, and Blockchain technologies never wanes and keeps him heads-down more than not. He develops new teaching content from his Aloha CodeWorks headquarters in beautiful Maui, HI.