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
- 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
- The short learning curve allows Java programmers and JavaScript programmers to quickly master blockchain technology
- Popularize blockchain knowledge and help ctos understand blockchain business scenarios
- The course includes numerous case studies to help companies and governments adopt blockchain technology to solve pain points
- After learning the course, I can independently complete the design and development of blockchain projects
- 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
- Open source courses are all free. With the teaching cycle of the in-person class, open source updates will be synchronized
- 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.
- 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
-