定义
Cookie storage
一个 wagmi 存储适配器,用于将钱包状态持久化到 cookie 以支持 SSR。
Cookie storage
一个 wagmi 存储适配器,用于将钱包状态持久化到 cookie 以支持 SSR。
In context
在 PolyArb 中,我们使用 cookie 存储以便钱包状态在服务器端渲染期间得以保留。当用户通过像 MetaMask 或 Gnosis Safe 这样的 connector 连接钱包时,wagmi 通常会将会话状态保存在客户端存储中。cookie 存储适配器会将最小化的钱包状态(例如,当前激活的 connector 和地址)镜像到 HTTP cookie 中,从而使服务器渲染的页面在初始加载时能够读取并渲染识别账户的 UI。这会改善感知性能,并避免在应用完成水化时出现断开连接的 UI 闪烁。
How it works (high level)
- 在客户端会话期间,wagmi 将选定的键写入 cookie 存储适配器,而不是或者除了写入 localStorage 之外。
- 服务器端渲染代码可以读取这些 cookie,并据此决定是否渲染已登录的组件、掩码余额或特定 connector 的界面。
- Cookie 应仅存储非敏感的、最小化的状态(connector id、截断地址)。私钥和批准签名绝对不得存储在 cookie 中。
Implementation notes
- Cookie 存储是 wagmi 的一种适配器模式;具体 API 取决于 wagmi 的版本和你使用的框架(Next.js、Remix 等)。请使用与应用安全模型一致的 secure、httpOnly(在适当时)、SameSite 和 path 属性。
- 由于 Polymarket/PolyArb 使用 Polygon 和 pUSD,这里的钱包状态纯粹是 UX 状态;实际的签名和链上操作仍然通过钱包 connector 在客户端发生。
- 遵守 Polymarket 的地理限制,切勿尝试通过 cookie 技巧绕过这些限制。不要在 cookie 中存储与 KYC 相关的敏感数据。
See also
- /glossary/CLOB
- /glossary/Relayer
- /glossary/pUSD