Web3开发工具大全之一:语言、框架与IDE
据报道,区块链开发是增长最快的行业之一。随着链上项目(DeFi、NFT、DAO)的爆炸式增长,对区块链开发者的需求也急剧上升。
当你已经在区块链上构建,或计划创建一个精彩的区块链应用时,这里有一个全面的指南,介绍一些创建区块链应用程序的最佳工具。
编程语言
为了开发区块链应用程序,你需要学习(至少)一种编程语言。这些语言允许你创建智能合约代码,作为你的应用程序的后端功能。
Solidity
目前,Solidity是最流行的区块链开发语言。Solidity是一种高阶的、面向对象的语言,它借用了其他语言的一些元素,特别是C++。(注:其实Solidity语法更像Javascript,有JS基础的同学很容易上手)。
许多开发者喜欢学习Solidity,因为以太坊使用Solidity来编写智能合约。除此之外,Solidity是图灵完备的(Turing-complete),允许你创建具有丰富功能的复杂应用程序。
(Web3地图 译注:图灵完备的通俗理解,就是用别的语言能实现的功能Solidity都能实现。以后不要再问XX功能Web3里能不能实现了,去看看Web2有没有相应的实现就知道了)。
学习Solidity是开始你作为区块链开发者旅程的一个好方法。Solidity的普及意味着你可以轻易获得有用的教程、指南和文档,这些都是为初学者设计的。
Solidity程序可以在以太坊之外的其他区块链上运行,只要它们与Ethereum虚拟机(EVM)兼容。这意味着您可以在兼容EVM的区块链上快速部署项目,如 BSC、Avalanche、Polygon、Matic Network等。
Vyper
Solidity不是创建智能合约的唯一语言。一个流行的替代方案是Vyper——一种基于Python且与EVM兼容的语言。
虽然Vyper没有Solidity那么多的功能和知名度,但对于熟悉Python的开发者来说,它可以说是理想的选择。此外,Vyper的简单架构减少了软件错误,并简化了智能合约的审计工作。
(Web3地图 注:著名的 Curve 协议的核心代码就是使用Vyper语言编写)
Rust
Rust是一种较新的编程语言,在区块链开发社区越来越受欢迎。它是一种用于编写智能合约的低级语言(low-level language),因其内存效率、简单性和可靠性而受到推崇。
问题是Rust与EVM不兼容,所以你不能在Ethereum和EVM兼容的链上部署项目。但是,像Solana、NEAR、Polkadot和Elrond这样较新的链使用Rust,所以学习这种语言仍然是一项很好的技术投资。
开发框架 / Frameworks
从头开始建立一个链上应用程序(dApp)可能是一项艰巨的任务,特别是如果你必须自己处理每一个微小的细节。幸运的是,你可以从提供即插即用的基础设施的软件框架中受益,从而轻松创建dApps。
框架带有创建、测试和部署代码所需的资源(库和工具)。从头开始编码你的DApp是不必要的,因为你可以采用现成的软件包并添加额外的功能。此外,大多数框架都是由经验丰富的工程师开发和优化的,使其强大、高效和多功能。
(Web3地图 注:合理使用成熟开发框架另一个好处是,安全性,这一点对于智能合约开发至关重要)。
Truffle
在我们的区块链开发框架列表中,第一个是Truffle。Truffle是一个基于JavaScript的框架,用于开发、测试和部署智能合约。它一直是区块链行业最常用的框架之一,而且有充分的理由。
Truffle包含了创建全功能dApp所需的资源,从内置智能合约创建工具到测试区块链环境。它还配备了开箱即用的库,帮助你更容易构建dApp的前端。
Hardhat
Hardhat是另一个强烈推荐给智能合约开发者的框架。与Truffle一样,Hardhat是一个基于JavaScript的框架,用于在Ethereum上创建、测试、部署和调试应用程序。
Hardhat是一个全面的工具平台,它抽象化了与区块链软件开发相关的大多数低层次、通用功能。因此,你可以专注于更重要的任务,如为你的dApp构建核心基础设施。
Embark
Embark是一个全栈开发框架,允许你同时构建你的dApp的前端和后端。虽然在名单上排在最后,但Embark与本节中列出的其他框架一样好。
Embark为dApp数据存储、实时代码测试和智能合约部署提供资源。此外,你还可以获得重要的插件,如Etherscan、Solc、Solium等。
集成开发环境 / IDEs
集成开发环境(IDE)通过将核心开发工具整合到一个图形用户界面(GUI)来帮助应用程序的开发。大多数集成开发环境都具有代码编译、编辑、语法高亮、构建自动化和调试功能等。
Remix IDE
Remix被许多区块链开发者认为是IDE的行业标准。通过Remix IDE,您可以编译、测试和调试智能合约——所有这些都来自一个直观的界面。
Remix IDE是用JavaScript编写的,你可以从任何浏览器上使用它,当然你也可以在电脑上本地运行它(当作一个桌面应用程序)。它提供了一套全面的库、插件和其他功能,以提高智能合约的开发效率。
EthFiddle
EthFiddle是一个基于浏览器的IDE,用于编写和调试Solidity代码。由Loom Network开发的EthFiddle是一个优秀的工具,如果你在一个项目上与他人合作。有了这个软件,你可以轻松地编辑、查找并与他人分享代码片段以获得反馈。
EthFiddle不像Remix IDE那样功能丰富,但它很适合在演示中分享代码。它提供精心设计的测试和原型设计功能,使其成为任何区块链开发者的好工具。
Ethcode
我们还推荐Ethcode,一个用于以太坊智能合约开发的Visual Studio Code插件。Ethcode提供了一个对初学者友好的开发环境,用于编写、调试和单元测试合约代码。
Ethcode是开源的,新的开发者可以在需要时请求支持。Ethcode适用于Vyper和Solidity,可以将你的智能合约部署到Ethereum主网和Goerli测试网,等等。