Мой блокчейн-проект с версией solc ^0.4.6. Выдавал ошибки при получении команды быть web3.eth.accounts.
web3.eth.accounts
Uncaught Error: Invalid JSON RPC response: undefined at Object.InvalidResponse (E:\techdot-master\node_modules\web3\lib\web3\errors.js:38:16) at HttpProvider.send (E:\techdot-master\node_modules\web3\lib\web3\httpprovider.js:91:22) at RequestManager.send (E:\techdot-master\node_modules\web3\lib\web3\requestmanager.js:58:32) at Eth.get [as accounts] (E:\techdot-master\node_modules\web3\lib\web3\property.js:107:62).
Я пробовал читать документы и пробовал другие команды. До сих пор не могу решить проблему!
Рекомендую использовать ehtersjs, с ним все намного проще.
«Недопустимый ответ JSON RPC» означает, что вы не подключены к узлу. Чтобы подключиться к узлу, вам нужен провайдер. Вы можете получить учетную запись infura и создать провайдера HdWalletProvider
const HDWalletProvider = require("@truffle/hdwallet-provider");
const provider = new HDWalletProvider({
mnemonic: {
phrase: metamask_mnemonic,
},
providerOrUrl: ropsten_network,//infura endpoint here
});
Или, если вы используете ganache-cli
const ganache = require('ganache-cli');
const provider = ganache.provider()
Затем создайте веб3
const web3 = new Web3(provider);
Думаю вместо аккаунтов должно быть getAccounts
const accounts = await web3.eth.getAccounts();