Получение пустого массива в web3.eth.getAccounts () - PullRequest
1 голос
/ 23 февраля 2020

я использую next. js и на стороне сервера это web3.eth.getAccounts () возвращает пустой массив, так что вот мои файлы, это индекс. js со страниц и web3. js, чтобы получить экземпляр web3

index. js:

import React, { Component } from "react";
import web3 from "../ethereum/web3";
import Layout from "../components/layout";
class Index extends Component {
  static async getInitialProps() {
    // await window.ethereum.enable();
    const accounts = await web3.eth.getAccounts();
    console.log(accounts);
    return { accounts };
  }
  render() {
    return (
      <Layout>
        <h1>it is index page</h1>
      </Layout>
    );
  }
}

export default Index;

web3 page

import Web3 from "web3";

let web3;

if (typeof window !== "undefined" && typeof window.web3 !== "undefined") {
  web3 = new Web3(window.web3.currentProvider);
} else {
  const provider = new Web3.providers.HttpProvider(
    "https://rinkeby.infura.io/v3/my_key"
  );
  web3 = new Web3(provider);
}

export default web3;

1 Ответ

0 голосов
/ 27 февраля 2020

Это правильно, потому что в полном узле Infura нет учетной записи. Вы должны использовать truffle-hdwallet-provider вместо web3 Prodiver.

...