Версия Pragma - redfors/blockchain GitHub Wiki
Исходные файлы могут (и должны) быть аннотированы с так называемой версией прагмы, чтобы отказаться от компиляции будущих версий компилятора, которые могут привести к несовместимым изменениям. Мы стараемся сохранить такие изменения в абсолютном минимуме и особенно вносить изменения в то, что изменения в семантике также потребуют изменений в синтаксисе, но это, конечно, не всегда возможно. Из-за этого всегда рекомендуется читать через журнал изменений, по крайней мере, для релизов, которые содержат нарушения, эти выпуски всегда будут иметь версии формы 0.x.0или x.0.0.
Прагма версии используется следующим образом:
pragma solidity ^ 0.4 . 0 ;
Такой исходный файл не будет компилироваться с компилятором раньше версии 0.4.0, и он также не будет работать с компилятором, начиная с версии 0.5.0 (это второе условие добавляется с помощью ^). Идея этого заключается в том, что до версии не будет никаких изменений 0.5.0, поэтому мы всегда можем быть уверены, что наш код будет компилироваться так, как мы предполагали. Мы не фиксируем точную версию компилятора, так что выпуски исправлений по-прежнему возможны.
Можно указать гораздо более сложные правила для версии компилятора, выражение следует за выражениями, используемыми npm .