簡體   English   中英

在 web3.eth.getAccounts() 中獲取一個空數組

[英]Getting an empty array in web3.eth.getAccounts()

我正在使用 next.js 並且在服務器端它 web3.eth.getAccounts() 返回空數組所以這是我的文件一個是來自頁面的 index.js 和用於獲取 web3 實例的 web3.js

索引.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頁面

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;

這是正確的,因為 Infura 全節點中沒有帳戶。 您應該使用truffle-hdwallet-provider而不是web3 Prodiver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM