@ dedot/ 提供者
JSON-RPC供应商
自定义请求头( E)WsProvider(中文(简体) )
自定义的 HTTP 信头可以随同 Websocket 打开握手, 例如:用私人RPC端点或代理进行认证.
import { WsProvider } from '@dedot/providers';
const provider = new WsProvider({
endpoint: 'wss://private.rpc',
headers: {
Authorization: `Bearer ${process.env.API_TOKEN}`,
'X-Client-ID': 'example-client',
},
});
标题也可以在每次连接尝试(包括再连接)时被解决, 用于刷新寿命短的符号或每个端点使用不同的证书:
const provider = new WsProvider({
endpoint: ['wss://private.rpc', 'wss://private-backup.rpc'],
headers: async ({ attempt, currentEndpoint }) => ({
Authorization: `Bearer ${await fetchToken(currentEndpoint)}`,
}),
});
[注] 自定义头只支持在非浏览器环境中(Node.js, Bun). 浏览器不允许为 Websocket 打开握手设置标题, 信头被忽略 警告被记录在案.