我正在将 web3 版本 1.2.11 导入为
import Web3 from 'web3'
打字稿中的const readonlyProvider = new Web3.providers.HttpProvider(providerURL)
。
编译后进入javascript
const readonlyProvider = new web3_1.default.providers.HttpProvider(providerURL);
其中 web3_1.default 在控制台中未定义。
在 web3 的早期版本中,没有
Web3.providers.
我们用来创建一个提供程序然后将其插入到 new Web3
像这样
let web3;
if (typeof window !== "undefined" && typeof window.web3 !== "undefined") {
window.ethereum.enable();
// we are on browser and we are running metamask
// window.web3 is old spec. recent one is window.ethereum
web3 = new Web3(window.web3);
// web3 = new Web3(window.ethereum)
} else {
// we are on server or user is not runnint metamask
const provider = new HDWalletProvider({
mnemonic: {
phrase: process.env.METAMASK_KEY,
},
providerOrUrl: process.env.YOUR_PRIVATE_NODE, // GOERLI MAYBE
});
// THIS IS HOW WE USED TO INITIALIZE WEB3 INSTANCE
web3 = new Web3(provider);