@@ -15,6 +15,66 @@ timezone: UTC+8
1515## Notes
1616
1717<!-- Content_START -->
18+ # 2025-08-20
19+
20+ ## 一、DApp 基本概念与分类
21+
22+ * ** 定义(实用方向)** :DApp 是指在区块链上运行、其关键状态或业务逻辑不依赖单一中心化服务器的应用。核心是链上读写(查询链上状态与提交交易)。
23+ * ** 去中心化程度** :完全去中心化罕见——需分别评估前端、后端、存储是否可去中心化。常见形态:
24+
25+ * 简单型:中心化前端 + 链交互(轻量 NFT 应用);
26+ * 混合型:前端 + 常规后端 + 链交互(多数 DeFi 与复杂 DApp);
27+ * 极端去中心化型:前端托管于 IPFS,后端尽量链上化(实现高度去中心化)。
28+
29+ ## 二、DApp 架构要点
30+
31+ * ** 分层结构** :前端(UI) / 后端服务 / 区块链(智能合约) / 外部服务(RPC、IPFS、索引、预言机、区块浏览器)。
32+ * ** 关键组件与作用** :
33+
34+ * RPC 节点服务(Infura、Alchemy 等):提供链上读写 API;
35+ * IPFS:用于存储图片与 metadata,减少链上存储成本;
36+ * 索引服务(The Graph 或自建):将链上事件/交易打包进数据库、便于查询;
37+ * 预言机(Chainlink 等):为链上合约提供链外数据;
38+ * 区块浏览器(Etherscan 等):查看交易与合约详情。
39+
40+ ## 三、Mint NFT DApp 实战精要
41+
42+ 1 . ** 资源准备** :
43+
44+ * 将图片与 Metadata 上传到 IPFS(或中心化存储,根据需求权衡);
45+ * 准备测试钱包并在测试网(如 Sepolia)获取测试币;
46+ * 获取区块浏览器或 RPC 服务的 API key(如 Etherscan、Infura)。
47+ 2 . ** 合约开发与部署** :
48+
49+ * 推荐开发框架:** Foundry** ;
50+ * 合约标准:ERC-721(关注 ` tokenURI ` 接口、` safeMint ` /` mint ` /` transferFrom ` 等);
51+ * 部署注意:配置正确的 RPC 节点地址、私钥管理与 gas 设置,进行充分单元与集成测试。
52+ 3 . ** 前端集成** :
53+
54+ * 钱包接入:使用 MetaMask 或其它钱包,封装 Web3 provider;
55+ * ABI 导入:前端引入合约 ABI 与合约地址;
56+ * 交互逻辑:Mint 按钮触发写操作(合约调用),使用常见库或 hook(如 wagmi)简化读写逻辑;
57+ * UX 考虑:交易等待、链切换提示、错误处理与用户反馈。
58+
59+ ## 四、工具与推荐
60+
61+ * ** 开发与测试** :Foundry(合约开发/测试/部署)、Remix(快速调试)。
62+ * ** 存储与索引** :IPFS(去中心化存储)、The Graph(索引)。
63+ * ** 基础设施** :Infura / Alchemy(RPC)、Etherscan(区块浏览器 API)。
64+ * ** 前端库** :ethers.js、web3.js、wagmi。
65+
66+ ## 五、Q\& A 要点摘录
67+
68+ * ** MetaMask 的角色** :属于钱包/客户端基础设施,负责签名与发送交易;
69+ * ** 前端可否直接与钱包交互** :可以,通过 provider 请求签名与发送交易;
70+ * ** AI 辅助开发** :可提高效率,但不要直接信任未审计的合约代码;
71+ * ** 职业发展建议** :Web3 倾向复合型人才,掌握前端(JS/TS)、合约基础、安全意识更易胜任相关岗位。
72+
73+ ## 六、附注
74+
75+ * 推荐阅读项目源码:Uniswap(理解生产级合约与架构);
76+ * 强调合约安全:上线前尽可能做充分测试与代码审计(至少进行严格的单元测试与简单的审计检查)。
77+
1878# 2025-08-18
1979
2080## 一、本地模拟节点:Anvil、Ganache、Hardhat Node
0 commit comments