gpt4 book ai didi

node.js - UnhandledPromiseRejectionWarning : Error: The contract code couldn't be stored, 请检查您的气体限制

转载 作者:IT老高 更新时间:2023-10-28 23:02:02 24 4
gpt4 key购买 nike

我正在尝试将我的简单 Solidity 智能合约部署到 Rinkeby 网络上,但我不断收到错误消息:

UnhandledPromiseRejectionWarning: Error: The contract code couldn't be stored, please check your gas limit.

我的 Solidity 代码很简单

pragma solidity ^0.4.18; 

contract Greetings{
string public message;

function Greetings(string initialMessage) public{
message = initialMessage;
}

function setMessage(string newMessage) public {
message = newMessage;
}
}

我的部署脚本是:

const HDWalletProvider = require('truffle-hdwallet-provider'); 
const Web3 = require('web3');
const { interface,bytecode} = require('./compile');

const provider = new HDWalletProvider(
'twelve word mnemonic...',
'https://rinkeby.infura.io/GLm6McXWuaih4gqq8nTY'
);

const web3 = new Web3(provider);

const deploy = async () => {
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:['Hello World']})
.send({from: accounts[0], gas:'1000000'});

console.log('Contract deployed to', result.options.address);
};

deploy();

有趣的是,我以前能够成功部署,但是当我创建一个新项目并重新执行相同的代码时,我现在得到了这个错误。请帮忙!

最佳答案

遇到了完全相同的问题!似乎它是由“truffle-hdwallet-provider”版本 0.0.5 中的错误引起的。在udemy类(class)期间,它显然使用了“0.0.3”。

如果您执行以下操作应该没问题,它对我有用。

npm uninstall truffle-hdwallet-provider
npm install --save truffle-hdwallet-provider@0.0.3

然后我运行了已成功部署的同一个合约。

祝你好运!

关于node.js - UnhandledPromiseRejectionWarning : Error: The contract code couldn't be stored, 请检查您的气体限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50201353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com