SuperAPI AI 工具集

metamask-connect

通用与其它

查看项目

更新于 10-16 06:47

技能介绍

用途:帮助开发者在 dApp 中集成 MetaMask,支持 EVM、Solana 或两者(多链),适用于浏览器 JS/TS、React、React Native,也支持通过终端二维码连接 MetaMask Mobile 的无头 Node.js CLI、服务器或机器人。

主要能力:连接/断开、管理 provider 与会话状态、切换链;签名消息(personal_sign、eth_signTypedData_v4、Solana signMessage);发送交易(eth_sendTransaction、Solana sendTransaction / signAndSendTransaction);通过多链客户端的 invokeMethod 跨链操作;使用或迁移到 wagmi 的 metaMask() 连接器;从 @metamask/sdk 迁移;诊断连接失败、React Native polyfill 错误及二维码/深链问题。

安装:按集成选择包与工厂——仅 EVM 用 @metamask/connect-evm 的 createEVMClient;仅 Solana 用 @metamask/connect-solana 的 createSolanaClient;EVM 与 Solana 同一会话用 @metamask/connect-multichain 的 createMultichainClient;已用 wagmi 则用其 metaMask() 连接器(需 @metamask/connect-evm 作为 peer)。

使用方式:编写代码前先阅读 references/conventions.md 的核心约定,再按任务加载 evm.md、events.md、multichain.md、solana.md、react-native.md、csp.md、testing.md 等专题参考;随后按技术栈选择对应 workflows 文件(如 setup-evm-browser.md、setup-evm-react.md、setup-solana-react-native.md、setup-multichain.md、setup-node.md、setup-wagmi.md 等),签名与发交易也有独立工作流。

限制与注意:EVM 链 ID 为十六进制字符串('0x1'),CAIP-2 作用域用十进制(eip155:1);dApp 涉及的每条链都必须在 api.supportedNetworks 中且有可达 RPC URL,该检查在 provider 的 request() 路径而非 connect() 中执行;多链核心为单例,应在启动时创建一次,不可在 React 渲染中创建;需处理 EIP-1193 的 4001(用户拒绝)与 -32002(扩展请求待处理),多链 invokeMethod 错误包装为 RPCInvokeMethodErr(原始码在 rpcCode);React Native 需要 polyfill(window shim 始终需要,Event/CustomEvent 仅在使用 wagmi 时需要,react-native-get-random-values 作为首个导入)及 metro extraNodeModules shim(stream → readable-stream,其余为空桩)。