开发者活动 | 武汉 Substrate 研修班三日回顾
12月10日~12月13日,Phala的团队尹航、王喆与 Crust CTO 范子琨、Litentry 开发者吴逸飞、一块+社区雅珣、Substrate开发者郭斌、龙京奇一道前往武汉,与华中科技大学软件学院、华中科技大学教育与培训学院、湖北省运筹学会数据科学与大数据专委会合作举办了武汉市首届区块链技术(高级)研修班(以下简称研修班)。
此次课程主要围绕区块链技术基本原理与Substrate区块链开发展开。Substrate是2018年以太坊联合创始人Gavin Wood带领的区块链开发团队Parity创立并开发的区块链框架。它也是当前区块链领域最新、最前沿、最易用、支持者最多的区块链框架之一。基于Substrate框架的区块链实现了轻松的区块链构建和跨链操作。Substrate框架将一条区块链系统所必需的一切模块都封装在一起,集成了libp2p、WASM等最前沿的技术,让区块链开发从此变得简单。
在这短短几日内,我们传授了许多实用而有趣的课题,一起来看看吧 👇
Part 1:区块链简史及应用场景
开篇伊始,Phala 联合创始人COO 王喆对区块链发展沿革做了简要介绍。他在课上为学员科普了区块链的特点、分类、以及当下已经与产业相结合的区块链技术应用场景,如供应链金融、农业溯源、保险、医疗数据保密共享、区块链公章、DCEP等等。课上他希望每一个加入这个行业、或想要学习相关技术的爱好者、开发者认识到,技术为本,技术先行。
区块链从以比特币为代表的1.0时代到以以太坊为代表的2.0时代完成了从单一的资产转移到可编程计算的升级。然而以Substrate技术为首的新一代区块链技术使得区块链开发及链上数据交互变得无比简单。 —— 王喆
Part 2:区块链入门
在第二部分,中国最大区块链开发者社区一块+创始人雅珣为大家做了区块链概念的整体介绍。她简要介绍了区块链开发的行业现状和背景、区块链开发的趋势和做区块链开发必要的能力素养等。
开发者基本能力要求:
1)了解区块链的特点和所尝试解决的问题;
2)熟悉区块链的核心功能组件;
3)掌握典型的去中心应用的开发模式;
4)将不同的技术与区块链结合解决现实存在的问题等。
—— 雅珣
Part 3:Rust语言入门进阶
在第三部分,波卡中国大使、Substrate线上课程大使、北京航空航天大学区块链硕士郭斌对 Rust 和宏语言进行了简要介绍。
首先,他介绍了发生在区块链历史上著名以太坊攻击事件:黑客调用extcodesize指令,对单个区块发起50000次攻击,基于Rust的Parity客户端顶住压力仍然正常提供服务,从此一战成名,Rust获得区块链领域的大量关注;
另外,他围绕Rust语言在Substrate中的应用,从Rust语言数据类型与流程控制、类型系统与所有权机制、RustSubstrate宏设计模式等方面进行了详细的讲解。特别介绍了:
了解Rust语言历史、特性与编译工序;
熟悉Substrate常用数据类型与设计模式;
理解Rust类型系统与所有权的工作原理;
掌握利用Substrate开发框架实战开发的基础能力。
Rust与区块链的结合是一次非常美妙的体验,不仅在于Rust能让我们放心编写复杂、高性能的软件,更在于写起来有趣、易于阅读、零成本抽象。区块链发展史是一部与黑客的斗争史,我们有理由相信这只“小螃蟹”能让区块链行业更加欣欣向荣! —— 郭斌
Part 4:Substrate 开发入门及隐私计算
在第四部分,Substrate 生态的优秀开发者尹航和范子琨结合自身的项目开发经验,为大家具体讲述了开发过程中应该注意和思考的难点。
Crust CTO 范子琨从Rust、Wasm到Node-template、polkadot.js一步一步详解了在Substrate上发链的过程。此次分享中,他围绕「Substrate 进阶应用开发」为课题,从 Polkadot-JS App 的详细介绍和安装、常用功能讲解、利用 Substrate 搭建区块链以及其在分布式存储的应用等方面进行了详细的讲解。让同学们通过此次课程,了解到区块链的基本组件与构成、Substrate的基本知识、Polkadot Host原理(Substrate底层原理),通过 Substrate 搭建自己的链,理解并使用 Polkadot-js/apps 以及关于分布式存储和 Crust Network。
去中⼼化存储⽹络(Decentralized Storage Network, DSN) 是⼀种通 过分布式存储技术将⽂件或⽂件集分⽚存储在供应⽅提供的存储空间上的存储商业模式。技术上讲,⽐较类似BT,通过DHT构造的内容寻址⽹络能够保证任何在⽹络中申明过的资源,都能被查找和访问到。⽽Crust Network是通过激励让个⼈提供存储资源,通过去中⼼化的⽅式构造⼀个分散的、边缘侧的存储⽹络。 —— 范子琨
Phala 联合创始人首席开发尹航则为大家科普了区块链保密技术和隐私相关的知识。他以Phala保密智能合约为例,讲解了区块链保密技术的原理、实现方式和玩法。同时,他表示,TEE保密技术与Web2技术底层如谷歌云相结合的话,安全性、可拓展性、可用性非常高,应用前景会非常广。这方面Phala公众号已经有充足的视频资料,在此不再赘述。
尹航讲义链接:https://docs.google.com/presentation/d/1RbSAS55UE8clOhV0cEOGvb5tcCzjf2w85NLsiE5U0xE/edit?usp=sharing
Part 5:两个Workshop
Polkadot技术大使、Litentry社区开发吴逸飞以”用Offchain worker获取以太坊数据“向大家解释了如何进行链上链下数据的交互。首先他介绍了链下工作者(off-chain worker)的基本概念,以及substrate中的off-chain worker的优势。然后讲解了off-chain worker中会用到的一些基础知识,包括依赖,签名种类和基本结构等。最后带着大家一起动手coding和debug,实现了一个用off-chain worker获取以太坊账户余额的功能。学员完成以下任务,即可过关。
通过substrate关联以太坊账号
用Off-chain worker做http请求
解析http请求产生的结果
来自Phala的Substrate开发者龙京奇以加密猫NFT盲盒向大家具体演示了Rust和Substrate实战案例——Substrate Kitties。加密猫(CryptoKitties)是早年在以太坊上盛极一时的NFT游戏,一只稀有加密可卖出十万美金。龙京奇在现场传授了如何结合Phala保密智能合约构建Substrate版的加密猫,且自带【盲盒NFT】这种前所未有的玩法。与其前身不同,盲盒NFT加密猫在用户进行【拆开】操作之前内容不可见,从而大幅增加了NFT玩法的趣味性、拓展了NFT的可能性。学员完成以下任务,即可过关。
构建一个最基础的盲盒
提醒用户某盲盒已经被拆开过的后端输出
在链上设置NFT价格且确保只有NFT所有者才能更改价格
从全新接触到实战开发,相信这干货满满的三天无论是对于爱好者还是开发者都是弥足珍贵的收获。Phala 也将持续在更多的开发者活动中普及Substrate和Phala,帮助更多开发者实现更多玩法和应用。
About Phala
Phala Network 是 Polkadot 上的隐私计算平行链,基于类pow 的经济激励模式,Phala 将构建出一个由全球数十万矿工组成的分布式隐私计算云,进而作为波卡平行链、辐射所有区块链生态的Defi、数据服务等其他应用。基于 Phala 的应用 pLibra 和 Web3 Analytics 已经获得两次 web3 基金会 grant 。Substrate Builders Program 首批成员。Linux基金会成员。隐私计算联盟(CCC)成员。