Невозможно получить учетную запись метамаски - PullRequest
0 голосов
/ 18 апреля 2019

Раньше я получал адрес учетной записи Metamask, но неожиданно я не смог получить учетную запись и получил эту ошибку.

Uncaught (in promise) Error: No valid "from" address specified in neither the given options, nor the default options.

Я указал такой адрес

const accounts = await web3.eth.getAccounts()
    this.setState({ account: accounts[0] })

Ошибка происходит в этом коде

createPlace(name) {
    this.setState({ loading: true })
    this.state.placeList.methods.createPlace(name).send({ from: this.state.account })
    .once('receipt', (receipt) => {
      this.setState({ loading: false })
    })
  }

Есть ли проблема в моем коде?

Не могли бы вы дать мне какой-нибудь совет, пожалуйста?

1 Ответ

0 голосов
/ 25 апреля 2019

В этом случае метамаска не может подключиться к браузеру и внедрить в него web3.

Одно из возможных решений: в вашем коде может быть строка, которая проверяет CurrrentProvider ?

Пример:

if (typeof window !== 'undefined' && typeof window.web3 !== 'undefined') {
  // We are in the browser and metamask is running.
  web3 = new Web3(window.web3.currentProvider);
} 

изменить строку на

window.web3.currentProvider.enable()

и сохранить файл, сохраняя работоспособность сервера.

Это должно работатьдля вас.

Еще одна вещь, которую вы можете сделать, это написать свои логические коды внутри блока try и сделать

window.web3.currentProvider.enable()
...