La definición de constructores como funciones con el mismo nombre que el contrato está en desuso. Use "constructor (...) {... }" en su lugar [duplicar]

La advertencia es por ejecutar el código de muestra de Mastering Ethereum , aparece el error anterior y dice

Utilice "constructor(...) { ... }" en su lugar. function Migraciones() public {

Respuestas (1)

Esto se debe a un estándar en desuso. En el archivo, Migraciones.sol, reemplace la línea:

function Migrations() public {    

con:

constructor() public {

La línea de código que se muestra arriba es un constructor , se ejecuta en la implementación de un contrato y se usa (como en el archivo en contexto) para guardar la dirección del propietario del contrato ( msg.sender varía según quién interactúe con el contrato).

Esto reemplaza la implementación existente de usar una función con el mismo nombre que el contrato para actuar como un constructor con una función de constructor separada .

Está mal, no lo es, function constructorpero simplemente constructor.