如果您希望在构建之前先试用该投资组合查看器,可以在这里试用。

要求
在开始之前,您需要:- Moralis API 密钥:从 Moralis 仪表板获取
- Reown Project ID:从 Reown Cloud获取
- 您也可以查看 Monad 的 Reown AppKit 指南
步骤 1:初始化项目
创建 Nextjs 应用
安装 ShadCN 组件
安装 Tanstack React Query(用于更好的异步状态管理)
步骤 2:环境设置
将您的 Moralis API 密钥和 Reown Project ID 添加到.env.local:
步骤 3:连接钱包功能
创建 ContextProvider 组件
在 src 目录下创建一个名为 context 的文件夹,在该文件夹内创建一个名为 index.ts 的文件。
src/context/index.ts
在 layout.tsx 中用 ContextProvider 组件包裹应用
src/app/layout.tsx
创建自定义 ConnectButton
在 components/wallet 文件夹中创建一个名为 ConnectButton.tsx 的文件
src/components/wallet/ConnectButton.tsx
useAppKit 和 useAppKitAccount hook 创建自定义连接按钮,而不是使用 Reown AppKit 提供的标准按钮。
创建带有自定义 ConnectButton 的 Header 组件

src/components/layout 文件夹中创建一个名为 Header.tsx 的文件,并将新创建的 ConnectButton 组件导入其中。
src/components/layout/Header.tsx
layout.tsx 中导入 Header 组件
src/app/layout.tsx
步骤 4:获取已连接钱包的代币余额
创建 /api/wallet/balances 路由
在文件夹 src/app/api/wallet/balances/ 中创建一个名为 route.ts 的文件
我们使用 “Get Native & ERC20 Token Balances by Wallet” Moralis API 端点来获取代币余额。您可以在这里找到该端点的文档。
它接收一个地址和链 ID,并返回该地址的 ERC20 代币列表(包括 Logo、名称、符号)和原生余额。
src/app/api/wallet/balances/route.ts
创建名为 useTokenBalances 的 React hook
这个 React hook 调用您创建的 /api/wallet/balances/ 端点获取代币余额数据,将其格式化为合适的列表,并使其可在前端使用。
src/hooks/useTokenBalances.ts
步骤 5:创建 UI
创建 TokenRow 组件

TokenRow 组件将显示代币详情,例如名称、符号、logo、美元价格、已连接钱包中的代币数量以及美元价值。
在文件夹 src/components/portfolio/tokens/ 中创建一个名为 TokenRow.tsx 的文件
src/components/portfolio/tokens/TokenRow.tsx
创建 TokenList 组件

src/components/portfolio 文件夹中创建 TokenList.tsx 文件,并将新创建的 TokenRow.tsx 组件导入其中。
src/components/portfolio/TokenList.tsx
创建 PortfolioDashboard 组件

PortfolioDashboard 组件将显示 TokenList,并可以进一步修改以包含更多组件,展示您希望用户看到的信息。
src/components/portfolio/PortfolioDashboard.tsx

