通过学习Solidity和开发堆栈,就可以同时精通多个区块链。从以太坊,到Polygon, Binance Smart Chain, Avalanche等等,Solidity涵盖了所有这些。这个路线图是一项长期投资,不是我们在一天内可以完成的事情。但是按照这里介绍的方法,我们将学习所有的基础知识,包括先进的概念。
通过学习Solidity和开发堆栈,就可以同时精通多个区块链。从以太坊,到Polygon, Binance Smart Chain, Avalanche等等,Solidity涵盖了所有这些。
这个路线图是一项长期投资,不是我们在一天内可以完成的事情。但是按照这里介绍的方法,我们将学习所有的基础知识,包括先进的概念。
废话少说,直奔主题。
S50: Introduction to Computer Science
根据目前自己的技能水平,可能首先需要对CS进行全面了解。
哈佛提供免费的CS50,这需要花费一段时间,但值得。基础至关重要,特别是因为稍后将学习的许多高级概念建立在它们的基础上。
JavaScript是以太坊生态系统中许多工具的基础。在学习Solidity之前,我们应该对JavaScript有一定的了解。
至少需要在这里学习JavaScript课程。这也将花费相当长的时间,但是了解JavaScript也会帮助以后学习Solidity。
区块链的核心是公钥加密。我们应该了解它是什么,它是如何工作的,以及为什么以后要做的事情是有意义的。
这个视频是一个很好的介绍。别忘了做些笔记。
Cryptography Digital signatures
使用密码学,需要开始签名消息和验证身份。区块链经常使用它。没有签名消息,就没有安全交易。
例如,本文将使我们更好地了解交易是如何启动的,以及为什么这样做是安全的。
What is Hashing on the Blockchain?
哈希是区块链使用的一个核心概念。作为一名智能合约开发者,我们可能也会经常使用它。
本视频很好地介绍了哈希算法及其在区块链中的应用。像以前一样,记笔记。
Blockchain Definition: What You Need To Know
现在知道了密码学实际上是关于什么的,是时候了解更多关于区块链的一般知识了。区块链将是我们工作的地方,所以我们最好清楚我们将使用什么。
How does Ethereum work, anyway?
了解以太坊是非常有必要的,主要是因为需要努力在未来能够使用类似以太坊的区块链进行编码。读完本文时,我们就将对以太坊有一个大致的了解。
这是最后一个理论材料了。当完成这些之后,就将能够再次进入代码。这一次,我们将使用 Solidity。
The Hitchhiker’s Guide to Smart Contracts in Ethereum
是时候将我们的脚趾浸入 Solidity 的水域了。虽然这个指南已经有点老了,但这个指南指引我们最终完成我们的第一个智能合约。
Solidity对我们来说可能是新的,所以最好是真正地消化学习材料。
CryptoZombies是一款游戏,但它教会我们Solidity。在本教程中,我们将编写更高级的逻辑并熟悉该语言。
Time-locked Wallets: An Introduction to Ethereum Smart Contracts
是时候进行更多练习了。本教程将引导我们创建一个完整的dApp,包括我们自己的ERC 20代币。
以本课程为契机,更深入地学习 Solidity 并应用以前学到的知识。实践就是一切,因此在 Solidity 中编写代码的所有机会都是宝贵的。
Ultimate Introduction to Ethereum Ðapp Development
这是一个关于dApp开发的系列视频。专注于智能合约,我们将获得更有价值的Solidity实践。
Ethernaut是另一款教我们Solidity的游戏。这篇文章主要关注安全性,这是一个对智能合约开发者非常重要的话题。
安全性实际上是目前智能合约开发中最大的问题之一,这也是为什么我们应该非常密切地关注这个问题并做很多笔记的原因。行业喜欢那些知道自己在做什么的开发人员,他们也会高度重视在智能合约安全方面有经验的人。
我们编写的每一行代码都会对用户产生影响。他们支付 gas 调用我们的智能合约的功能。所以是时候了解gas是什么、为什么和如何产生的了。
我们现在又有了一些理论,而且是一个非常重要的理论。理解gas的概念,可以帮助我们更高地评价好的代码设计,并且它有希望在我们编写Solidity时触发不同的思维过程。
我们不能在区块链上做所有的事情。所以是时候学习Oracle了,这是智能合约与外部世界沟通的一种方式。
Oracle是一个先进的概念,每个Solidity开发者都应该理解。了解Oracle是一个相当大的优势。我们以后要做的项目将或多或少地与他们接触。
每个智能合约都有一个ABI。当有人想要使用我们的合约时,他们需要知道ABI,我们也应该知道我们在那里实际创建了什么。
在我们已经构建了相当多的合约之后,现在是时候了解我们实际创建的内容了。ABI是区块链客户端使用的核心。没有ABI,就没有客户能够调用链上的合约。
Keccak是Solidity开发人员的重要哈希算法。我们会经常使用它,所以我们最好知道我们在使用什么。
是时候选择我们要使用的堆栈了。
推荐的开发环境是:Hardhat。
仔细阅读文档,了解关于这个以太坊开发环境的更多信息。现在我们可能已经明白为什么一开始必须学习JavaScript。Hardhat和其他许多Solidity工具一样,是用JavaScript实现的。
测试是至关重要的,特别是对于智能合约。
我的建议:Waffle。
Waffle是驱动测试的引擎。它使我们能够编写JavaScript并作为客户端测试智能合约。
除了Waffle,我们还需要一个客户端库来调用我们的合约。
我的建议:ethers.js。
ethers是一个缓慢完成堆栈的库。
OpenZeppelin提供了许多已经实现的有用的标准。
许多专业项目都经常使用OpenZeppelin。
Ethereum Improvement Proposals
以太坊已经定义了许多标准,尤其是在代币方面。标准化的A(B/P)Is是使生态系统正常工作的关键。把它们都浏览一遍,学习最重要的几个,比如ERC20, ERC721等等。
既然我们可以在不使用浏览器的情况下自由构建内容,那么现在就可以在此过程中构建和学习重要的Solidity模式了。
模式可以应用于某些地方,并帮助我们以可识别和可维护的方式实现特定的目标。这是在我们扩展到创建自己的项目和使用自己的想象力之前,我们应该真正了解的最后一件事。
Source:https://medium.com/@oliverjumpertz/the-ultimate-smart-contract-developer-roadmap-edbedeff8aac
ChinaDeFi - ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。
Layer 2道友 - 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!