Как подписывать сообщения с помощью Web3 и MetaMask из приложения React - PullRequest
0 голосов
/ 12 февраля 2019

Я работаю над своим первым даппом и пытаюсь использовать Web3 и MetaMask для подписи сообщения, но продолжаю получать эту ошибку:

inpage.js:1 MetaMask - RPC Error: Error: WalletMiddleware - Invalid "from" address.

У меня естьрежим конфиденциальности MetaMask отключен.Метод getCoinBase () правильно возвращает адрес, который я выбрал в MetaMask.Но когда я пытаюсь использовать его для подписи сообщения, оно не работает.

Вот мой код: линии точек должны пропускать неважные фрагменты.

let Web3 = require('web3')
.
.
.
constructor(props) {

    super(props);

    if (typeof web3 != 'undefined') {
      // eslint-disable-next-line no-undef  
      this.web3 = new Web3(web3.currentProvider);
    }

    this.web3.eth.getCoinbase()
    .then(account => {
      this.web3.eth.sign('test message', account);
    });
}

1 Ответ

0 голосов
/ 12 февраля 2019

Метамаска недавно внесла изменения в то, как они отображают адреса для пользователей.Я нашел сообщение StackOverflow, которое похоже на здесь .Цитировать:

The Invalid address error can also happen if you haven't called window.ethereum.enable(); yet.

Связанное сообщение в блоге от команды Metamask: https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8

...