全球最系统讲解以太坊开发实战都在这里了!

智能合约的开发,与基于传统的中心化技术的开发有很大的不同。区块链的技术特性和智能合约平台(比如以太坊)自身的技术特点对智能合约开发者提出了更高的要求。

重视设计、对算法精益求精、严谨的测试等等都要求开发者有一定的技术功底和积累。目前业内的智能合约开发课程大多侧重实操以及工具的使用,对于智能合约平台的原理和实现机制的讲解有很大程度的缺失。

好在,我们为最终找到了一个不错的解决方案——

「一块链习」找到了以太坊黄皮书中译者杨镇老师,也是我们在“以太坊开发”这个职能方向下曾经交流过的思考最深入、最系统的人,曾经对以太坊黄皮书中文版进行了独立校订、增补更新、独立中译了以太坊Homestead官方文档以及以太坊分片技术说明的杨镇老师,我们与他一起,前后历时多月,研发完成了可能是业内第一门,也是唯一一门体系化的“以太坊高级开发”课程。

历时多月「一块链习」教研组同以太坊黄皮书中译者杨镇老师共同制作了一门含金量极高,在业内可能是前无古人的课程。这门课程的主题叫:

以太坊智能合约开发(高阶)实战课

关于这个课程主题,从大半年前开始,一块链习就同杨镇老师彼此有一个共识——如果要在以区块链开发领域内做一个含金量最高的课,非“以太坊高级开发”莫属,因为它最复杂,更深,更难讲清楚,业内相关人才也最贵,最稀缺。

为什么要做这样一门课程?

简单讲,关于“智能合约开发”这个概念,长久以来在整个行业内都是模糊抽象的,很多人都无法讲清楚到底什么是智能合约。

Solidity 是一种结合了 C++、Python 和 Javascript 语言创造出来的为智能合约开发而定制的语言,虽然它在设计时没有考虑形式化验证(智能合约的运行结果是依赖于其本身的合约“状态”数据和区块链环境数据的,所以最初没有考虑形式化验证大概也是可以理解的),它的数据类型的表现力有限(比如不支持真正的元组类型、不支持多维动态数据的序列化等等),但它也确实在事实上简化了智能合约的开发,是一种上手很容易、对初学者“很友好的”开发语言,它的技术价值也是不可否认的。

但是看起来很简单的 Solidity 语言,其实并不简单,因为有太多不那么直观的因素会影响 Solidity 程序的运行,而大部分开发者也许并不那么理解智能合约的运行环境——以太坊虚拟机(EVM)的各种各样的技术细节,各种各样的大坑小坑。

比如 private 函数和 public 函数在调用时到底有什么不同,仅仅是可见性么?比如数据在内存和存储(storage)中的结构有什么区别,为什么我可以对存储中的动态数组使用 push 和 pop,而对内存中的就不行?比如 fallback 函数是如何运作的,它真的不能接收参数也不能有返回值么?比如 transfer、send 和带 value 的 call 有什么区别?又比如 EVM 中复杂的费用设计(尤其是存储的使用费)和 gas 返还机制是如何影响合约的 gas 消耗(也就是运行费用)的?

也正因以上的种种问题,我们该如何在以太坊技术本身相对比较零散、且需要很多相关基础知识的情况下透彻系统的理解以太坊智能合约开发的绝大多数细节问题,使得你关注的这些细节问题都能够解决。甚至在整个区块链行业内一直以来都是每一个项目创始人、CTO 都致力于搞明白,却从来没有人系统梳理和成功讲解过,也从来没有一套成型的方法,长久困扰着许多开发者的问题。以至于,整个区块链行业内,能够通过智能合约来做好优质的合约的开发者,其实特别特别稀缺。

所以,无论是从市场需求还是行业责任的角度,我们都想要做好这门课,即便一开始就知道它很难。

我们也觉得,站在课程设计和制作的角度,当下如果「一块链习」都不能解决好这个问题,那我们也不知道还有谁能把这个问题解决好。

所以,If not us, Who? When?

这门课程解决什么问题?

本课程重点围绕着“以太坊开发+案例”帮大家解决如下问题——
1.从以太坊协议的基础——以太坊黄皮书开始带你走进智能合约的世界
也许我们可以很简单的构建智能合约乃至DApp应用,但实际场景对合约质量的要求和简单的实验肯定是不同的,而要真正理解智能合约,就要从黄皮书入手。这份文档很独特、价值也非常高,但相应的难度对于初中级开发者而言也确实很高,本课程的第一周就将为你讲解其中的核心内容,帮助你快速抓住以太坊协议的重点,提纲挈领地理解以太坊协议,通过以太坊的本质和其运作方式建立起关于以太坊开发的全面认知。

