Прагма солидность - ошибка компиляции в jpmorganchase Cakeshop - PullRequest
0 голосов
/ 20 декабря 2018

Я запускаю простой код из примера SimpleStorage и просто добавил несколько строк поверх него, которые я использовал для других моих контрактов.Контракт отлично складывается из трюфеля.Но в интегрированной среде разработки Cakeshop он показывает ошибку компиляции.

pragma solidity ^0.4.24;
pragma experimental ABIEncoderV2;
contract SimpleStorage {

    uint public storedData; 

    event Change(string message, uint newVal);

    function SimpleStorage(uint initVal) {
        Change("initialized", initVal);
        storedData = initVal;
    }

    function set(uint x) {
        Change("set", x);
        storedData = x;
    }

    function get() constant returns (uint retVal) {
        return storedData;
    }

}

Он должен компилироваться в веб-интерфейсе Cakeshop, так как он компилируется на локальной машине

1 Ответ

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

При использовании Remix могут возникнуть следующие проблемы с вашим контрактом:

  1. Вы используете имя контракта для конструктора.Вместо этого вы должны использовать ключевое слово constructor.
  2. Во всех ваших функциях отсутствуют модификаторы видимости.Попробуйте добавить модификатор public к каждой функции, включая конструктор.
  3. События должны вызываться с использованием ключевого слова emit.Пример: emit Change("set", x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...