W3

智能合约 IDE

左边写代码,右边实时告诉你哪里会编译不过、哪里有已知的安全反模式, 以及这个合约最终长什么样(函数、事件、错误一览)。底部的在线沙盒会把当前代码交给浏览器内的 solc 真编译,通过后可以连接钱包部署到你选的网络并立即调用—— 整个「写 → 编 → 部 → 调」的闭环不需要在本地装任何工具。 两种用法:照着模板改, 或者做练习——练习里代码留着 TODO,等你自己填。

关于「静态校验」的边界:它检查的是编译必需的结构(pragma、括号、可见性、事件定义)与有共识的安全反模式 (tx.origin 授权、transfer 转账、链上随机数)。真正的编译以沙盒里 solc 的输出为准; 「编译通过」不等于「逻辑安全」——真正的验证靠 forge test 与外部审计。 另外沙盒里的部署是真实交易、真实 gas,请优先使用测试网。
载入内容
6 个可直接编译的参考实现
hello.solSolidity
本地校验只覆盖编译必需项与已知安全反模式,不能替代 solc / Foundry 的真实编译。

静态校验结果

0 错误0 警告0 建议

没有发现结构性问题或已知反模式。这不代表代码安全——逻辑漏洞只能靠测试与审计发现。

部署后怎么验证

  1. 调用 greet() 应返回 "Hello Web3"
  2. 调用 setGreeting("你好") 后交易成功,事件里有你的地址
  3. 再读 greet(),值已更新;lastWriter 等于你的地址

依赖:无

合约概览

contractHelloWeb3
  • greet()external view
  • setGreeting(value string)external
事件:GreetingChanged

在线沙盒:编译 → 部署 → 调用

solc 0.8.37 在你的浏览器里真编译(Web Worker,不打断输入);部署连接你自己的钱包, 是真实交易、真实 gas —— 强烈建议只在测试网操作。

点上面的「编译」开始。编译在浏览器内完成、源码不出本机;只有「部署」这一步才需要钱包与网络。

从沙盒到工程化还差什么:沙盒解决「跑起来」;工程要解决「改了不敢上」——本地跑一次 forge test 把测试写完,用 anvil 起本地链验证一遍,再部署到 Sepolia 测试网, 确认 Etherscan 能验证源码,最后才考虑主网。 跳过中间任何一步,代价都会以资金形式出现。
推荐的下一步:在沙盒里部署成功后,把导出或复制的合约丢进 Remix 对比 ABI,确认一致; 然后在本地用 Foundry 写测试(合约工程化指南的第二阶段覆盖了测试体系),最后才部署到主网。 每个合约模板的右侧都列出了「部署后怎么验证」,那是你写测试用例的起点。