智能合约 IDE
左边写代码,右边实时告诉你哪里会编译不过、哪里有已知的安全反模式, 以及这个合约最终长什么样(函数、事件、错误一览)。底部的在线沙盒会把当前代码交给浏览器内的 solc 真编译,通过后可以连接钱包部署到你选的网络并立即调用—— 整个「写 → 编 → 部 → 调」的闭环不需要在本地装任何工具。 两种用法:照着模板改, 或者做练习——练习里代码留着 TODO,等你自己填。
关于「静态校验」的边界:它检查的是编译必需的结构(pragma、括号、可见性、事件定义)与有共识的安全反模式 (tx.origin 授权、transfer 转账、链上随机数)。真正的编译以沙盒里 solc 的输出为准; 「编译通过」不等于「逻辑安全」——真正的验证靠
forge test 与外部审计。 另外沙盒里的部署是真实交易、真实 gas,请优先使用测试网。载入内容6 个可直接编译的参考实现
hello.solSolidity
本地校验只覆盖编译必需项与已知安全反模式,不能替代 solc / Foundry 的真实编译。
静态校验结果
0 错误0 警告0 建议
没有发现结构性问题或已知反模式。这不代表代码安全——逻辑漏洞只能靠测试与审计发现。
部署后怎么验证
- 调用 greet() 应返回 "Hello Web3"
- 调用 setGreeting("你好") 后交易成功,事件里有你的地址
- 再读 greet(),值已更新;lastWriter 等于你的地址
依赖:无
合约概览
contractHelloWeb3
- greet()external view
- setGreeting(value string)external
事件:GreetingChanged
在线沙盒:编译 → 部署 → 调用
solc 0.8.37 在你的浏览器里真编译(Web Worker,不打断输入);部署连接你自己的钱包, 是真实交易、真实 gas —— 强烈建议只在测试网操作。
点上面的「编译」开始。编译在浏览器内完成、源码不出本机;只有「部署」这一步才需要钱包与网络。
从沙盒到工程化还差什么:沙盒解决「跑起来」;工程要解决「改了不敢上」——本地跑一次
forge test 把测试写完,用 anvil 起本地链验证一遍,再部署到 Sepolia 测试网, 确认 Etherscan 能验证源码,最后才考虑主网。 跳过中间任何一步,代价都会以资金形式出现。