Недопустимый asm.js: недопустимый член stdlib - PullRequest
0 голосов
/ 17 декабря 2018

(узел: 7894) V8: /var/www/html/testeth/node_modules/solc/soljson.js:3 Invalid asm.js: недопустимый член stdlib

Я выполняю тестовое развертывание наganache-cli простой контракт, но он показывает это предупреждение.Пожалуйста, помогите решить эту проблему.

Ниже приведен код "index.sol"

pragma solidity ^0.4.17;

contract testalk{

string public message;

function testalk(string initialMsg) public {
    message = initialMsg;
}

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

}

, и я тестирую его с помощью "mocha" и поставщика ganache-cli, как показано ниже:-

const assert = require('assert');
const ganache = require('ganache-cli');
const Web3 = require('web3');

const web3 = new Web3(ganache.provider());

const { interface, bytecode} = require('../compile');

require('events').EventEmitter.defaultMaxListeners = 15;

let accounts;
let testeth;

beforeEach( async ()=>{

accounts = await web3.eth.getAccounts();

testeth = await new web3.eth.Contract(JSON.parse(interface))
                .deploy({data: bytecode, arguments: ['Hi Alok!']})
                .send({gas: '1000000',from: accounts['0']});

});

describe("testalk",() => {
it('deploy a contract', () =>{
    assert.ok(testeth.options.address);
});

it('get the message', async () => {
    const message = await testeth.methods.message().call();
    assert.equal('Hi Alok!', message);
    //console.log(message);
})

it('get the message', async () => {
    await testeth.methods.setMessage("Bye Alok!").send({from: accounts[0], gas: '1000000'});

    const message = await testeth.methods.message().call();
    console.log(message);

});

});

Я использую Ubuntu и nodejs.

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

Я решил недопустимый член stdlib и "перед каждым" ловушкой для "развертывает контракт" проблемы, удалив папку "node-modules" в текущем каталоге, а затем переустановил модули из терминала:

npm install --save ganache-cli mocha web3@1.0.0-beta.37 solc@0.4.17

Если на вашем компьютере установлена ​​anaconda, вы должны отключить ее перед установкой этих модулей с помощью команды conda deactivate.Я не смог найти решение для этого в Интернете, и я надеюсь, что это поможет вам решить вашу проблему ...

0 голосов
/ 18 декабря 2018

Это может произойти по многим причинам.Если вы используете remix ide, то по умолчанию asm отключен в Chrome, что может быть проблемой.Вы могли бы использовать старый компилятор Solidity несовместимым способом.Могут быть проблемы с вашим кодом.Если вы не предоставите всю специфику кода, среду, которую вы используете, такую ​​как IDE, Операционная система и т. Д., Любой может только догадываться о макс.

...