подключиться к кошельку подключиться с помощью web3modal
когда я пытаюсь подключиться к своему кошельку из браузера доверенного кошелька, он перенаправляет меня в Google
[1]: https://i.stack.imgur.com/V4PPx.jpg[2]: https://i.stack.imgur.com/soFxv.jpg
код такой же, как и в документе trustWallet.
1. как правильно подключиться к кошельку подключить?
2. есть ли способ подключиться к тестовым сетям, таким как ropsten, с помощью кошелька?
// set chain id and rpc mapping in provider options
const providerOptions = {
walletconnect: {
package: WalletConnectProvider,
options: {
rpc: {
56: 'https://bsc-dataseed1.binance.org'
},
chainId: 56
}
}
}
const web3Modal = new Web3Modal({
network: "mainnet", // optional
cacheProvider: true, // optional
providerOptions // required
});
const provider = await web3Modal.connect();
await web3Modal.toggleModal();
// regular web3 provider methods
const newWeb3 = new Web3(provider);
const accounts = await newWeb3.eth.getAccounts();
console.log(accounts);
3 ответа
Если я правильно понял, попробуйте
const provider = await Web3Modal.connectTo('walletconnect')
вместо
const provider = await web3Modal.connect();
await web3Modal.toggleModal();
UPD: walletConnect — это всего лишь «агрегатор». вы не можете подключиться напрямую к какому-либо кошельку (по крайней мере, в первый раз) вы должны выбрать кошелек, к которому вы хотите подключиться (левая вкладка с кнопкой выберет приложения на вашем мобильном телефоне, к которым он может подключиться (метамаска, доверие, ...) и правая вкладка «qr-код» покажет вам qr, который вы можете сканировать с помощью приложений кошелька (метамаска, доверие, ...) на других устройствах). затем, если «cacheProvider» имеет значение true, вам не нужно нажимать его снова, пока не отключитесь от кошелька.
Просто случайно наткнулся на это. Чтобы ответить на ваш второй вопрос, чтобы подключиться к определенной цепочке Testnet:
- проверьте идентификатор ChainId на https://chainlist.org/ (не забудьте установить флажок «Включить тестовые сети»)
- найдите правильное имя цепочки (к сожалению, тестовая сеть Polygon называется Mumbai , а не что-то похожее, например «Polygon Mumbai Testnet»), затем откройте раскрывающееся меню, чтобы получить список RPC.
- используйте как ChainId, так и один RPC, чтобы добавить запись в
options.rpc
узел, гарантируя, что «газовый токен» также правильно установлен вnetwork
узел
Учитывая, что WalletConnect v1 устарел (на момент написания этой статьи), если вы перейдете на использование Web3Modal и WalletConnect v2, вы можете импортировать значения цепочки по умолчанию из «@wagmi/core/chains», а затем использовать их в «defaultChain » .
Я обнаружил, что для первой проблемы это не работает, потому что я был на локальном хосте. Когда я запустил свое приложение на сервере, он легко подключился к моему кошельку доверия на телефоне. По второму вопросу я нашел это:
walletconnect: {
package: WalletConnectProvider,
options: {
rpc: {
137: "https://rpc-mainnet.maticvigil.com/",
},
network: "matic",
},
},
};
для подключения к matic (многоугольной) сети, но я не мог подключиться ни к одной тестовой сети.