Writing in the front

It is said that 9 out of 10 people who talked about blockchain in 2018 are liars. Some institutions recruit students in the name of blockchain even without understanding what blockchain is

Explain a few HelloWorld program is said to be blockchain development

Blockchain is a comprehensive stack of technologies, and mastering a single language is certainly not enough. In order to prevent bad money from driving out good money, in order to the rapid popularization of blockchain technology in China, in order to tens of millions of people to avoid detdettions, chuangzhipodcasts Intelligent Internet of Things + Blockchain Academy decided to github open source full set of employment classes.

Welcome star.

https://github.com/itheima1/blockchain

Open source purpose

  1. The course lasted two years of course research and development, and all blockchain frameworks were taught with the latest version to promote the popularity of new technology in China
  2. The short learning curve allows Java programmers and JavaScript programmers to quickly master blockchain technology
  3. Popularize blockchain knowledge and help ctos understand blockchain business scenarios
  4. The course includes numerous case studies to help companies and governments adopt blockchain technology to solve pain points
  5. After learning the course, I can independently complete the design and development of blockchain projects
  6. After learning the course, I can meet the company’s requirements for blockchain development engineers and solve the problem of shortage of social talents

Class service

  1. Open source courses are all free. With the teaching cycle of the in-person class, open source updates will be synchronized
  2. However, due to the rapid changes of blockchain technology, some tools and methods in the course may become invalid with the update of the version. If there is a better way to explain the course, please welcome pull Request.
  3. If you do not have the willpower to learn a complete set of courses independently, you can sign up for the dark horse programmer Intelligent Internet of Things + blockchain employment class
The curriculum The name of the video Download address
Class ceremony 01_ From physical money to digital money https://pan.baidu.com/s/1yW929XMP_fuBBg7Yi7tFIg
Class ceremony 02_ Distributed accounting https://pan.baidu.com/s/1rr5ID89fSPajwNaBHrUXMg
Class ceremony 03_ Decentralization and decentralization https://pan.baidu.com/s/1Br4Zy-fzZUJ_heGkfUb6mw
Class ceremony 04 _hash function https://pan.baidu.com/s/1uJ89F3ETsHmfPmU3c5Idgw
Class ceremony 05_Hash algorithm security https://pan.baidu.com/s/1NWaykKebdU76JZC_cT02Vg
Class ceremony 06_ Distributed systems and data consistency https://pan.baidu.com/s/1ABEJwUsltPf9A9416titAg
Class ceremony 07_ Inflation and Bitcoin https://pan.baidu.com/s/1KY2cRI0TNjKFWSpi_j8xWA
Class ceremony 08_ Evolution of blockchain technology https://pan.baidu.com/s/1qIt969qHiQPxEor1GdX1_A
Class ceremony 09_ Application scenarios of blockchain https://pan.baidu.com/s/1gEBqueKmYRwx2waxpKDVKg
Class ceremony 10_ Do I need blockchain technology at all https://pan.baidu.com/s/1HXIM9SI9P0CKpuCOikqYSw
Class ceremony How to identify the pigs in the tuyere of blockchain https://pan.baidu.com/s/14z3MPBOHt8lizvwhjLKZMg
Class ceremony Evaluation methods for 12_ blockchain projects https://pan.baidu.com/s/1aYajM01WjQGAoJ1z4gJnFg
Class ceremony 13_ICOs and ipos and DaICOs https://pan.baidu.com/s/1TniVTbkxTgygEIbymCyuJw
Class ceremony 14_ Misperceptions about blockchain https://pan.baidu.com/s/17LmSsgD7RySB9vU9Zymz-g
Class ceremony Some concepts of distributed systems https://pan.baidu.com/s/13se0IiA8C5zRsWjE4F3NFA
Class ceremony 16_ Block chain technology stack and learning circuit diagram https://pan.baidu.com/s/1d9RXv_Qh3srl9a9PqE9ibQ
Class ceremony 17_ Current state of blockchain technology https://pan.baidu.com/s/1auv18CFORJpWNqVfeaHESg

