收藏(0)

2018年的冬至,除了传统的吃饺子,作为开发者,我们还有什么特别的活动呢?

当然有啦!12月22日,中国专业IT社区CSDN在中关村创业大街为广大开发者带来了一场精彩绝伦的区块链实战开发Workshop,本次活动作为CSDN Blockchain Workshop第一期,以“零基础实战智能合约开发”为主题,邀请北京大学软件与微电子学院讲师孙惠平、bCamp区块链技术合伙人加速营发起人王亮、NULS发起人&技术研究院与技术社区负责人张星共同就智能合约的发展与挑战、区块链开发者的思考、智能合约实战开发等话题为大家带来精彩分享。

同时张星还为大家实战演练了如何在底层公链上开发一个自己的智能合约,并指导现场观众进行学习和操作,孙惠平老师与王亮老师全程为大家耐心指导,答疑解惑。

所谓冬至白昼最短,而一下午的时间对于所有人来说尤其珍贵!活动不到下午1点就有大批学员纷纷提前到场,给北方寒冷的冬季增添了分外的暖意,由于本系列Workshop有一定技术门槛,前期招募过程中会经过初步筛选,但也拦不住热爱技术、热爱学习的小伙伴报名前来,不大的场地很快就被挤得满满当当。

通过一下午的学习,在场学员基本掌握了智能合约的环境搭建、部署、开发等流程与要点。活动结束后,我们抽取了5位幸运学员赢得了额外的小福利,还为每位完成作品的小伙伴颁发了带签名与学时的结业证书,让大家一步一个脚印,激励你一路前行!

下面,一起来回顾本期活动都有哪些精彩内容吧?

王亮:区块链开发者,多学科交叉能力典范

 

作为今天分享的第一位嘉宾,bCamp区块链技术合伙人加速营发起人王亮,从正在被区块链改变的项目分析入手,分析一个有价值的区块链项目的相关特质,得出任何一个要具备长期价值的项目的几个必要特质:一,项目必须是建立在发现痛点的基础上,并且这个痛点要与区块链的特性有较强关联,即应用区块链能够从某种程度上成为解决问题的关键环节;二,区块链的应用,应该对原有业务场景做降低成本或增加价值的改变,而且这个改变应该是较大的,而不是微小的;三,项目的应用要适合当前生产、生活场景,应该有着数量较多、角色多样的潜在人群,而不能是虚构的、假设的,不能是极少量人群或极简单角色。

另外,王亮表示,区块链还处于发展的幼年期,如何从小众技术极客或是开发者的自嗨,稍广些的币圈人士的击鼓传花,发展到真正创造价值、改造世界,脱虚务实、找到合理的应用落地是其必经之路。

在此次演讲中,作为十二年信息技术及信息安全咨询培训老兵的王亮,更多地站在开发者的角度,为广大想了解区块链技术、想转型区块链开发的观众(或小白)给出了客观的分析与建议。情怀真挚,建议中肯。

孙惠平:智能合约的发展与挑战

第二位分析的嘉宾是北京大学软件与微电子学院信息安全系讲师孙惠平老师,孙老师研究方向为区块链、智能风控、信息安全,并于2018年2月开始在北京大学为研究生开设“区块链”课程,他也是早批在高校进行区块链技术授课的老师。此次Workshop也是非常荣幸地能请到孙惠平老师来为大家做精彩的分享和技术指导。

孙老师首先为大家介绍了智能合约的概念、结构、发展等基本内容,并通过形象的比喻让大家更好地理解吸收。其次,孙老师讲解了智能合约与区块链的关系,从参与方认证、合约协商、状态设定、编码合约、合约发布、合约上链、合约执行、合约更新等角度进行了详细分析。

关于智能合约有哪些优点,孙老师从安全、确定、监管、经济、效率、标准6个角度进行了详解。他提到,传统合约需要大量文书、严重依赖第三方来执行,而且执行不力的话需要仲裁机构与司法机构介入,效率和安全性都相对低下。而智能合约则完全颠覆了传统的合约运作形式,它实现了完全数字化,且可以自动执行、代码定于规则。

孙老师介绍道,智能合约通常需要以下执行步骤:首先由交易各方确定合约条款,再通过编码将合约编写成代码,并将合约代码存储在区块链上,最后合约条款满足时智能合约自动执行。

最后,孙老师还分享了智能合约在自动保险、国际贸易、供应链管理的应用案例,并分析了其面临的操作风险、技术风险、安全、监管四个方面的挑战。

重头戏:一起撸码,实践开发

张星,如何用Java开发智能合约

最后一位分享及实战指导嘉宾是NULS发起人&技术研究院与技术社区负责人张星,他通过2个小时的讲解+指导开发,现场带大家从零开始,了解并掌握智能合约环境搭建、部署、开发等重要环节,还与大家分享了智能合约的开发陷阱与技巧。

首先,张星跟大家讲解了智能合约的基本知识,让大家在实际开发之前做好知识的铺垫,他详细介绍了智能合约的意义,开发所需完备的测试环境及文档以及智能合约的结构。

关于智能合约的创建流程,张星解释道,要创建智能合约,需要经过编写智能合约,编译成字节码,部署到区块链等过程,调用智能合约则是发起一笔指向智能合约地址的交易,智能合约代码分布式地运行在网络中每个节点的虚拟机中。开发者可以通过任何节点向区块链部署、调用智能合约,更常见的做法是自己部署一个节点。

其次,张星还为现场学员介绍了SDK的关键字、禁用关键字、类、注解等知识点,并分析了智能合约常见误区与风险。他提到,类型溢出是很严重的问题和容易犯的错误,并提醒大家在开发过程中一定要对“溢出”产生敬畏,同时,可控随机数也是较容易产生错误之处。

关于重入攻击,张星介绍了以太坊上循环调用的经典案例,在给智能合约转账的时候会触发智能合约的fallback函数,若收款的智能合约在fallback函数中再次调用对方的withdraw函数的话,那将会产生一个循环调用。另外,还有不可控状态(同一个区块调用相同合约的两个交易顺序不可预测)、遍历、递归等问题。

在讲解基础知识之后,张星来到台下,跟学员互动交流起来,并指导现场开发有疑问的同学。在经过数小时的实操之后,大约30位学员完成了自己的智能合约开发,让三位讲师,特别是张星老师格外欣喜和满足,总算无愧于近日熬夜加班为大家准备了!

原谅小编匮乏的语言无法形容活动的精彩!

接下来,简单粗暴些,让我们看看第一期workshop的精彩花絮吧!

大咖对话,现场讨论

严阵以待,实战开发

聚精会神,干货满满

 小哥哥coding的背影很帅

难得一枚程序媛

大咖手把手指导证书签名中……

证书签名中……

发表下获奖感言呗……

证书,我也有!

大家辛苦啦!耶! 

仅一条评论

请输入你的评论!
请在这里输入您的名字