原文作者:PaperMoon 团队
引言
对于刚开始学习智能合约的开发者来说,最常见的困扰之一是:环境怎么搭?钱包怎么连?合约怎么发到链上?
这篇教程将演示如何使用 Remix IDE(浏览器里的可视化开发环境)将一个最基础的 Solidity 智能合约部署到 Polkadot Hub 测试网。Remix 的特点是:
• 无需本地安装(不需要搭 Hardhat/Foundry,也不需要装编译器)
• 全程可视化操作,非常适合快速原型验证与学习
• 可以直接连接 MetaMask 等 EVM 钱包完成部署
准备工作(Prerequisites)
开始之前,请确保你具备以下条件:
- 对 Solidity 有基础理解
不要求熟练,但至少能看懂基础语法与合约结构。
- 准备一个 EVM 兼容钱包,并连接到 Polkadot Hub
本文示例使用 MetaMask。
科普:EVM 兼容钱包指能够与以太坊风格网络交互的钱包,支持发送交易、部署合约、签名等。
- 准备测试币用于 Gas 费
需要从Polkadot faucet(水龙头)领取测试代币(用于支付部署交易的 Gas)。
在 Remix 中找到示例合约(Locate Your Contract)
本教程使用 Remix IDE 默认提供的示例合约,无需自己新建文件。
操作步骤:
-
在浏览器中打开 Remix IDE
-
等待默认工作区(workspace)加载完成
-
在左侧文件树中找到 contracts 文件夹
-
在 contracts 下找到 Storage.sol
该文件将作为本教程贯穿始终的示例合约

科普:Remix 默认提供的示例合约通常用于演示基本的"状态变量读写",便于新手理解"合约部署后如何与之交互"。
编译合约(Compile the Contract)
1)为什么要编译?
Solidity 源码不能直接在区块链上运行,需要先编译为机器可执行的 bytecode(字节码)。编译过程主要做几件事:
• 检查语法错误(例如少写分号、括号不匹配)
• 做类型检查(确保变量类型使用正确)
• 生成部署到链上的字节码与 ABI 等信息(用于后续调用)
2)如何在 Remix 编译 Storage.sol?
确保你已经在编辑器中打开 Storage.sol,然后:
-
在左侧面板选择 Solidity Compiler 插件
-
点击 Compile Storage.sol 按钮

编译成功后:
• Solidity Compiler 图标会显示 绿色对勾
• 如果出现问题(错误或警告),会在底部 terminal(终端面板)显示对应信息
小提示:新手在这里最常见的问题是编译器版本不匹配(比如合约指定了某个 pragma 版本)。但本文不扩展版本设置步骤,因为原文未包含相关内容;只要按原文点击 Compile 即可。
部署合约(Deploy the Contract)
接下来进入最关键的一步:把合约真正部署到 Polkadot Hub 测试网。
1)在 Remix 中打开部署面板
- 在左侧面板选择 Deploy & Run Transactions
2)连接 MetaMask(Injected Provider)
-
确保你的 MetaMask 已连接到 Polkadot Hub TestNet
-
在 Environment 下拉框中选择:
Injected Provider - MetaMask
科普:
• "Injected Provider" 指 Remix 通过浏览器注入的钱包扩展(例如 MetaMask)来发起交易。
• 选择它以后,部署交易会由钱包签名与发送,Remix 负责生成部署所需的数据并展示结果。
3)点击 Deploy 发起部署交易
-
点击 Deploy 按钮开始部署
-
随后 MetaMask 会弹出交易确认窗口
-
在 MetaMask 中 批准(Approve)该交易

部署成功后,你会看到:
• 底部 terminal 显示交易详情,包括:
• 合约地址(contract address)
• 交易哈希(transaction hash)
• 页面下方 Deployed Contracts 区域出现你刚部署的合约实例
科普:
• 合约地址:合约上链后在该网络中的唯一定位地址
• 交易哈希:这次部署交易在链上的唯一"凭证",可用于区块浏览器查询状态
完成!你已经在 Polkadot Hub TestNet 成功部署合约
恭喜你 🎉
你已经通过 Remix IDE 完成了一个完整链上开发闭环:
-
打开示例合约(Storage.sol)
-
编译生成字节码
-
连接钱包并发起交易
-
部署到 Polkadot Hub 测试网并获得合约地址
如果你要继续深入学习,下一步常见方向通常是:
• 在 Deployed Contracts 面板直接调用合约方法(读写状态)
• 学会使用合约地址与 ABI 在脚本里交互(例如用 Ethers.js)
• 熟悉测试网水龙头、Gas 费用与交易确认过程
原文链接:https://docs.polkadot.com/smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix/