Josh Hannan是为Dapper Labs的Flow生态系统做出贡献的高级智能合约工程师,他在这里分享他对Cadence的资源导向编程语言的丰富知识。他从2017年初开始进入区块链领域,在加入Flow之前,他花时间在以太坊项目上工作。他的工作重点是编写Cadence智能合约和文档,以及帮助Flow生态系统内的社区工作。在许多其他项目中,他是NBA Top Shot智能合约的作者。
Josh对智能合约和Cadence非常有热情,所以他建立了自己的博客,在那里他深入研究了各种与Cadence相关的话题,使其成为社区中最好的资源之一。这是一个了不起的知识财富,我们想确保每个人都有机会看看。
Cadence是一种迷人的语言,我们希望Josh的这些帖子能让你对它有和我们一样的感觉!我们会在他发表的其他章节中更新这个帖子。我们会在他发布的其他章节中更新这个帖子,使之成为满足你对Cadence需求的一个伟大的一站式商店。
使用Cadence迈出第一步
什么是Flow,如何开始使用Cadence,学习这种资源型编程语言的人应该从哪里开始他们的旅程?Josh分享了一系列令人惊奇的有用的地方,每个第一次浸泡在其中的人都应该去看看。
Cadence中的基本访问控制
访问控制是将字段、函数和类型限制在某些范围和用户内。对于开发者来说,这是一个极其重要的工具,需要深入考虑,以确保他们的代码受到保护,不存在潜在的漏洞。每个开发者在考虑在mainnet上部署他们的项目之前,都应该对Cadence访问控制有一个全面的了解,而Josh在这里就是为了确保这一点。
凯登斯杯的回顾
还没有听说过Cadence杯吗?这只是我们与Flow社区接触的方式之一,并挑战开发者推动Cadence的边界。Josh回顾并强调了一些分享的有趣项目,这可以成为了解在Flow上构建的可能性的重要资源。
自从我写了《NBA顶级投篮》的智能合约后,一年来我学到了什么?
Top Shot是一个大型项目,有许多移动部件,但时刻所有权和价值转移的记录由Flow区块链上的几个智能合约处理,Josh负责编写。他回顾了该项目是如何创建的,他从那时起学到了什么,以及他今天会采取什么不同的方式。
在Flow区块链上创建一个代币?不要忘记这个重要的部分!
Josh深入探讨了每个代币合约中最关键的部分之一,你不能忘记。确保这 一行在主网上的每个智能合约中都有。如果没有,你应该立即更新它,或者联系开发商来做。
我如何组织我的Cadence项目
保持你的代码清晰和有条理是非常重要的,特别是对于智能合约代码。这包括你命名字段和函数的方式,你如何组织合同或交易中的定义和结构,以及代码的文档化程度。乔希分享了他对如何在Github资源库中最好地组织项目文件的想法。
Cadence中的选项?不是可选的!
Cadence中的选项是一种安全的,尽管有些复杂的使用变量的方式。选项表示 "有一个值,它是x "或者 "根本就没有一个值"。因此,值要么已经被设置,要么,更重要的是,没有被设置。它们是许多语言的一个重要特征,学会正确使用它们对于编写干净和安全的代码非常重要。
Cadence中的访问控制和msg.sender
每个Solidity用户在开始用Cadence编程时都会问一个问题:"我如何检查msg.sender?"在以太坊上,检查msg.sender是用来识别调用一个函数的账户,并适当地修改该函数的行为。Cadence没有msg.sender,但这有一个非常具体的原因!