如今成为一名智能合约开发者成了一种非常具有吸引力的职业选择,从有机会使用为世界带来变革性影响的技术到人才市场对智能合约开发者的巨大需求等多种因素导致这样的结果。

另外,智能合约开发技能正变得越来越重要。在20世纪90年代,工程师们从封闭的大型机世界转向了互联网的开放数据库。现在随着智能合约的出现,相似的转变正在发生。正如当年的开发者转向与未来更相关的技术栈,如今的开发者们也正在转向Web 3.0技术栈。

有志向的智能合约开发者们一定有很多关于如何实现这种转变的问题:什么是Web 3.0开发者技术栈?应该学习哪些编程语言?哪些技能是必须的,以及如何学习它们?下面,你会找到关于这些问题和更多问题的答案,它们会帮助你进入智能合约开发的世界。
区块链语言

区块链智能合约的主要语言是Solidity,Vyper是其主要竞争对手。与Python这种解释型语言不同,Solidity是静态(变量类型是声明的)编译型语言,也就是说你需要在运行前生成二进制文件。Solidity是由Gavin Wood在2014年开发的用于解决以太坊面临的独特问题的语言,现在它是所有以太坊虚拟机(EVM)兼容链的默认开发语言。这也意味着无论是在以太坊,Avalanche,Polygon,BSC还是其他的EVM链上开发,你只需要搞清楚Solidity相关开发即可。但是,也有一些公链并未采用EVM,用的是其他语言开发。Solana就是这样的例子,它不用Solidity,而是采用了之前就存在的编程语言Rust和C/C++。

那么,怎样选择一门区块链编程语言呢?有很多考虑因素,且没有标准答案。以太坊目前拥有最多的dApp,且拥有最多的流动性。以太坊的历史赋予了它可靠性的声誉。假如速度和低成本不是你的主要考量,并且你有生态系统的需求(比如,你想要与之交互的dApp仅在以太坊上),那么以太坊是很好的选择。

你也可以在如Arbitrum等扩容方案(L2)上部署合约,它们也是EVM兼容的,但是它们会将交易“卷起/汇总”到压缩包中,因此交易吞吐量会更高,也意味着成本更低、速度更快。至于其他的EVM链,每种都有某种形式的对以太坊的扩容改进。BSC使用更大的交易区块,Polygon是一种为扩容而牺牲一定的去中心化的侧链,Avalanche使用了新的共识算法来改进交易速度和成本。

本篇文章我们将关注采用Solidity开发的EVM链,这也是最常见的选择。

技术能力

有C/C++这类编译型的相对底层的后端语言背景的开发者,学习Solidity编程要容易很多。有web开发背景或者有JavaScript和Python经验的开发者则需要适应一下Solidity的开发模式。你可能会发现自己在对变量进行位操作。但是,全栈的区块链程序员需要同时具备这两种技能。因为大多数与Solidity智能合约交互是通过 web3.js,ethers.js和web3.py这些库来实现的。好的开发者可以处理智能合约后端或者JS/Python前端,但是优秀的开发者能够处理全栈。另外,OpenZeppelin合约库也是一个很好的依赖库,因为它能为开发者省去编写一些普通合约的麻烦,比如通证合约等。

可能需要培养的最关键的技能是安全。因为你所编写的智能合约未来可能要处理数十亿美元的价值,所以最重要的是合约没有漏洞。在智能合约中考虑重入攻击等漏洞很重要。另外,因为智能合约常常会调用其他智能合约功能,其他合约功能可能会中断你得智能合约的流程。这正是著名的价值7000万美元的ETH DAO被攻击的原因。对智能合约开发者来说,考虑安全性是至关重要的。

那么合约的开发流程是怎样的呢?是否有工具和IDE可以帮助我们呢?当然,流行的IDE是Remix,这是一种基于网页的IDE,能够帮助编译合约并将其部署到你选择的链上。此外,Truffle和Brownie也是能辅助开发的框架。要详细了解从头到尾的流程,包括如何使用这些框架,我们强烈建议你查看来自Chainlink Labs的Patrick Collins通过freeCodeCamp提供的智能合约课程:Solidity、区块链和智能合约课程 – 初学者到专家的Python开发教程。

