Skip to content
This repository was archived by the owner on Mar 1, 2025. It is now read-only.

Commit 3febc9e

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents f5aa8f3 + b6c2845 commit 3febc9e

File tree

2 files changed

+59
-6
lines changed

2 files changed

+59
-6
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ SaaS、Typescript、React、Nextjs、Taildwindcss、MDX、Linaria、Shiki、Reac
129129
<!-- START_COMMIT_TABLE -->
130130
| | 2.03 | 2.04 | 2.05 | 2.06 | 2.07 | 2.08 | 2.09 | 2.10 | 2.11 | 2.12 | 2.13 | 2.14 | 2.15 | 2.16 | 2.17 | 2.18 | 2.19 | 2.20 | 2.21 | 2.22 | 2.23 |
131131
| ------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
132-
| echozyr2001 |||| ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | | | | | | | |
132+
| echozyr2001 |||| ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | | | | | | | |
133133
| Kirov7 | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | | | | | | | | |
134-
| Hoshino | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||| | | | | | | |
135-
| RisingGalaxy | ⭕️ ||| ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||| | | | | | | |
134+
| Hoshino | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||| ⭕️ | | | | | | |
135+
| RisingGalaxy | ⭕️ ||| ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||| ⭕️ | | | | | | |
136136
| YamKH514 ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ || | | | | | | |
137137
| DriveFLY ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||| | | | | | | |
138-
| Makise | ⭕️ ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ || | | | | | | |
139-
| DemoJustLuGuo ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | | | | | | | |
140-
| AmberHeart |||| ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | ⭕️ | ⭕️ | | | | | | | |
138+
| Makise | ⭕️ ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ || | | | | | | |
139+
| DemoJustLuGuo ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | | | | | | |
140+
| AmberHeart |||| ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | | | | | | |
141141
<!-- END_COMMIT_TABLE -->
142142

143143
## 数据统计

echozyr2001_FullStack_Compass.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,4 +383,57 @@ export default defineSchema({
383383

384384
> 总结,快速过了一下 convex 的教程,熟悉了插入与查询数据的方式,同时成功在 `cfc-web` 项目中实现报名表单数据的提交。
385385
386+
### 02.17
387+
388+
> 学习时间:120 min
389+
390+
主要想看一下 nextjs 提供的 Authentication 功能
391+
392+
在 nextjs 官方文档提到了一点:
393+
394+
> While you can implement a custom auth solution, for increased security and simplicity, we recommend using an authentication library.
395+
396+
在 nextjs 项目中使用官方提供的 Auth lib 在适配度与安全性上可能更合适。
397+
398+
---
399+
400+
浏览文档时发现了一个特殊的路由 `app/actions/*.ts`,文档中没有解释具体含义,我初步将它理解为与 `app/api/*/router.ts` 是同一种 `api` 的不同实现方式。
401+
402+
---
403+
404+
尝试了一些钱包连接库,效果都不理想,最终还是使用最底层的库自己搭轮子,主流的钱包 kit 在底层都是使用了 wagmi:https://wagmi.sh/
405+
406+
wagmi 是一套用于链上交互的 React hooks, 基于 viem 构建。例如
407+
408+
* 连接钱包 useConnect
409+
* 获取当前连接的用户地址 useAccount
410+
* 发送交易 useSendTransaction
411+
* 读取合约变量 useReadContract
412+
413+
如果使用的组件是服务端组件,无法使用 hook, 则建议直接使用 viem,其无需另外安装,wagmi 已默认导出了 viem 的所有方法。
414+
415+
**SIWE 规则**
416+
417+
SIWE(SignIn with Ethereum)是一种在以太坊上验证用户身份的一种方式,表明用户有对应钱包的控制权。
418+
419+
你可能会有一个疑问,在网站上通过钱包连接之后不久代表了我有钱包的所有权了吗。
420+
421+
对于前端来说是这样的,但是对于一些需要后端支持的接口调用,你是没有办法表明自己的身份的,若只是在接口中传入你的地址的话,那么谁都可以冒用你的身份了,毕竟地址是公开的信息。
422+
423+
SIWE 的流程总结起来就是三个步骤:连接钱包 -- 签名 -- 获取身份标识。
424+
425+
**连接钱包**
426+
427+
通过钱包插件在 Dapp 中连接钱包。
428+
429+
**签名**
430+
431+
在 SIWE 中,签名的步骤包括获取 Nonce 值、钱包签名以及后端校验。
432+
433+
获取 Nonce 值这一步是参考 ETH 交易中的 Nonce 值设计的,后端收到请求之后,返回生成的随机 Nonce 值,并和当前的地址关联,为后面的校验签名做准备,
434+
435+
前端获取到 Nonce 值之后,唤起钱包,用户授权签名。签名完成后发送给后端,
436+
437+
后端在校验签名通过后,返回对应的用户身份标识(一般是 JWT),前端在后续请求发送时需要带上对应的地址和身份标识,表明自己对钱包的所有权。
438+
386439
<!-- Content_END -->

0 commit comments

Comments
 (0)