DApp 的结构:前端 + 智能合约 + 钱包连接 使用 web3.js / ethers.js 与合约交互 使用 MetaMask 实现钱包连接与交易签名 实战:构建一个链上留言板 / 投票系统 部署:Hardhat、Remix、Foundry 的使用