Course schedule

  • Week 1: Java Enhancement/Kotlin/DSL/functional programming /gradle/git/ higher-order functions /lambda expressions

    • Course Design Background: Kotlin is a very promising and inspiring programming language, 100% compatible with Java, Google’s official language for android development, it absorbs and draws on the advantages and features of Java, Scala, Groovy, C#, Go, JavaScript and other languages, can let everyone out of the language level conflicts. Look at specific businesses. The current blockchain finance and banking solution corda is written in Kotlin. Mastering kotlin helps programmers understand and learn other programming languages at a fraction of the cost.

    • Reasons for choosing course: Blockchain development requires JavaScrpit, NodeJS, NPM, JavaEE, Gradle, Git, distributed, solidity, hyperledger and other skills. Learning Kotlin will help you understand and learn these technologies.

    • Objectives: 1. Be familiar with Kotlin and Java language features; 2. 2. In-depth understanding of abstraction and encapsulation; 3. Master the idea of functional programming; 4. Master higher-order functions, closures and DSL; 5. Understand threads and coroutines, familiar with project construction tool Gradle; 6. Understand version control; 7. Skilled in using Git to manage the source code and course notes of the entire employment class; 8. Lay a solid foundation for sustainable development in the future.

    • Lesson notes: Every programmer should listen to this lesson

    • Open source course Time:

      May 13, 2018

  • Week 2: Foundation of blockchain front-end development

    • Background of course design: Page development of decentralized Dapp is still based on traditional Web2.0 technology. HTML/CSS /javascript is the cornerstone of the entire Internet page. It is very important to learn them well and lay a good foundation.

    • Reason for choosing course: This course introduces practical HTML /javascript/ CSS techniques to prepare for practical project development.

    • Learning objectives of the course: 1. Proficient in using JavaScrpit/ HTML/CSS to build web pages; 2. Master front-end skills, cultivate the ability to solve complex problems and technical difficulties; 3. Enhance students’ debugging skills and component development ability; 4. Consider the elegance of the code and pay attention to the performance and reuse of the code while realizing the function; 5. In-depth understanding of front-end framework implementation principles; 6. Can develop and package common front-end components with Kotlin.

    • Course notes: Programmers familiar with the front-end stack can choose to learn

    • Open source course Time:

      May 24, 2018

  • Week 3 :Java Distributed/SpringBoot/SpringCloud/Microservices/database technology

    • Background: An in-depth understanding of blockchain decentralized distributed ledger technology requires an understanding of traditional centralized and distributed systems.

    • The micro-service architecture of Springboot is widely used in JavaEE enterprise development. We choose Springboot to explain the development mode and process of traditional JavaEE.

    • Learning objectives: 1. Proficient in using Springboot micro-service framework for background project development; 2. Familiar with mysql database, H2 database and other common databases; 3. Master common conversation skills; 4. Master XML and JSON data interaction; 5. Master Gradle dependency management tool; 6. Master restful services; 7. Accumulated background project development experience of traditional Internet.

    • Java programmers who are familiar with the Spring family bucket can choose to learn

    • Open source course Time:

      June 10, 2018

  • Week four: Micro-service + payment Springboot version of the Internet lottery project actual combat

    • Curriculum design background: comprehensive application of knowledge points through actual combat projects.

    • Reason for selection: Using mainstream box distributed technology and Springboot micro-service, the project can quickly meet the needs of enterprise background development.

    • Objectives of the course: 1. Realize the core business of the e-commerce platform server; 2. Realize the core business of mobile terminal of e-commerce platform; 3. Understand the pain points of traditional centralized Internet technology; 4. Understand the reasons why the government stopped Internet lottery sales; 5. Familiar with distributed microservice architecture of SpringCloud; 6. Understand the business interface of payment, foreshadowing blockchain currency payment;

    • Course instruction: from project prototype design to actual combat, all dry goods actual combat courses, regardless of several years of work experience of programmers are necessary to learn

    • Open source course Time:

      June 18, 2018

  • Week 5: Blockchain front-end and middleware development Nodejs+Vue+React

    • Background of course design: The transformation and development of technology is not achieved overnight. The integration and mutual supplement of blockchain project and traditional project is the solution commonly adopted by enterprises at present. The development of blockchain projects such as Ethereum and Hyperledger requires a more componentized front desk and a more powerful middleware.

    • Nodejs is a widely used middleware. Vue and React are necessary skills for componentized front-end development, while hyperledger’s smart contract writing relies on Nodejs.Nodejs is a necessary skill for blockchain development.

    • Objectives: 1. Develop Web applications using NodeJS; 2. 2. Proficient in Using Express framework; 3. Use Vue and React to quickly develop the front-end interface; 4. Able to provide solutions for bugs and technical difficulties in front-end mainstream projects.

    • Note: Experienced front-end programmers who are familiar with Vue, React, and NodeJS can skip this course

    • Open source course Time:

      July 6, 2018

  • Week 6: Blockchain project — IPFS music player project

    • Curriculum design background: comprehensive use of front and back end and block chain technology project practice.

    • Reason for course selection: IPFS is the next generation of Internet protocol and the subvert of HTTP protocol. The course adopts IPFS as a platform, and comprehensively uses front-end and middleware technologies to improve the technical strength of students.

    • Objectives of the course: 1. Master the introduction of IPFS interplanetary file system; 2. Understand the application scenarios of IPFS. 3. Familiar with IPFS node initialization and basic commands; 4. Can set up private IPFS network; Familiar with IPfs.js API; Familiar with IPFS and Docker; 7. Can configure IPFS cross-domain resource sharing CORS.

    • Practical project, every programmer who is interested in IPFS is necessary to learn

    • Open source course Time:

      14 July 2018

  • Week 7 — Week 8: Ethereum and smart Contract projects

    • Background: Ethereum is the second generation of blockchain technology, smart contracts to achieve value transfer, there will be more and more application scenarios.

    • Smart contract development based on Taifang can solve all kinds of trust problems. It has a very wide range of application scenarios. At present, there are many start-ups based on Ethereum, and the market recruitment volume is huge.

    • Learning objectives of the course: 1. Understand why EVM is the web3.0 revolution; 2. 2. Familiar with common Ethereum tools and frameworks Wallet, Geth, MetaMask, Remix, Turffle, Ganache, Mocha; 3. Familiar with common consensus protocols (PoW, PoS, dPos), and able to set up ethereum private chain; 4. Proficiency in developing Solidity smart contracts using various tools such as Web3(V1.0)/Ganache/Truffle/Mocha frameworks; 5. Be able to tell the etheric fang block chain principle | Ethers, Gas, POW, POS, node node; 6. Familiar with distributed ledger, consensus and mining; 7. Proficient in using Web3 library and cooperating with VUE and React to build decentralized applications; 8. Familiar with developing decentralized applications (DApps) on the Ethereum platform; 9. Can set up private blockchain network for development and experiment; 10. Understand the true purpose and function of Ethereum and Solidity; 11. Familiar with common design patterns of smart contracts; 12. Ability to design, test and deploy secure smart contracts; 13. Build, design and build real projects on Ethereum; 14. Able to create erC20-compliant tokens and issue tokens; 15. Understand ICO, familiar with DAICO; 16. Able to use Oracle to open up and down the chain for data interaction; 17. Have a solid foundation and can quickly integrate into various blockchain-related development work.

    • Course instruction: The course is based on actual practice, and will explain decentralized lottery project and crowdfunding project development. It is strongly recommended to study seriously.

    • Open source course Time:

      July 24, 2018