2.帮你掌握一套方法,通过实际案例了解并理解重要的可复用合约代码库
详细解读OpenZeppelin项目中的重要基础合约和 Token 合约样例,这个项目在以太坊生态中来讲非常重要,是个伟大的项目,其中数十个经过社区反复审计、更新的合约模版对开发者而言是极其有价值的,能帮助我们省去很多“造轮子”的时间;但对于初学者而言,理解某些模版合约的精巧设计或者使用上的注意点乃至局限就成了同样非常重要的事情。在课程本章节中,导师也并精心设计了两个编写合约的作业,带领大家尝试使用这些可复用的合约模版。

3.帮助你掌握智能合约安全编码的原则、最佳实践和实操要点
通过详细介绍目前已知的绝大部分可能的攻击或者协议、语言上的限制和漏洞,这里也会涉及一些以太坊和 Solidity 语言设计上的艰深细节而深入到智能合约开发的场景中,并且会从编码原则和最佳实践的角度讲解智能合约安全开发的要点。

4.带你了解 EVM 的指令设计和 gas 优化的要点,带你认识那些 Solidity 开发中最困难的实战内容
详细讲解以太坊的费用设计和指令设计,据此分析 gas 优化的原则和要点,最后以三个合约实例作为讲解 Solidity 高级开发的实战总结。

这四周的教学内容有很大的相关性,将帮助我们系统性的理解以太坊智能合约开发的绝大多数细节问题,课程的难度也是逐步递进的。如下附上本门课程大纲,可进一步参考。

全球最系统讲解以太坊开发实战都在这里了!_第1张图片

除了这些基本课程内容以外,我们在每一节课后还精心设计了需要你真正动手的编程作业,对于初级乃至中级合约开发者而言都有一定挑战,需要你花一些时间和精力才能完成,非常有益于开发经验的积累、提高对合约编程的理解,同时这些作业本身也有很高的实用价值。并且老师也会单独为每一位学员批改每次的作业,给予相应的单独指导。

这门课程适合谁和不适合谁?

本课程适合对象——
1、已经有 Solidity 初级开发经验但又做得没那么好的开发者;
2、当前以及在从事区块链开发相关工作,希望进一步深造和系统学习以太坊开发相关的程序员;
3、考虑到部分内容对程序设计、数据结构和算法有一定的基础要求,建议有计算机软件或相关专业学历的开发者学习。

本课程不适合对象——
1、没有用 Solidity 写过任何合约,或者只写过 Hello World 这种程度的极简单的合约;
2、没有看过 Solidity 官方文档,或者只看过其中的基础语法相关章节,或者还不知道 ABI 编码是什么;
3.、除了 Solidity 语言不会其他任何开发语言,或者其他开发语言的开发经验不足一年;
4.、非计算软件及相关专业,或者没学过数据结构、不了解像排序、查找这类基础算法;

因此本课程不适合非计算机软件及相关专业的技术人员,尤其是那些对计算机程序设计相关的基础知识(比如栈、树、数据进制转换、序列化、机器语言或汇编指令等等)没有任何了解的同学,相信我,你可能会被这个课程搞死的。

课程教研团队介绍

一、课程导师
杨镇—-资深软件工程师、区块链技术布道者。拥有17年+的软件行业从业经验,2016年开始学习以太坊,独立中译了以太坊Homestead官方文档、对以太坊黄皮书中文版进行了独立校订和增补更新、独立中译了以太坊分片技术说明。

二、助教团队

hammer:资深区块链游戏开发者,有丰富的智能合约代码审计和大型项目经验。现为区块链大型沙盘类游戏evolutionland的负责人

刘虹男:京东金融区块链工程师,北京邮电大学研究生,参与过企业级区块链应用开发以及以太坊DApp的项目开发,是区块链技术的深度参与者。

齐明:资深Web全栈工程师,13年项目设计,开发以及管理经验,区块链爱好者。现任Mpire澳大利亚,TrafficGuard项目高级工程师,区块链战略顾问。

余轩:京东金融研发工程师,八年互联网研发经验,有着丰富的软件系统架构和设计研发经验,区块链爱好者,曾参与多个以太坊DApp开发,目前在做云和大数据相关工作

王鲁明:软件开发,vgw资深区块链工程师

郭斌:AbleCloud汽车金融工程师,北航区块链研究生,以太坊技术爱好者,曾参与多项以太坊Dapp开发,对监管沙盒、分布式交易所有一定的研究。

