Se dice que los contratos no se pueden modificar una vez desplegados. Entonces, ¿por qué algunos proyectos pueden actualizarse?
Una vez desplegado un contrato de Ethereum, su bytecode no se puede modificar. Los proyectos que pueden actualizarse suelen hacerlo mediante un patrón de proxy. El contrato proxy ejecuta el código del contrato lógico mediante delegatecall, y el código se ejecuta en el contexto de almacenamiento del propio contrato proxy.
Muchos protocolos delegan los permisos de actualización a una multifirma o a votaciones de gobernanza, y además establecen un bloqueo temporal: las actualizaciones se anuncian con varios días de antelación antes de entrar en vigor, para que los usuarios tengan tiempo de retirar sus fondos.
Como referencia del mercado: $ETH , precio actual 2415.64, variación en 24 h: -3.77%.
Una vez desplegado un contrato de Ethereum, su bytecode no se puede modificar. Los proyectos que pueden actualizarse suelen hacerlo mediante un patrón de proxy. El contrato proxy ejecuta el código del contrato lógico mediante delegatecall, y el código se ejecuta en el contexto de almacenamiento del propio contrato proxy.
Muchos protocolos delegan los permisos de actualización a una multifirma o a votaciones de gobernanza, y además establecen un bloqueo temporal: las actualizaciones se anuncian con varios días de antelación antes de entrar en vigor, para que los usuarios tengan tiempo de retirar sus fondos.
Como referencia del mercado: $ETH , precio actual 2415.64, variación en 24 h: -3.77%.