Skip to content

David-0x221Eight/simple_dapp

Repository files navigation

🐱 KittyBank - Decentralized Savings Jar

KittyBank 是一个基于以太坊的去中心化存钱罐应用。用户可以通过简单的交互,将 ETH 存入智能合约,帮助“小猫”填满它的存钱罐,并实时观察链上余额的变化。

✨ 核心功能

一键投喂 (One-Click Deposit):用户点击按钮即可通过 MetaMask 钱包向合约发送 0.01 ETH。

实时状态管理:存款成功后,前端会自动监听链上交易确认,并同步更新存钱罐显示的累计余额。

链上透明度:所有交易均在以太坊网络执行,合约地址公开透明。

alt text alt text

🛠 技术栈

  • Frontend: React / Next.js (界面由 UI 驱动)

  • Web3 Library: Ethers.js (负责与以太坊交互)

  • Smart Contract: Solidity

  • State Management: React Hooks (useEffect/useState) 用于余额轮询或事件监听

🚀 快速开始

  1. 克隆项目
git clone https://github.com/your-username/kitty-bank.git
cd kitty-bank
  1. 安装依赖
npm install
  1. 运行
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

📝 核心交互逻辑说明

存款功能 (Deposit)

  1. 当用户点击 “投喂 0.01 ETH” 按钮时,前端执行以下逻辑:

  2. 调用合约的 deposit 函数(或直接向合约发送 Value)。

  3. 设置 msg.value 为 $10^{16}$ wei (即 0.01 ETH)。

  4. 等待交易被矿工打包 (Transaction Receipt)。

余额更新 (Balance Refresh)

为了保证“小猫吃了没”的状态准确:

  1. 主动拉取:在交易成功后,立即调用合约的 getBalance 方法。

  2. 事件监听:监听合约抛出的 Deposit 事件,实现 UI 的实时反馈。

📄 智能合约地址

本项目目前部署在以太坊测试网 Sepolia: 0x594f5054e25eDCF98A3fC35fB4420734cCA526f7

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors