Браузер Solidity и Truffle дают разные байт-коды

Я компилирую в браузере Solidity, а затем точно такой же код компилирую в трюфеле.

Код следующий:

pragma solidity ^0.4.11;
contract double{function d(int256 a)constant returns(int256){return a*2;}}

Полученные байт-коды отличаются друг от друга.

Truffle:
0x60606040523415600e57600080fd5b5b60978061001d6000396000f300606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636482e6268114603c575b600080fd5b3415604657600080fd5b604f6004356061565b60405190815260200160405180910390f35b600281025b9190505600a165627a7a723058203747098ed60838a4e4a3a8ba05db5e7f3eeb60237761809e1f89f6007b52938e0029


Solidity Browser:
6060604052341561000f57600080fd5b5b60ab8061001e6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636482e62614603d575b600080fd5b3415604757600080fd5b605b60048080359060200190919050506071565b6040518082815260200191505060405180910390f35b60006002820290505b9190505600a165627a7a72305820e77f3602d7e14b8ffd5ef32976d823a77ab5c91be0a1cad7a188ff3bdba9d4ea0029

Есть ли что-нибудь еще, что мне нужно сделать в трюфеле, чтобы я мог скомпилировать его точно так же, как, скажем, браузер Solidity?

вы используете тот же компилятор?
Я использую трюфель в том виде, в котором он есть, и браузер Solidity в том виде, в каком он есть... Версия компилятора одинакова в обеих прагмах solidity ^0.4.11;

Ответы (1)

использование ^0.4.11означает, что ваш контракт будет скомпилирован с использованием компилятора 0.4.11 или более новой версии (текущая версия 0.4.15). поэтому я думаю, что трюфель и браузер Solidity используют разные компиляторы. вам нужно проверить, какая версия используется.
Truffle: Как найти точную версию компилятора Solidity, используемую truffle?
Ремикс :введите описание изображения здесь

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