El valor de retorno de sha256
es bytes32
. Así que usa bytes32 a = sha256(...)
y haz lo mismo para b
. Esto solucionará los errores del compilador y a == b
funcionará.
Pero actualmente no puede pasar una estructura a funciones hash como sha256
: https://github.com/ethereum/solidity/issues/980keccak256
. Por lo general, los miembros de las estructuras deben compararse entre sí. Una pregunta más específica puede ayudar a descubrir posibles optimizaciones (por ejemplo, puede haber formas de reducir las comparaciones requeridas según el diseño de la aplicación).
andréi zolín
struct Offer { uint amount; address transportCompany; string deliveryAddres; }