@ cartridge/ 连接器
Starknet Start 和其他钱包标准的 Cartridge 控制器注册 图书馆.
为什么这个包裹需要即时处理
Cartridge 控制器基于iframe, 需要每个应用程序配置 (链条,付费人,预设等). 与浏览器扩展钱包不同,它不能 自动插入到页面负载中 —— dapp 必须在 app 一次构造它 启动.
何时 ControllerConnector 是即时的,它:
- 设定
window.starknet_controller如此传承window.starknet_*发现 发现它. - 电话
@wallet-standard/wallet是因为registerWallet(...)所以任何钱包标准 消费者(例如:.starknet-start通过@starknet-io/get-starknet-core(中文(简体) ) 通过标准事件频道发现它.
之后,发现并断开工作,不再进一步设置.
融合途径
Starknet 开始
import ControllerConnector from "@cartridge/connector";
import { mainnet } from "@starknet-start/chains";
import { publicProvider } from "@starknet-start/providers";
import { StarknetConfig } from "@starknet-start/react";
new ControllerConnector(options);
<StarknetConfig chains={[mainnet]} provider={publicProvider()}>
<App />
</StarknetConfig>;
证据 ControllerConnector 一旦启动您的配置。 没错
不传给 StarknetConfig; 构造器将 Cartridge 登记为
钱包标准发现.
对于 recommendedWallets 列表, 使用 id: "controller"。 。 。 .
香草 get-starknet / 钱包标准
相同的模式——即时 ControllerConnector 通过
@wallet-standard/wallet。 。 。 .
controller.asWalletStandard() 也暴露在深层
ControllerProvider 给那些想要 WalletWithStarknetFeatures
直接包装而不经过发现.