资讯动态

WTF Solidity 工具篇:Remix 智能合约 IDE 从零上手——编译、部署与调用完整实战

发布时间:2026/9/15 11:24:25 来源:尧图企业网站定制
WTF Solidity 工具篇Remix 智能合约 IDE 从零上手——编译、部署与调用完整实战【免费下载链接】WTF-SolidityWTF Solidity 极简入门教程供小白们使用。Now supports English! 官网: https://wtf.academy项目地址: https://gitcode.com/GitHub_Trending/wt/WTF-SolidityRemix 是以太坊官方推荐的智能合约集成开发环境IDE完全基于浏览器运行无需在本地安装任何程序即可完成 Solidity 合约的编写、编译、部署与调用。在本仓库的 WTF Solidity 极简入门教程中01_HelloWeb3 等入门章节均默认使用 Remix 运行合约因此掌握它也是学习后续全部课程的前提。读完本文你将能独立完成编写一个 Solidity 合约 → 选择编译器版本完成编译 → 部署到测试环境 → 调用合约函数并查看结果的完整闭环。1. Remix 是什么为什么教程用它入门Remix 是一个运行在浏览器中的智能合约开发环境特点是开箱即用零安装零配置打开官网即可使用不需要安装 Node.js、编译器或任何本地工具链内置编译器界面中直接选择 Solidity 编译器版本并一键编译无需记忆命令行参数内置测试链默认提供一个运行在浏览器沙盒中的虚拟机JavaScript VM可模拟以太坊链执行交易并自动分配带测试币的虚拟钱包账户所见即所得编译、部署、调用的结果实时显示在终端便于新手理解每一步发生了什么。在 WTF Solidity 教程体系中Remix 承担的是第一站角色01_HelloWeb3/readme.md 明确指出本教程将使用 Remix 运行 Solidity 合约并提到左侧菜单的三个按钮分别对应文件编写代码、编译运行代码和部署将合约部署到链上。本仓库还将其收录为工具专题的第一讲见 Topics/readme.md 中的工具列表。2. 打开 Remix认识四大面板在浏览器中打开 Remix 后可以看到整个 IDE 由四个面板组成面板作用图标面板位于最左侧竖排陈列代表不同功能的图标点击后对应功能会显示在侧面板上侧面版各功能的图形化界面GUI如文件浏览器、编译器、部署面板等主面板代码编辑器用于阅读和编写 Solidity 源码终端显示与 GUI 交互的结果交易日志、错误信息等也可以在此直接运行脚本这四个面板的分工贯穿整个开发流程在文件浏览器中选择/创建合约文件 → 在代码编辑器里编写代码 → 在编译器中编译 → 在部署面板部署 → 在终端查看结果。3. 图标面板功能入口与插件体系图标面板默认包含 4 个图标其中最常用的是三个文件File Explorer管理工作区workspace、文件夹与合约文件编译Solidity Compiler选择编译器版本并编译合约部署Deploy Run Transactions选择运行环境、账户与合约执行部署和函数调用。除了默认图标外Remix 支持插件化扩展当你通过插件管理器添加更多功能如测试、调试、静态分析等后这些插件也会以图标形式出现在图标面板上点击即可在侧面版中打开对应 GUI。也就是说图标面板既是功能导航也是插件体系的入口。4. 实战部署一个简单合约下面我们以 Remix 自带的示例合约1_Storage.sol为例完整走一遍选文件 → 编译 → 部署 → 调用四个步骤。4.1 选择合约文件点击文件图标侧面版会变为文件浏览器。在这里你可以管理自己的 workspace、文件夹和文件。在默认工作区的contracts文件夹下Remix 预置了三个示例合约1_Storage.sol一个极简的链上数字存取合约本讲主角2_Owner.sol演示合约所有权管理3_Ballot.sol演示链上投票逻辑。点击1_Storage.sol代码会显示在主面板的代码编辑器中。这个合约非常简单它声明了一个uint256类型的状态变量number用于在链上存储一个数字对外提供两个函数——store()将一个数字赋值给numberretrieve()读取并展示number的当前值。这种一个存储变量 写入函数 读取函数的模式正是 Solidity 合约的基本形态在本仓库的 01_HelloWeb3/HelloWeb3.sol 中可以看到同类但更简化的版本// SPDX-License-Identifier: MIT pragma solidity ^0.8.34; contract HelloWeb3{ string public _string Hello Web3!; }其中public状态变量会自动生成一个同名的读取函数getter这与1_Storage.sol中显式声明retrieve()的效果类似是理解后续 03_Function 函数可见性章节的起点。动手建议也可以点击文件浏览器中的创建新文件Create New File按钮新建一个空白.sol文件把 01_HelloWeb3/HelloWeb3.sol 的代码粘贴进去作为自己的第一个合约。4.2 编译合约接下来点击编译图标进入Solidity Compiler面板编译操作包含两个关键设置选择编译器版本在版本下拉框中选择Solidity 0.8.7教程写作时使用的版本然后点击Compile 1_Storage.sol按钮执行编译。编译器版本必须满足合约源文件头部pragma solidity声明的版本约束。启用优化Enable Optimization可以勾选优化选项并将次数设置为200这有时能节省gas消耗——优化的本质是让编译器在生成字节码时权衡执行成本与合约部署成本。合约成功编译后编译图标上会显示绿色对勾表示没有编译错误如果存在语法问题错误信息会输出到终端面板供你定位修复。版本选择为什么重要不同 Solidity 版本的语法存在差异例如0.8.x之后内置了整数溢出检查对应本仓库安全专题 S05_Overflow 讨论的问题。这也是为什么合约源文件第一行需要用pragma solidity声明版本范围。本仓库根目录的 foundry.toml 中项目使用solc 0.8.34作为统一编译版本并配置了forge-std、openzeppelin/contracts等重映射——当你在本地用 Foundry 跑仓库代码时用的就是这个版本而在 Remix 里你需要根据所写合约的pragma手动选择对应版本。4.3 部署合约编译通过后点击部署图标进入Deploy Run Transactions面板部署前需要确认三个关键选项① ENVIRONMENT运行环境默认是JavaScript VM所有交易都在本地浏览器的沙盒区块链中执行使用它分配的虚拟钱包地址不消耗任何真实资产。你也可以选择Injected Web3此时会连接你的 MetaMask 钱包所有交易都会在真实的区块链上执行。注意如果选择Injected Web3部署合约每一笔交易都将真正上链需要你在钱包中确认交易并支付gas费。初学阶段务必使用默认的JavaScript VM。② ACCOUNT账户在JavaScript VM下这里会显示虚拟机分配给你的测试地址。01_HelloWeb3/readme.md 补充说明Remix 虚拟机旧称 JavaScript VM会为每个测试账户预置100 ETH测试代币可随意使用。因此在测试环境中不需要调整 Gas 设置也不需要向合约发送 ETH。③ CONTRACT合约在合约下拉框中选择要部署的合约。1_Storage.sol文件中只包含一个合约默认就是它但如果一个文件里定义了多个合约例如本仓库的 14_Interface 讲稿中接口与实现合约同文件的情况就必须手动选择要部署的目标合约。确认上述选项后点击DEPLOY按钮合约即部署完毕部署产生的交易会记录在终端中。4.4 调用合约函数部署成功后在Deployed Contracts区域可以看到已部署的合约Storage。展开它会列出合约所有的外部external/public函数store和retrieve。第一步写入。在store函数那一行的文本框中输入100点击函数名触发调用。调用成功后终端会输出对应的log信息点击Debug按钮可以查看这笔交易的详细执行过程calldata、gas 消耗、存储变化等这是初学阶段理解 EVM 交易内部机制的好工具。第二步读取。接着点击retrieve函数可以看到返回值显示number变量已被成功更新为100至此我们完成了部署合约 → 写入数据 → 读取数据的完整闭环100这个值被持久化在浏览器沙盒链上的Storage合约存储中。这也验证了 Remix 教程在 01_HelloWeb3/readme.md 中强调的体验编译完成后点部署即可像操作普通网页应用一样与链上合约交互。5. 总结与后续学习路径这一讲我们完整介绍了如何使用 Remix 完成智能合约开发的最小工作流认识界面图标面板、侧面版、主面板、终端四大面板的分工选择文件在文件浏览器中管理 workspace 与合约源码编译选择匹配pragma的编译器版本可选启用优化runs 200以节省 gas编译成功以绿色对勾为标志部署默认JavaScript VM沙盒环境免 gas、免配置切换Injected Web3则可连接 MetaMask 上真实链调用在 Deployed Contracts 中展开合约调用外部函数、查看终端日志并用 Debug 按钮深入交易细节。掌握 Remix 后建议按本仓库的 README.md 路线图继续学习从 01_HelloWeb3 的三行代码出发依次进入 02_ValueTypes值类型、03_Function函数可见性与修饰符等章节。当合约逻辑变得复杂、需要自动化测试时可以再切换到本仓库 Topics/Tools/TOOL07_Foundry 介绍的 Foundry 等本地开发框架——但在此之前Remix 始终是最低门槛的起点。【免费下载链接】WTF-SolidityWTF Solidity 极简入门教程供小白们使用。Now supports English! 官网: https://wtf.academy项目地址: https://gitcode.com/GitHub_Trending/wt/WTF-Solidity创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价