Солидность |Трюфель |Веб3 |Предел газа - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь развернуть контакт, используя приведенный ниже код в тестовой сети rinkeby:

    const result = await new web3.eth.Contract(JSON.parse(interface))
        .deploy({data: bytecode, arguments: [100, accounts[0]]})
        .send({gas: 1000000, from: accounts[0]});

Attempting to deploy from acount  0xBE80D3f83530f2Ed1214BE5a7434E0cd32177047
(node:3862) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: The contract code couldn't be stored, please check your gas limit.

When I increase the gas limit to 10000000
I get below error. Not able to understand what is wrong with the deployment

Attempting to deploy from acount  0xBE80D3f83530f2Ed1214BE5a7434E0cd32177047
(node:3870) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: exceeds block gas limit

1 Ответ

0 голосов
/ 27 мая 2018

Вы превышаете лимит газа.Возможно, вы выполняете слишком много работы над конструктором или просто отправляете слишком малый лимит газа.

Лимит газа Ринкеби составляет около 7,4M , поэтому вы можете попробовать увеличитьгаз от: 1M до ~ 7,4M.

Если ваш контракт слишком большой, вы можете разделить его на несколько контрактов или, как я уже говорил, сократить объем работы над конструктором.

...