A atualização da mainnet da Monad torna o armazenamento de dados juntos 98% mais barato

Monad, um blockchain compatível com EVM, ativou sua revisão MonadTen na rede principal às 14h30 UTC de 2 de setembro. A atualização MIP-8 muda a forma como a rede cobra contratos para leitura de armazenamento, substituindo o aquecimento slot por slot por grupos de 128 slots consecutivos.

Mônada bloco da rede principal 101672712 mediu 8.100 gases para ler o slot 0, 100 gases para ler o slot 1 na mesma página e 8.100 gases novamente no slot 128, o primeiro slot da próxima página.

O registro oficial de lançamento do MonadTen define a ativação no carimbo de data/hora Unix 1788359400. Abaixo desse carimbo de data/hora, as regras do MonadNine permaneceram em vigor.

Layout de armazenamento agora altera a conta

O especificação final MIP-8 define uma página de armazenamento como 128 palavras de 32 bytes cada, ou 4.096 bytes. O primeiro SLOAD em qualquer lugar da página custa 8.100 gas. As leituras posteriores em qualquer lugar dentro da página aquecida custam 100 gas para o restante da transação, sujeitas a reversão quando um quadro de chamada é revertido.

De acordo com o cronograma anterior da Monad, dois slots anteriormente intocados custavam 8.100 gasolina cada, mesmo quando sentados um ao lado do outro. Sob o novo preço de opcodeo mesmo par custa 8.100 gás e depois 100 gás se ambos estiverem na mesma página.

Diagrama mostrando o Monad MIP-8 carregando 8.100 gás para a primeira leitura de armazenamento em uma página de 4 KB, 100 gás para leituras posteriores naquela página e 8.100 gás novamente no limite da próxima página.Diagrama mostrando o Monad MIP-8 carregando 8.100 gás para a primeira leitura de armazenamento em uma página de 4 KB, 100 gás para leituras posteriores naquela página e 8.100 gás novamente no limite da próxima página.
O diagrama mostra o MIP-8 cobrando 8.100 gás para o primeiro SLOAD de cada nova página de 4 KB, enquanto os slots aquecidos subsequentes custam 100 gás.

Layouts comuns do Solidity podem herdar esse desconto automaticamente. Variáveis ​​de estado sequenciais, campos struct e elementos de array ocupam slots consecutivos, portanto, leituras repetidas têm maior probabilidade de permanecer dentro de uma página aquecida.