大家好!我叫Josh Hannan,是Dapper实验室Flow团队的智能合约工程师。我叫Josh Hannan,是Dapper Labs的Flow团队的智能合约工程师。我从2017年初开始进入区块链领域,在以太坊项目上工作了几年,并于2019年9月开始在Flow团队工作。在Dapper Labs,我编写Cadence智能合约和文档,并帮助社区工作。
我将写一些简短(有时不那么简短)、每周(假设我在所有的截止日期前完成)的博文,介绍我目前在头脑中与Cadence智能合约有关的内容。我还会强调我在社区中遇到的有趣的项目,我甚至可能会让客座作者偶尔写一些文章。
我想过把这个系列称为 "Josh的每周节奏",但这个双关语在流媒体界已经完全被打入冷宫,不应该再被听到,所以我不会让你每周都受到这种影响。
Cadence是一种迷人的语言,我想尽我所能开始更多关于它的对话。
什么是流?
Flow是一个新的区块链,为下一代的应用程序、游戏和支持它们的数字资产而构建。Flow的独特架构允许它在不分片的情况下进行扩展,同时仍然提供每个人都期待的区块链的去中心化和安全性。
从哪里开始?
最近,人们对Flow产生了很多新的兴趣。也许大家都下了新年决心要学习Flow?也许在Elon Musk的Tweet™中提到了Flow?也许有一款建立在Flow上的NFT游戏人气暴涨,并带动了那些想为它和其他类似体验建立工具的开发者?不可能说得很清楚。😜
不管怎样,Flow社区有很多新人,也有很多人想了解Cadence。但并不总是很清楚从哪里开始,以及在你学会了基础知识之后该去哪里。
首先,如果你对区块链完全陌生,我强烈建议你在继续你的Cadence之旅之前,找到一个指南或在线课程,向你介绍分布式账本技术的基础知识(不在本文的范围之内)。
我还建议阅读Flow Primer,以建立对Flow区块链架构的基本了解。
流量入门:开放世界的区块链
Flow,开放世界的区块链Flow是一个快速、去中心化、对开发者友好的区块链,被设计为一个开放的世界。
www.onflow.org
第1步:Cadence介绍
Cadence简介很好地解释了Cadence背后的重要设计决策以及为什么它们很重要。在尝试学习这门语言之前,理解它是至关重要的。
我还推荐你看看Dapper实验室首席技术官Dete Shirley的这篇博文,他是Flow和Cadence的主要架构师之一,他只差一些备忘录和病毒性推文就能获得崇拜地位。他解释了为什么Cadence的编程模型,即面向资源的编程,是数字资产的理想模型。
还有一篇关于Flow和Cadence账户模式的博文要读,是来自Decentology的这篇文章。
那么,Flow上的账户与Ethereum上的账户有什么不同?
这篇博文是为学习Flow区块链的开发者而写的 向前看,我们会假设你有基本的...
www.decentology.com
他们很好地概述了Flow编程和账户模式的独特和特殊之处。
大约是时候休息了,对吗?不是吗?那就别让我拖累你了!
第2步:Cadence教程
接下来,你应该完成所有的Cadence教程,从 第一步开始,到表决合同结束。这些教程使用真实的合同来指导你一步步地完成Cadence的重要功能。
这些教程将帮助你熟悉 流动的游乐场,这是一个神奇的工具,可以在你的浏览器中快速编写和手动测试你的智能合约!
还有一个Visual Studio Code扩展,你可以安装它,以便在VSCode中拥有语法高亮和一个内置的Flow模拟器!很好,对吗?很整洁,对吗?
第3步:标准接口
正如你将在教程中了解到的那样,许多区块链项目使用可替换的代币、不可替换的代币,或者两者都使用,即使他们实际上并不需要。
这两种类型都有标准的接口,我们强烈建议你利用这些接口,以便与其他智能合约进行互操作。它们各自都在一个单独的Github仓库中。
可变通的代币标准
onflow/flow-ft
这是对可替换代币合约的Flow标准的描述。它旨在包含最低限度的...
github.com
不可伪造的代币标准
onflow/flow-nft
这是对Flow区块链上不可伪造的代币合约的工作进展标准的描述。它是...
github.com
这些将是你第一个实际部署在Flow Mainnet上并用于实际应用的智能合约的例子。
第4步:先进的Cadence主题
一旦你很好地掌握了基础知识,就可以潜心研究一些关于Cadence功能的更详细的解释。正式的语言参考是一个很好的资源,每个Cadence开发人员如果有时间都应该通读,文档网站上有推荐的Cadence设计模式和反模式,每个开发人员都应该注意,以维护清晰和安全的代码。
同样是第4步:真实干系人合同
在这一点上,我相信你已经完全被灌输到Cadence的崇拜中,并且迫不及待地想看看其他人用这种不可思议的编程语言建造了什么。
没有吗?你喝了一些那边的美味酷爱饮料吗?它是相当美味的。是的,你去吧。现在你明白了。
现在我们在同一起跑线上,这里有一些在测试网和/或主网上运行的Cadence智能合约的伟大例子。(我可能有点偏见,因为我帮助编写了其中一些。)
Flow核心合约。 这个版本包含了作为Flow核心协议一部分的智能合约和交易。它们强制执行Flow网络代币的行为、费用、赌注、纪元等等。
小猫项目。Flow和Cryptokitties团队最近把这个惊人的NFT游戏、市场和应用程序的例子放在一起,在完整的应用程序中使用了Cadence和Flow开发的最新前沿最佳实践,该应用程序正在testnet上运行!
NBA顶级投篮。 你可能听说过这个人。Top Shot及其市场自2020年6月以来一直在Flow Mainnet上运行,已经变得非常流行。免责声明:Top Shot合同是很久以前写的,因此使用了一些已经过时的Cadence设计模式,不建议用于大多数NFT项目的未来。Kitty Items项目是Cadence最佳实践的一个更好的例子。
总结
如果你走到了这一步,恭喜你!你现在应该有足够的工具来编写自己的智能合约。你现在应该有足够的工具和知识在Cadence中编写你自己的智能合约。
在这一过程中,整个Flow团队和社区都会为你提供支持。请不要犹豫,通过我们的Discord服务器、Flow论坛或通过Flow Github repo中的问题进行联系。
是否有任何其他资源或有趣的项目,你知道对新来者有用?欢迎在评论中提出你的想法,我可能会在未来的文章中加入这些想法!
Flow Discord:https://discord.gg/flow
Flow Github:https://github.com/onflow/flow
下周见!👋