在web3.eth.getAccounts()中获取空数组



我使用的是next.js,在服务器端它的web3.eth.getAccounts((返回空数组所以这里是我的to文件,一个是pages和web3.js中的index.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页

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 fullnode中没有帐户。您应该使用truffle-hdwallet-provider而不是web3 Prodiver

最新更新