复习一下,下面是成为智能合约开发者应该熟悉的一些语言、库和工具:
• Solidity
• JavaScript
• Python
• web3.js/web3.py
• ethers.js
• Truffle
• Brownie
• Remix

社区

社区在智能合约领域中极为重要。这个领域中创新层出不穷,很难凭借个人跟上进展。这也是为什么最优秀的开发者们会积极在Twitter上建立联系,加入黑客松认识其他的开发者和潜在的投资人或者雇主,在Gitcoin上选择赏金项目以帮助开源项目的开发,参与诸如Smart Contract Research这种具有深度信息的论坛,并在Discord上聊天以及帮助他人等。

黑客松是培养智能合约技能的好地方。在黑客松中,你可以边做边学,并在开发过程中实时磨练自己的才能,同时业内受人尊敬的成员们也会帮助指导你——甚至可能成为你项目的合作者!Chainlink 2021年秋季黑客松正是这样一个开始创作智能合约的好地方。本次黑客松提供55万美元的总奖池,并有业界领先的专家和风投出席,同时有数千名开发者参与,这对于智能合约开发者来说是对职业生涯的极大的促进。另外,Chainlink Discord也是很棒的资源,开发者布道者们和热情的社区成员们积极会帮助你入门。

去哪里学习

有大量资源可用于支持你的学习,从黑客松到博客,再到Discord和YouTube频道等等。我们选择了以下八种资源,这些资源为那些希望成为智能合约开发者的人提供了绝佳的资源组合,然后后面是每个资源领域的顶级资源介绍。

  1. Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial
  2. CryptoZombies
  3. ChainShot
  4. Chainlink YouTube
  5. Chainlink Blog
  6. Chainlink Discord
  7. Ethereum.org
  8. ConsenSys Bootcamp

YouTube
如果你是一名视觉学习者,并且更喜欢有人指导你完成教程而不是单独学习,那么YouTube是很好的资源。这些YouTuber都为学习智能合约开发的人提供了优秀的材料,并提供了详细的教程供你学习。

  1. Dapp University
  2. Ivan on Tech
  3. Eat the Blocks
  4. Patrick Collins
  5. Austin Griffith
  6. Nader Dabit

社区
在智能合约领域,参与社区活动是至关重要。向那些更有经验的人学习,交朋友,帮助别人,而别人也会反过来帮助你。Discord和Reddit社区是一个强大的资源,可以获得实时帮助,并与其他志同道合的开发者扩大你的社交圈。这里有一些空间将帮助你在智能合约开发的旅程中前进。

  1. Chainlink Discord
  2. Hardhat Discord
  3. ConsenSys Discord
  4. Brownie Discord
  5. Ethereum Discord
  6. Reddit ethdev

黑客松
黑客松是加速你的开发者之旅的一种令人兴奋的方式。突破你的极限,在新技术的最前沿进行开发,而知名的社区领袖会在那里提供建议,投资者也在寻找下一个大项目–这可能就是你的项目。Chainlink黑客松是一个很好的开始,它提供了大量的资源、研讨会、奖品和交流机会。

  1. Chainlink Hackathon
  2. ETH Global
  3. ETH India

迈出你的智能合约之旅的第一步

成为智能合约开发者的道路有很多。我们已经列出了一些选择,但这取决于你如何选择最适合你的。最重要的是,你要开始行动,创作一些有趣的东西,开始探索,并开始提出问题–其他的将随之而来。无论你是后端开发者、网页开发者,还是刚开始从事开发工作的人,都有一条通向成功的道路,而且有很多人乐意帮助你。因此,迈出第一步:加入Discord,阅读教程,参加黑客松,并开始构建令人兴奋的未来,即Web 3.0。

当涉及到构建安全、功能丰富的dApp时,Chainlink成熟的预言机基础设施为开发者开启了无数的可能性。想了解更多关于Chainlink的信息,请访问chain.link,订阅Chainlink新闻通讯,并在Twitter上关注@chainlink。要了解Chainlink网络的全部愿景,请阅读Chainlink 2.0白皮书。

