使用web3.js将新合约部署到以太网络中

问题描述 投票:0回答:1

我尝试使用相关的依赖项来运行此代码以获得合同地址,但收到错误

No "from" address specified in neither the given options, nor the default options.从浏览器中。此外,通过使用metamask ropsten testnet使用Remix工具进行部署时没有错误。

onSubmit = async (event) => {
    event.preventDefault();
    this.setState({ loading: true, errorMessage: '' }); 
    try {
        const accounts = await web3.eth.getAccounts();
        console.log(accounts)
        await factory.methods
        .createCampaign(this.state.minimumContribution)
        .send({ from: accounts[0] })
        Router.pushRoute('/');
    } catch (err) {
        this.setState({ errorMessage: err.message }) 
    }
    this.setState({ loading: false });
}
javascript reactjs solidity web3js
1个回答
0
投票

console.log(accounts)打印任何内容吗?

如果没有,请尝试使用以下代码设置web3:

if (typeof web3 !== 'undefined') {
  window.web3 = new Web3(web3.currentProvider);
  web3.currentProvider.enable();
} else {
  window.web3 = new Web3(new Web3.providers.HttpProvider("..."));
}
© www.soinside.com 2019 - 2024. All rights reserved.