EIP20.Sol не компилируется. На remix.ethereum.org я пытаюсь развернуть тестовый токен

Я следовал инструкциям и получил ошибку:

Ожидаемый токен ошибки синтаксического анализа ; получил передачу «LParen» Transfer (msg.sender, _to_value);

Как это исправить?

Код:

function transfer(address _to, uint256 _value) public returns (bool success) { 
    require(balances[msg.sender] >= _value); 
    balances[msg.sender] -= _value; 
    balances[_to] += _value; 
    emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars return true; 
}
С этой ссылки на видео youtube.com/watch?v=d5EipPVafsA
Ошибка в строке 43. Код ниже
передача функции (адрес _to, uint256 _value) общедоступные результаты (логический успех) { require (балансы [msg.sender] >= _value); балансы[msg.sender] -= _value; балансы[_to] += _value; передать Transfer (msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars return true; }
Ошибка здесь выдает Transfer(msg.sender, _to, _value);
Пожалуйста, добавьте весь код в вопрос с правильным форматированием. Я подозреваю, что вы используете старую версию компилятора, которая еще не поддерживает emitключевое слово
Это говорит слишком долго на 2348 символов?
Ну хоть ссылку на полный код дайте - вы его откуда-то скопипастили
прочность прагмы ^0,4,21;

Ответы (1)

Если я скопирую EIP20.sol и EIP20Interface.sol из предоставленного github ConsenSys в Remix (в том же файле), он скомпилируется просто отлично. Также я сомневаюсь, что ConsenSys будет выпускать код, который даже не компилируется.

Я подозреваю, что ваша проблема в другом. Может быть, вы случайно как-то изменили свой код?

Если вы говорите, что ошибка в Transferстроке, то я предполагаю, что вы используете слишком старый компилятор, в котором еще нет emitключевого слова для событий. Он включен в версии, начиная с 0.4.21.

Спасибо за проверку. Я собираюсь перепроверить код. Я уверен, что ничего не трогал, кроме изменения 4.21 на 4.19 в EIP20Interface.sol, потому что была ошибка с 4.21?
Код не будет компилироваться
прочность прагмы ^0,4,21;
Если вы измените его на 4.19, он скомпилируется?
гм. 0.4.19 не будет компилироваться, потому что в нем нет emitключевого слова. Вы должны использовать 0.4.21 или новее.
Почему тогда EIPInterface.sol не компилируется с версией 4.21? Пожалуйста, посоветуйте, как это исправить. Спасибо.
Здесь все отлично, как я уже говорил
Хорошо, я попробую ваше предложение. Спасибо за работу со мной.
У меня такая же проблема! Файл интерфейса будет компилироваться только в версии 4.19, а файл токена вообще не будет компилироваться в этой версии. Точно такая же ошибка синтаксического анализа