KittyBank 是一个基于以太坊的去中心化存钱罐应用。用户可以通过简单的交互,将 ETH 存入智能合约,帮助“小猫”填满它的存钱罐,并实时观察链上余额的变化。
一键投喂 (One-Click Deposit):用户点击按钮即可通过 MetaMask 钱包向合约发送 0.01 ETH。
实时状态管理:存款成功后,前端会自动监听链上交易确认,并同步更新存钱罐显示的累计余额。
链上透明度:所有交易均在以太坊网络执行,合约地址公开透明。
-
Frontend: React / Next.js (界面由 UI 驱动)
-
Web3 Library: Ethers.js (负责与以太坊交互)
-
Smart Contract: Solidity
-
State Management: React Hooks (useEffect/useState) 用于余额轮询或事件监听
- 克隆项目
git clone https://github.com/your-username/kitty-bank.git
cd kitty-bank- 安装依赖
npm install- 运行
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
-
当用户点击 “投喂 0.01 ETH” 按钮时,前端执行以下逻辑:
-
调用合约的 deposit 函数(或直接向合约发送 Value)。
-
设置 msg.value 为
$10^{16}$ wei (即 0.01 ETH)。 -
等待交易被矿工打包 (Transaction Receipt)。
为了保证“小猫吃了没”的状态准确:
-
主动拉取:在交易成功后,立即调用合约的 getBalance 方法。
-
事件监听:监听合约抛出的 Deposit 事件,实现 UI 的实时反馈。
本项目目前部署在以太坊测试网 Sepolia: 0x594f5054e25eDCF98A3fC35fB4420734cCA526f7

