Веб-инициализация не работает правильно?
Проблема:
Я очень новичок в вещах Эфириума. Я заключил контракт и развернул тестовую сеть на Ринкби. Чтобы получить доступ к Web 3, когда метамаска недоступна, я сделал что-то вроде этого, но он не работает, как я ожидал.
Вот как я это сделал.
import Web3 from 'web3';
let web3;
if(typeof window.ethereum !== 'undefined' && window.web3 !== 'undefined'){
//we are in the browser
web3 = new Web3(window.web3.currentProvider);
}
else{
const provider = new Web3.providers.HttpProvider(
"mynewmonic",
'https://rinkeby.infura.io/v3/key'
);
web3= new Web3(provider);
}
export default web3;
Может ли кто-нибудь помочь мне сделать это работоспособным? Благодарю вас.
1 ответ
Решение
Откуда вы взяли этот фрагмент? Потому что, если вы прочитаете документацию здесь, Web3.providers.HttpProvider
принимает один параметр, который является сетью. Я думаю, что вы немного перепутали с трюфелями HDWalletProvider
который на самом деле принимает мнемонику, а также.