---
title: "如何成为 Solidity 开发者"
description: "成为超级大脑 Solidity 开发者所需的一切"
---

## 为什么应该成为 Solidity 开发者？

随着 Web3（用于描述一种更去中心化、更民主化的互联网形态的术语）及其底层技术区块链持续发展，深入参与这一生态系统可能带来切实的收益，就像上世纪 90 年代学习开发互联网应用一样。

区块链技术支撑着 NFT、DeFi、[DAO](https://www.alchemy.com/dapps/top/daos)等广为人知的去中心化应用和使用场景。要参与塑造互联网的未来，成为[区块链开发者](https://www.alchemy.com/overviews/solidity-developer)是为 Web3 领域做出贡献的途径之一，随着该技术在消费和工业场景中愈发实用，这条路径可能既有影响力又有可观的收入。

考虑到这一点，你可能想知道该学习哪种[Web3 编程语言](http://www.alchemy.com/overviews/web3-programming-languages)。最佳选择之一是 Solidity，一种用于在 Ethereum 等区块链上执行智能合约的面向对象编程语言。

Solidity 的语法与 JavaScript 和 C 类似，这意味着 Web2 开发者可以更快地跨越学习曲线。

根据 cryptocurrencyjobs.co 的数据，美国[Solidity 开发者的平均基本薪资](https://www.alchemy.com/overviews/solidity-developer-salary)为 127,500 美元，基本薪资区间为 80,000 美元到 180,000 美元。该数字可能因地点、公司和经验的不同而有所差异。

在当今日益数字化的世界中，能够在一个去中心化、异步、快节奏且高薪的环境中从事一项强大的技术，这样的机会难得。如果你还没有被说服，以下是 Web3 运动对开发者具有吸引力的简要总结：

1. 加入每周都有 5,000+开发者共同学习的行列
1. 在 Discord 上回答问答、在 Telegram 上结识新朋友、赢取周边礼品
1. 通过基于项目的课程学习新的编程技能和工具
1. 借助 Proof of Knowledge NFT 建立你作为 Web3 开发者的声誉

## **成为 Solidity 开发者的 7 个步骤**

在对什么是 Solidity 开发者以及参与这一新兴运动的好处有了更基础的了解之后，让我们来探讨深入学习 Solidity 的方法：

### **1. 参加训练营**

快速学习 Solidity 并成为 Ethereum 开发者的一种有效方法是[参加 Solidity 训练营](https://www.alchemy.com/overviews/solidity-bootcamp)。通过有讲师指导的训练营，开发者可以掌握核心的区块链密码学技能，加深对 Ethereum 的理解，构建并部署去中心化应用，并掌握智能合约开发。

Alchemy University 为期 7 周的 Ethereum 开发者训练营，是刚接触 Web3 的开发者学习这门最流行编程语言的理想方式。定制化的学习工具、交互式编程挑战，以及随行业发展不断更新的课程内容，是[Alchemy University 课程](https://university.alchemy.com/?a=96a59db6cb)的部分优势所在。

如果开发者对开发本身还比较陌生，Alchemy 的**3 周 JavaScript 速成课程**是开始 Ethereum 训练营之前的良好准备。

### **2. 掌握 Solidity 基础**

如果你更倾向于以个性化的方式掌握 Solidity，网上有大量公开的指南、文章和视频可供参考。这些资源可以帮助开发者以自主学习的方式了解基本的区块链术语、工具和应用。此外，掌握 C++、JavaScript 或 Python 的基础知识，也有助于加快学习进程。

不过，要[开发智能合约](https://www.alchemy.com/overviews/solidity-smart-contract)应用，开发者必须理解安全与不安全实践之间的区别。不建议忽视或轻视[智能合约安全](https://www.alchemy.com/overviews/smart-contract-security-best-practices)最佳实践。

需要掌握的一些 Solidity 基础概念包括 Solidity 函数和修饰符。**Solidity 函数**是被归纳在一起、用于执行特定任务的代码块或语句集合。一般来说，Solidity 函数通过 _function_ 关键字定义，其后跟着一个不与任何保留关键字冲突的唯一函数名。此外，函数还可以包含一系列参数，每个参数都有对应的名称和数据类型。

**Solidity 修饰符**类似于面向对象编程中使用的装饰器模式。本质上，修饰符可以改变其所附加函数的行为。修饰符的主要用途是在函数执行之前自动对其进行检查。如果函数不满足修饰符的要求，就会抛出异常，函数执行随即立刻终止。

### 3. 学习配套的 Solidity 工具

成为 Solidity 开发者需要对 Web3 工具有广泛的了解。像 Hardhat、Alchemy 和[Remix（在线 IDE）](https://www.alchemy.com/overviews/solidity-ide)这样的配套工具，能够提升你的应用能力，因为许多公司都在使用类似的技术栈。

#### **Hardhat**

**‍**Hardhat 内置了 Hardhat network，这是一个专为开发设计的本地 Ethereum 网络。部署合约、运行测试和调试代码，都可以完全在本地机器上完成。

在 Hardhat network 上运行合约和测试时，你可以通过在 Solidity 代码中调用[console.log() 函数](https://www.alchemy.com/overviews/solidity-console-log)来打印日志信息和合约变量。别忘了要使用这个函数，你需要在合约代码中导入 hardhat/console.sol。

#### **Foundry**

Foundry 是一个用 Rust 编写的、速度极快、便于移植且模块化的 Ethereum 应用开发工具包。Foundry 由三个独立的组件构成：Forge、Cast 和 Anvil。

- **Forge** - 一个 Ethereum 测试网络，与 Hardhat 和 Truffle 类似
- **Cast** - 一个功能丰富的工具，用于与基于 EVM 的智能合约交互、发送交易并获取链上数据
- **Anvil** - Hardhat network 上的本地 Ethereum 节点，类似于 Ganache
- **Chisel**：一个快速、实用且详尽的 Solidity REPL

此外，开发者还可以使用其他区块链开发工具。以下并非详尽清单，仅列举几款值得关注的工具：

1. **Truffle** - 面向 Ethereum 的开发环境、测试框架和资产管理流水线
1. Brownie - 一个基于 Python、面向 Ethereum Virtual Machine（EVM）的智能合约开发与测试框架
1. **Echidna** - 为智能合约定义属性，然后使用模糊测试来发现安全漏洞
1. **Remix** - 一个功能强大的开源 IDE，可在浏览器中编写、编译和调试 Solidity 合约

### 4. 积累 Solidity 开发的实践经验

无论你是想创建一个 NFT 智能合约、一个链上 DAO，还是一个去中心化金融应用，教程和[课程](https://www.alchemy.com/overviews/solidity-course)都是学习 Solidity 开发的主要方式。这些 Web3 教程提供了一种引导式的学习体验，参与者可以按照书面文档和视频演示，以异步的方式学习完成特定任务。

要入门，可以从[Alchemy's Road to Web3](https://www.alchemy.com/docs)系列中的 Solidity 教程开始，其中包括：

- 如何开发 NFT 智能合约（ERC721）
- 如何构建"Buy Me a Coffee" DeFi dApp
- 如何制作带链上元数据的 NFT
- 如何创建 NFT 展示馆
- 如何创建动态 NFT
- 如何构建质押 dApp
- 如何构建[NFT 市场](https://www.alchemy.com/dapps/best/nft-marketplaces)
- 如何在 Optimism 上构建博彩游戏
- 如何用 0x API 构建代币交换 Dapp
- 如何创建去中心化社交媒体应用

### 5. 参加 Ethereum 黑客松

黑客松是来自不同背景的人们聚在一起、开发解决实际问题的最小可行产品的活动。[Ethereum 黑客松](https://www.alchemy.com/overviews/best-web3-hackathons)是结识全球人脉、丰富你的 Web3 作品集、获取实践开发经验，甚至有机会在活动赞助公司获得工作机会的绝佳机会。

无论是线上参赛还是线下参赛，黑客松都能为你提供一个平台，让你进一步深入 Web3 的世界。目前，Web3 黑客松领域的黄金标准是 EthGlobal 系列活动和 Gitcoin。二者都提供全面的培训和实践经验。

### **6. 通过漏洞赏金审计智能合约**

通过漏洞赏金审计智能合约是积累实践经验、获取奖励，并理解智能合约运作方式的另一种途径。除了各家公司和去中心化协议自行赞助的赏金计划外，还有一些平台专门用于发现赏金计划，例如：

1. Web3 原生平台 - Immunefi 和 HackenProof
1. 传统平台 - Bugcrowd 和 HackerOne
1. **项目自主管理的赏金计划** - Ethereum Foundation 和 0xProject

### 7. 申请 Solidity 开发者职位

在掌握了基础知识和实践经验之后，下一步是考虑申请[全职 Solidity 开发者职位](https://www.alchemy.com/overviews/solidity-developer)。你将与来自世界各地的团队成员一起，为 Web3 生态系统和去中心化技术构建产品、服务和基础设施。

别忘了，热情、共情能力和主动学习的态度同样非常重要！

#### 更新你的简历和 LinkedIn

在申请 Solidity 开发者职位时，务必[将简历和 LinkedIn 更新为以 Web3 为重点的内容](https://www.alchemy.com/overviews/web3-hackathon-resume)。请务必突出你的个人资料、工作经历、项目经验、教育背景、技能、认证，以及作品集链接。

最后，加入一些量化信息也是个好主意，这有助于你以令人信服的方式，向招聘人员和潜在雇主展示你的影响力。

#### **在 Web3 招聘平台上搜索职位**

在[Web3 招聘平台](https://www.alchemy.com/overviews/solidity-jobs)上搜索职位，是探索适合自己岗位的有效方式。web3.career、cryptocurrencyjobs.co 和 web3jobs.so 等网站都是不错的起点。

像 Alchemy、OpenSea 和 Coinbase 这样的大型 Web3 公司，都有专门负责寻源、招募和录用的内部资源，这意味着招聘信息很可能发布在它们的[招聘页面](/careers)上。

最后，有志成为 Solidity 工程师的人，也可以在 Indeed 和 Monster.com 等招聘平台上，寻找由 Web2 公司发布的加密相关职位，以及大型 Web3 公司为提升曝光度而跨平台发布的职位信息。