The curriculum The name of the video Download address
week7/day01 01_ Course Introduction https://pan.baidu.com/s/1vyuydXrAQSICw0MOfKNgEQ
week7/day01 02_ The history of Ethereum https://pan.baidu.com/s/1DJx5g3dhzEi9CA7beqEDkg
week7/day01 03_ Ethereum and the Ethereum network https://pan.baidu.com/s/1vutWpw07r5vmr252nIbNtA
week7/day01 How 04_ interacts with the Ethereum network https://pan.baidu.com/s/10ySQp2dP3o5DUELv2jh2FA
week7/day01 05_Metamask installation and basic operations https://pan.baidu.com/s/1e-shvnS5p6WmQoO-IZM1lw
week7/day01 06_ Ethereum wallet address details https://pan.baidu.com/s/1atRkB7xPkoQXAcoI1RT7qw
week7/day01 07_ How to obtain Ether https://pan.baidu.com/s/1bsxrgRHHuKAKR9A9tUsbMw
week7/day01 08_ Details of transfer process https://pan.baidu.com/s/127KQBTBWzj4JhYxQZUXMfQ
week7/day01 09_ Why does it take time to transfer money https://pan.baidu.com/s/1e-UbQWBvD0TQlpRQFtVrPw
week7/day01 More content Waiting to upload…
The curriculum The name of the video Download address
week7/day03 01_ Service Analysis https://pan.baidu.com/s/1cTAdME1EF20kxGAFry9yKw
week7/day03 02_ Preliminary design of smart contract https://pan.baidu.com/s/1OUpfXQs4yzrcOAn8XHRH6w
week7/day03 03_solidity Basic type of programming language data https://pan.baidu.com/s/1aib1_Yg44us5RLDyeNY6rQ
week7/day03 04_ Preliminary preparation of lottery smart contract https://pan.baidu.com/s/1PGuc0ajDHjEWhsz4fVwTuQ
week7/day03 05_ Manager assignment of lottery smart contract https://pan.baidu.com/s/1Od_m_5hoRFHQauQ2FytqoQ
week7/day03 06_solidity array explanation https://pan.baidu.com/s/13MXnDVzwr3VwXN2K1Vj0Mg
week7/day03 Small crater for 07_solidity array development https://pan.baidu.com/s/1ez-_Sw8CLOu1Q1ESc_gcHA
week7/day03 08_ Verification of payment https://pan.baidu.com/s/1IReaf6zv1zE7bh4GkDr98Q
week7/day03 09_ Debug of smart contracts https://pan.baidu.com/s/1JZ97eVt0gJW3lyY-j4Oi5g
week7/day03 10_ Public inquiries about how much money is in the bonus pool https://pan.baidu.com/s/1U9y87ZbDlXrDyO0WQEBq0g
week7/day03 11_ Lottery logic https://pan.baidu.com/s/1PIel3YRfC3RYuHfuIlPi7A
week7/day03 12_ Random number generator https://pan.baidu.com/s/1q7TAg3wVmZ5T2ijdcFbCVA
week7/day03 13_ Select lucky lottery players https://pan.baidu.com/s/1mBaJVGRta-W10983huB-JQ
week7/day03 14_ Smart contracts automatically send prizes to winners https://pan.baidu.com/s/1YZn7AO8U-OwE5KuD_5Tgcw
week7/day03 15_ Lottery smart contract business logic details fixed https://pan.baidu.com/s/1pKiEuuCBcCU2SDImJ3oo4Q
week7/day03 16_ Lottery smart contract permissions related vulnerabilities fixed https://pan.baidu.com/s/14aWRo4vVqCGpHRQgYGzGBA
week7/day03 17_solidity High efficiency features inline function modifier https://pan.baidu.com/s/1DaFTA0FD4aMRZZzfB5NtKg
week7/day03 18_ Manually testing the logic of lottery smart contracts https://pan.baidu.com/s/1OlskLELc8XgAY2hgz4a9_Q
week7/day03 19_ Build ide test development environment https://pan.baidu.com/s/179caqckJVKbZwvja3tK3Yw
week7/day03 20_ Unit test smart contract compilation and deployment https://pan.baidu.com/s/1LuUubPxTvFCIqWL9rxFncA
week7/day03 21_ Testing of smart contracts for purchasing lottery tickets and querying lottery pools https://pan.baidu.com/s/1wWpPI5O2Iy9nhJzA261UYg
week7/day03 Front-end project development Waiting to upload…
  • Week 9: The Blockchain Product Manager’s Way

    • Course design background: Blockchain is a new technology, and developers who understand products are more welcome.

    • Reason for course selection: Those who understand technology and market can stand out in the fierce competition. The disruptive technology of block chain requires people who know more about the product so that the technology can be implemented and generate value.

    • Objectives of the course: 1.MRD documents; 2. Demand mining and management; 3. Product design; 4. The PRD document; 5. Project scheduling and promotion; 6. Data analysis and version iteration; 7. Demand research and analysis; 8. Master product development process of product manager; 9. Familiar with the cooperation mechanism with product manager under each milestone; Familiar with project control and risk assessment; 11. Blockchain practice case – growth hacker.

    • Course learning instructions: Pseudo-blockchain technology and real blockchain technology need product managers to grasp, what is the pain point that blockchain solves, worth thinking about

    • Open source course Time:

      July 29, 2018

  • Week 10: Actual combat of Hyperledger enterprise-level development project — Fishery management system of Jiangsu Agriculture and Animal Husbandry Department

    • Hyperledger is a blockchain commercial-level development platform supported by IBM and incubated by the Linux Foundation.

    • Hyperledger can be widely used in private chain and alliance chain. Many large companies in China have joined the Hyperledger alliance.

    • Objectives: 1. Be familiar with Hyperledger; 2. 2. Blockchain 3.0; Familiar with various components of Hyperledger Fabric Technology (Peers, Orderer, MSP, CA…) ; 4. Understand hyperledger FeBRIC architecture; 5. Can use Hyperledger FeBRIC to build a cluster platform; 6. Able to use NodeJS or Go language to write smart contract chain code; 7. Familiar with the deployment of Hyperledger FeBRIC; 8. Use Hyperledger FeBRIC to solve practical problems of enterprises.

    • Course description: This course analyzes the application scenarios of Hyperledger through actual cases, takes you to analyze the business and finally realizes the project

    • Open source course Time:

      August 9, 2018

