运行时依赖
版本
OrderlyAppProvider (或更合适的译名:有序应用程序提供者)
安装命令
点击复制技能文档
Orderly Network:SDK 钱包连接 Orderly Network DEX 应用中集成钱包连接的综合指南,支持 EVM(Ethereum、Arbitrum 等)和 Solana 钱包。
何时使用 设置新 DEX 的钱包连接 支持多种钱包类型(MetaMask、Phantom 等) 实现链切换 管理身份验证状态
前提条件 已安装 Orderly SDK 包 已配置提供者(请参阅 orderly-sdk-dex-architecture) 已安装钱包包 (@web3-onboard/、@solana/wallet-adapter-)
概述 Orderly Network 支持跨链交易,意味着用户可以连接来自多个区块链生态系统的钱包: EVM 链:Ethereum、Arbitrum、Optimism、Base、Polygon、BSC、Avalanche 等 Solana:主网和开发网 SDK 提供了一个统一的钱包连接层,抽象了这些生态系统之间的差异。
钱包连接器包 注意:@orderly.network/wallet-connector 包默认工作正常。solanaInitial 和 evmInitial 属性都是可选的。 # 主连接器包 npm install @orderly.network/wallet-connector # 可选:EVM 钱包包(用于自定义钱包配置,如 WalletConnect) npm install @web3-onboard/injected-wallets @web3-onboard/walletconnect # 可选:Solana 钱包包(用于自定义 Solana 钱包配置) npm install @solana/wallet-adapter-base @solana/wallet-adapter-wallets
所需依赖项摘要 包名 | 目的 | 所需用于 ---|---|--- @web3-onboard/injected-wallets | MetaMask、Coinbase Wallet、Rabby 等 | EVM 钱包连接 @web3-onboard/walletconnect | WalletConnect 协议 | 移动和多平台钱包 @solana/wallet-adapter-base | Solana 钱包适配器基类 | 所有 Solana 钱包 @solana/wallet-adapter-wallets | Phantom、Solflare、Ledger 适配器 | Solana 钱包连接
架构 ┌──────────────────────────────────────────────────────────────┐ │ WalletConnectorProvider │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ SolanaProvider │ │ │ │ (ConnectionProvider + WalletProvider + ModalProvider)│ │ │ │ ┌───────────────────────────────────────────────┐ │ │ │ │ │ │ InitEvm │ │ │ │ │ │ (Web3OnboardProvider for EVM wallets) │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ Main │ │ │ │ │ │ │ │ │ (WalletConnectorContext - unified API) │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Your App │ │ │ │ │ │ │ │ │ │ └─────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └─────────────────────────────────────────┘ │ │ │ │ │ │ │ │ └───────────────────────────────────────────────┘ │ │ │ │ │ └───────────────────────────────────────────────────────┘ │ │ └──────────────────────────────────────────────────────────────┘
基本设置 重要:networkId 必须在 WalletConnectorProvider(Solana 网络)和 OrderlyAppProvider 之间保持一致。
- WalletConnectorProvider
自定义设置(显式钱包配置):import { WalletConnectorProvider } from '@orderly.network/wallet-connector'; import { OrderlyAppProvider } from '@orderly.network/react-app'; import type { NetworkId } from '@orderly.network/types';
function App() { const networkId: NetworkId = 'mainnet'; return ( ); }
import { WalletConnectorProvider } from '@orderly.network/wallet-connector'; import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; import { OrderlyAppProvider } from '@orderly.network/react-app'; import type { NetworkId } from '@orderly.network/types';
function App() { const networkId: NetworkId = 'mainnet'; return ( ); }
- 配置 EVM 钱包
import injectedOnboard from '@web3-onboard/injected-wallets';
import walletConnectOnboard from '@web3-onboard/walletconnect';
import binanceWallet from '@binance/w3w-blo';