写 Solidity 合约 ≠ 打开浏览器写点 JS。它更像嵌入式开发,要“部署到虚拟硬件”(即 EVM)中运行。你需要一个能编译、部署、调试、测试的本地环境。
我们将介绍 3 种主流方式,适合不同阶段的开发者:
工具链 | 特点 | 推荐人群 |
|---|---|---|
Remix IDE | 免安装、上手快 | 零基础新手、轻度实验 |
Foundry | 轻量级 CLI 工具,极快 | 喜欢终端操作、追求效率 |
VSCode + Hardhat | 全功能工程化 | 想构建完整项目结构的开发者 |
.sol 文件: // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Hello {
string public greet = "Hello, Solidity!";
}用它做实验、调试,非常适合入门使用和教学演示
需要已安装 Git 和 curl,适用于 Mac/Linux/WSL
$ curl -L https://foundry.paradigm.xyz | bash
$ foundryupWindows 用户建议使用 WSL + Ubuntu,或者使用 Scoop:
scoop install foundryforge init my-foundry-app
cd my-foundry-app编辑 src/Hello.sol:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Hello {
function greet() public pure returns (string memory) {
return "Hello, Foundry!";
}
}forge build
forge test后续你可以使用 forge script 来部署合约、调用方法,还支持主流测试网。
$ npm init -y
$ npm install --save-dev hardhat
$ npx hardhat选择第一个:Create a basic sample project
目录结构大致如下:
├── contracts/ // 合约代码
├── scripts/ // 部署/调用脚本
├── test/ // 单元测试
└── hardhat.config.js$ npx hardhat compile$ npx hardhat node
$ npx hardhat run scripts/deploy.js --network localhostHardhat 是你通往“专业开发者”的必经之路。
环节 | 容易忽视的问题 |
|---|---|
Remix 部署 | 本质是部署在 JS 模拟链上,数据不会保留 |
Foundry 编译器 | 默认使用最新的 |
Hardhat 网络 | 默认运行在 localhost:8545,本地账户默认私钥是已知的,不要用于生产 |
工具链 | 推荐程度 | 用途 |
|---|---|---|
Remix IDE | ⭐⭐⭐⭐ | 学习 / 快速测试 |
Foundry | ⭐⭐⭐⭐⭐ | 高效本地开发 / CI 测试 |
Hardhat | ⭐⭐⭐⭐⭐ | 完整项目开发 / 前端联调 |
forge init hello-worldnpx hardhat