1. 概述

一般信息

编写并部署智能合约后,下一步是构建交互界面,让用户能够直观简便地操作,而非笨拙地与智能合约功能进行交互。

目前,React(以及基于React构建的框架)在Web3行业中最为流行。得益于React丰富的库资源和开放的生态系统,其他框架如Vue或Angular在该领域鲜少被采用。

该界面如何与智能合约进行交互?

前端用户界面可通过连接RPC区块链节点与智能合约交互。RPC即远程过程调用,本质上是一种协议,帮助客户端(此处指接口)连接区块链网络以请求数据或执行操作,例如发送交易、与智能合约交互。

您可以使用自行在服务器上安装和运行的区块链节点,或采用节点即服务提供商(Node service providers)。若您的连接需求较小,节点即服务提供商将助您节省大量成本。

2. 前端项目的结构

我们将使用技术栈构建以下前端:

以下是Solidity部分中用于构建FundMe智能合约用户界面的示例项目布局。

├── README.md
├── abi
│   └── FundMe.json
├── app
│   ├── favicon.ico
│   ├── globals.css
│   ├── layout.tsx
│   ├── page.tsx
│   └── providers.tsx
├── components
│   ├── abi.ts
│   ├── fund-me-balance.tsx
│   ├── fund.tsx
│   ├── my-fund.tsx
│   └── ui
├── components.json
├── lib
│   └── utils.ts
├── next-env.d.ts
├── next.config.mjs
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│   ├── next.svg
│   └── vercel.svg
├── tailwind.config.ts
└── tsconfig.json