张金龙:中科院研究生,区块链技术爱好者,曾参与多个以太坊DApp开发,现为火币网区块链工程师。

最后,关于这个课程,可以给你分享如下几件事实——

1.这个课程的制作除了讲师之外,先后有21位「一块链习」的课程研发组同学投入其中,是一块链习有史以来制作难度最大、制作成本最高的课程;

2.为了做好这个课程,杨镇老师在课程中将黄皮书作为重点,但它绝不是一个只讲理论的枯燥课程
在介绍完黄皮书后,就会 show you the code,学习 Openzeppelin-solidity 中的所有经过社区反复审计、优化过的可复用的基础合约框架。这些非常非常重要的一手“最佳实践”确保了这门课程的含金量,避免重复造轮子,尤其是那些已经被证明很好用的、很安全的“轮子”。而这些案例,无论任何一个,在市场上拿出来都会极有价值。

3.这个课程是目前业内唯一一门系统讲解以太坊智能合约开发的课程
这门课通过对黄皮书的详细剖析,将真正帮助以太坊开发者理解以太坊的本质和其运作方式,帮助开发者了解并理解重要的可复用合约代码库、掌握智能合约安全编码的原则、最佳实践和实操要点并了解合约代码的 gas 优化技术。值得一提的是,在磨课过程中,我们课程研发组都一致认为,就当下来看,本课程中包含的上述这四方面的内容,业内还没有任何人进行了系统性的整理、总结并传授给开发者,因此这是一门前无古人的,也是当前业内在“以太坊开发”这个领域内最好的高阶课程,没有之一。

4.课程内容与实战作业相结合,想不学会都难
为了最真实的让这个课程的每一位学员都能够深入到智能合约开发的场景中来,我们将详细介绍目前已知的绝大部分可能的攻击或者协议、语言上的限制和漏洞以及以太坊的费用设计和指令设计,据此分析 gas 优化的原则和要点,并结合若干实例讲解了gas 优化的细节。并且这门课程的每一课的实战训练作业,含金量一点也不亚于课程内容本身,具体有课程作业介绍下面会讲。

5.「一块链习」的所有课程的特别和极有价值之处,就是特别重视实战开发训练,并且给每位同学都配备富有经验的助教来进行日常解答问题
当前看这个课程的助教团队也挺豪华的,由来自全球众多知名公司的资深开发构成,且不乏多位资深区块链开发从业者亲自上阵担任助教。最最惊喜的是,第一期的课程中每一位学员的作业将由导师亲自批改1V1点评指导,这是在市面上绝大部分课程中都难以达到的。(比如上面的编程作业,导师会逐个帮学员详细分析程序逻辑,尽可能多地指出学员自己编码中的问题,这个过程中的收获绝不是普通视频课程能带来的。)

6.在此之前,这门课程已经进行了1个多月,总计20多人参与的封闭内测,下面是来自于内测学员和助教对于课程的部分反馈+评价,供你参考。
全球最系统讲解以太坊开发实战都在这里了!_第2张图片
全球最系统讲解以太坊开发实战都在这里了!_第3张图片
全球最系统讲解以太坊开发实战都在这里了!_第4张图片
全球最系统讲解以太坊开发实战都在这里了!_第5张图片

关于课程的其他介绍及报名方式

1.课程时间:
第一期9月8日开课;第二期10月27日开课。每期课程集中特训时间为4周,课程有效期为3个月,有效期内均可反复观看课程内容。

2.学习形式:
在线录播课程+全程强化训练+1对1导师批改作业点评辅助学习+5名助教带小组学习+微信班级群交流。

3.课程名额:
9月8日开班的第一期限额30人,第二期限额50人,第三期限额70人,之后平均每1.5个月开班一次,每次招生人数最多不超过100人。

5.如何报名:
我知道看到这里大家都已经按耐不住了,别急,关注微信公众号:一块链习社区,回复:以太坊即可获取报名信息。

目前第一期的报名通道已经全部开启,友情提示:这是一门精心设计、打磨的包含了超多技术细节的课程,为真正想学好智能合约开发的同学们“节省一些自己收集、学习相关知识点的时间”,通过理解 EVM 的运行机制、了解智能合约代码的可能漏洞和相关最佳实践、了解合约 gas 优化以及如何在合约中处理复杂的数据结构等等,从而成长为真正“合格的”智能合约开发者。

你可能感兴趣的:(全球最系统讲解以太坊开发实战都在这里了!)