如何成为智能合约开发者相关推荐

  1. 如何使用ENS和Chainlink Data Feeds简化智能合约开发者体验

    以太坊域名服务或者ENS能为区块链地址提供人类可读的名称,能为以太坊用户和开发者提供简化的体验.用户可以通过清晰易读的地址与智能合约进行交互,而无需使用可能会造成混淆并导致错误的长字符串哈希. Cha ...

  2. Web3与智能合约交互实战

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. Web3与智能合约交互实战 以太坊中智能合约和web3交互实战 最近区块链.以太坊十分的火,所有就会有许多人去进入区块链 ...

  3. 概念炒作的背后,“智能合约”的真相是什么?

    来源:36Kr 就像"区块链","AI"和"云"一样,"智能合约"也是如今收到热捧的新概念. 试想一下,有什么能比相确信 ...

  4. 区块链100讲:智能合约审计指南

    智能合约代码的审计,目前还不是技术社区内经常会讨论的主题.今年3月6日,发表在博客网站[Schneier on Security]上的一篇博客(原文链接:[https://www.schneier.c ...

  5. 智能合约的48个应用场景介绍

    合约的基本功能是通过价值交换约定各方责任.由于DLT(分布式账簿)技术的出现,智能合约让合约的编写和执行变得更加高效且自动化. 然而,如今的智能合约还存在诸多缺陷,因为它们无法与真实世界联通.预言机是 ...

  6. 小心!智能合约再爆高危漏洞,两大加密货币直接变废纸!

    小心!智能合约再爆高危漏洞,两大加密货币直接变废纸! 大家都还记得,前一段时间发生的BEC智能合约的安全漏洞问题.近日,智能合约安全问题再次上演,火币Pro发布公告,暂停EDU冲提币业务,随后EDU智 ...

  7. 部署NEP-5智能合约 (第1部分)

    2019独角兽企业重金招聘Python工程师标准>>> 如果您还没搭建私有网络,请参考之前的文章先行搭建. Photo by Markus Spiske on Unsplash 开始 ...

  8. FISCO BCOS迎来开源智能合约编程语言Liquid

    编者荐语: 以下文章来源于微众银行区块链 关注公众号:微众银行区块链,并回复 [Liquid]获取全文高清PDF 面对多样复杂应用场景的全新挑战,适用FISCO BCOS的智能合约语言Liquid提出 ...

  9. 智能合约未来发展方向

    智能合约未来发展方向 除了加密货币,智能合约可能是区块链中被谈论最多的概念. 许多文章都在大肆宣扬智能合约的好处,声称这项技术将颠覆从保险到供应链再到医疗保健的所有行业. 但是,智能合约真的像它们所呈 ...

最新文章

  1. html背景音乐demo,music.html
  2. c语言字符串数组的合并,C语言实现合并字符串
  3. SQL语言之DML语言学习(一) 数据插入与修改操作语言
  4. 理解Python中的类对象、实例对象、属性、方法
  5. node.js Stream Buffer FsPromise
  6. Spring JPA数据+休眠+ MySQL + Maven
  7. java内部格式_详解java内部类的访问格式和规则
  8. 如何利用火狐获取网址中的提交链接
  9. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构区别...
  10. php脚本超时 结束执行代码
  11. RBF、GRNN和PNN神经网络的深入浅出
  12. Spring boot Scheduled 配置
  13. C语言课后习题(55)
  14. 软件工程毕业设计题目推荐50例
  15. EasyCVR平台通过国标GB28181接入柯达NVR显示注册失败,该如何解决?
  16. 搭建Cobbler无人值守安装服务器
  17. NYOJ - 独木舟上的旅行
  18. OpenSSL BIO源码简析
  19. c语言程序设计 doc,C语言程序设计61844.doc
  20. DTX-1800精度恢复,调教之路?

热门文章

  1. 算法15_笔试_数字逻辑推理题1
  2. ruby中gruff画图的简单例子
  3. java、计算机进制转换,二进制 十进制 十六进制 的进制等等!
  4. [HBNIS2018]excel破解1
  5. Android模糊搜索框实现
  6. 如何在 Mac 中运行 Office 办公软件?
  7. 软考 中级软件设计师 备考资料(2019年上半年)
  8. javascript – 从页面停用浏览器打印选项(页眉,页脚,页边距)?
  9. Latex 表格内容自动换行居中
  10. 从顶会层面看科研!计算机顶级会议大盘点(下)