The curriculum The name of the video Download address
week10/day01 01 _hyperledger is what https://pan.baidu.com/s/1mxBeIyBlsy8UwBnvFP78Kw
week10/day01 02_Hyperledger Learning target https://pan.baidu.com/s/1YZADE48SjcqH4FKn7qsBiw
week10/day01 03_Hyperledger rebuilds trust https://pan.baidu.com/s/1VwN9Omb42k0NCoiCa96fJw
week10/day01 How does 04_Hyperledger solve real problems https://pan.baidu.com/s/1lziZ_63kfzE7hKmYDb-LNw
week10/day01 05_Hyperledger Important components CA,peer, and ordering https://pan.baidu.com/s/13CbBZhglRyGCFw5XUBWokQ
week10/day01 06_Hyperledger case Actual combat — Fisheries Administration Management System of Agriculture and Husbandry Department of Jiangsu Province https://pan.baidu.com/s/1OZz5CscVcTOHSxqSU2OBOg
week10/day01 07 _hyperledger channel https://pan.baidu.com/s/1GEkpK63P61OLJxtCbsRZ7w
week10/day01 08 _hyperledger chaincode https://pan.baidu.com/s/1ClxMg7ZajZaOZutSCK9V0g
week10/day01 09_Hyperledger workflow (Important) https://pan.baidu.com/s/1r5dqkxeLFAsGenjqaRZLIA
week10/day01 10 _hyperledger MSP https://pan.baidu.com/s/13T9nf4xsL_8QJd262_sQpw
week10/day01 11_Hyperledger Glossary Review https://pan.baidu.com/s/13-PzjVvwJxcoNHAPbxLQ6A
week10/day01 12_Hyperledger Case: Producer service Analysis https://pan.baidu.com/s/13_t3uKnQkq_DVFkTpsL-lA
week10/day01 13_Hyperledger Case: Consumer Business Analysis https://pan.baidu.com/s/1DTLSofrOH1OVjljmVa58qg
week10/day01 14_Hyperledger Case Combat: Privacy Service Analysis https://pan.baidu.com/s/1LFkzfA1Oh4db2j008ba0Xg
week10/day01 15_Hyperledger Case Actual combat — Analysis of fishery Administration regulation demand https://pan.baidu.com/s/1-45AN9lS742WJrVExharGQ
week10/day01 16_Hyperledger case study: MSP management https://pan.baidu.com/s/1VpOQzUuKVR-PU7pO1E2Sug
week10/day01 17_Hyperledger Case Deployment: Service Recovery https://pan.baidu.com/s/1W8-qvPYArcyqBG654vYjnA
week10/day01 18_Hyperledger Case Actual combat – Hand-built environment https://pan.baidu.com/s/1-q93okIZ2oZ3kruDX60DAw
week10/day01 Install Git and docker https://pan.baidu.com/s/1XkFvJPwHUIY4oUe4RPVx9Q
week10/day01 20_Hyperledger case – Tools and Docker image installation https://pan.baidu.com/s/1oHZ7i3i-1oB4y_DVCMbI1A
week10/day01 21_Hyperledger Case study –first-network https://pan.baidu.com/s/1FU6M5c9OHLdvE9zs4XEXuQ
week10/day01 Hyperledger case: Chaincode https://pan.baidu.com/s/194LKUBBj6H8e3FddhUs8fA
week10/day01 More content Waiting to upload…
  • Week 11: Blockchain mobile Development + Smart Internet of Things

    • Background: If rainy weather is better than chocolate, the Internet of Things is better than blockchain.

    • Blockchain technology has brought more imagination to the Internet of Things. Intelligent Internet of Things and blockchain will have greater development in the next few years. Programmers who know hardware will be popular.

    • Learning objectives: 1. Proficient in using Kotlin to write Android mobile terminal and embedded code; 2. Master android mobile terminal development skills, able to develop mobile terminal wallet applications; 3. Master the construction of Android Things Development environment; 4. Master the use of common sensors; 5. Master GPIO serial bus; 6. Master GPS module development process; 7. Familiar with hardware development of sound control lamp, light control lamp, infrared detector, reversing radar and so on; 8. Able to control the intelligent hardware equipment of the camera; 9. Can connect multiple sensor devices through raspberry PI and monitor sensor data changes; 10. Master the method of interaction between hardware and server;

    • Course description: Fresh traceability, GPS + sensor cold chain tracking, IOTA gives blockchain more space for imagination.

    • Open source course Time:

      August 20, 2018

  • Week 12: Complimentary course: Quick Introduction to Go

    • Curriculum design background: Go language is a very simple and easy to learn efficient language, there are some use scenarios in Hyperledger

    • Reason for choosing course: After mastering Kotlin, you can master the essence of go in 10 hours as an interview bonus

    • Learning objectives: 1. Master the grammar and control structure of GO language; 2. Use go language to write parallel code (similar to Kotlin coroutine) 3. Understand the differences between static and dynamic typing in different programming languages; 4. Familiar with the grammatical features of go language; 5. Understand the design principle of GO language; Able to write server load monitor based on GO language coroutine 7. Able to write Hyperledger smart contract based on GO language

    • Course Instruction:

      A quick tutorial on how to rewrite nodeJS smart contracts using GO.

    • Open source course Time:

      September 10, 2018