By the end of the course you will understand and be able to:
- Understand the logic and principles of blockchain
- Understand the specifics of the Ethereum platform
- Navigate workflows for Ethereum
- Set up a setup for working with Ethereum
- Combine different development tools
- Writing smart contracts in Solidity
- Launch tokens for ICOs
- Develop decentralized applications
- Create a user interface for a project
- Manage ethereum transactions online
- Test and Deploy an Ethereum app
- Developing mining strategies
- Techniques for improving network protocols
- Anonymization mechanisms
Course program:
- Cryptocurrencies and blockchain
- What is Cryptography
- How to use cryptography
- How Blockchain Works
- Why blockchain is the future
- Asymmetric encryption
- “Myths” about cryptocurrencies
- Disadvantages of Cryptocurrencies
- Review of Cryptocurrencies
- What is Ethereum
- Sharing basic terms
2. Installing and setting up an environment to work with smart contracts
- Clients for Ethereum: Geth or Parity
- Test networks: Ropsten, Rinkeby, Kovan
- Development environments: Remix, Mist, JetBrains, plugins for Atom, Pycharm
- Frameworks: truffle, embark, populus, dapple
- Tools: metamask, zeppelin, oraclize.it, web3.js
3. Solidity immersion.
- Contract structure
- Units and global variables
- Contracts
- How to use libraries
- How to write your own library
- How to create your own data structures
Case Study: Examples of Simple Contracts
4. Data Types in Solidity
- Value Types
- Reference types
- Mapping
5. Tokens, ICO, DAO
- Types of tokens
- What is a token
- How to issue your own currency
- How to sell it
- How to regulate its exchange rate
- How to protect your token
- ERC-20 standard
- What is ICO
- Stages of ICO
- ICO Contract Architecture
- Best Practice of ICO Contracts
- What is DAO
- DAO architecture
6. Contract architecture
- How top projects made their contracts
- Where to Find Other People’s Sources
- Version, import from other files, comments
- State variables
- Local variables
- Functions
- Functions
- Events
- Struct (structure type)
- Enum type (list)
Case study: Creating an ICO contract framework with modifiers and state variables
- Units of measure and globally available variables
- Ether and time units
- Special variables and functions
8. Expressions and control constructions
- Incoming and outgoing function parameters
- Call of functions: external and internal
- Named and additional parameters of functions
- The order of the evaluation of expressions
- Value Assignment
- Exception handling
9. Chains of Contracts
- Why make more than one contract
- How to create a contract chain
- How to safely restart one of the contracts in a chain
- Inheritance and interaction with other contracts
10. Writing a Simple Contract
The architecture of theApp. Implementing anApp with MetaMask