PS: am using web3 beta-37 (Since every version has its own issues) Anything under the line web3.eth.getAccounts in the deploy function isn't working. When i run the code it just shows nothing! Here is the code:
const HDWalletProvider = require('truffle-hdwallet-provider');
const Web3 = require('web3');
const {interface , bytecode} = require('./compile');
const provider = new HDWalletProvider(mnemonic,
'https://rinkeby.infura.io/v3/my_project_id');
const web3 = new Web3(provider);
const deploy = async() => {
const accounts = await web3.eth.getAccounts();
console.log('Attempting to deploy from account', accounts[0]);
const result = await new web3.eth.Contract(JSON.parse(interface))
.deploy({data: bytecode, arguments: ['Hi There!']})
.send({'from': accounts[0], 'gas': '1000000'});
console.log('Contract deployed to: ', result.options.address);
};
deploy();
Also, testing this in mocha shows error while it works when using ganache-cli
const assert = require('assert');
const HDWalletProvider = require('truffle-hdwallet-provider');
const Web3 = require('web3');
const {bytecode , interface} = require('../compile');
const provider = new HDWalletProvider(mnemonic,
'https://rinkeby.infura.io/v3/project_id');
let accounts;
beforeEach(async () => {
//Get a list of all accounts
accounts = await web3.eth.getAccounts();
});
describe('Inbox', () => {
it('address', () => {
assert.ok(accounts);
})
Here are the results with different versions: beta-46: Cannot read property map() of undefined One answer on stackexchange says use beta-36 to fix this issue
beta-36 and beta-37: Nothing after the getAccounts() statement gets executed, blank screen.
beta-26: core.addProviders is not a function
my_project_id
in the Infura link, right? Apart from that, it seems weird that it is not working? What version ofweb3
do you use? Can you verify that the provider is set correctly (perhaps through debugging)? – nikos fotiadiscompile.js
file? and doesAttempting to deploy from account
this line get console logged? – Iftifar Tazconst accounts = await web3.eth.getAccounts();
gets console logged – akshay sharma