clase 12 (solidity deep dive) Flashcards

1
Q

upgradability

que quiere decir que un contract es inmutable

A

los contratos en ethereum son inmutables, el address no puede cambiar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

upgradability

migracion de contratos

A

la idea es migrar la logica y el estado a otro set de contratos totalmente nuevos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

proxy pattern

A

usar proxys para upgrades
la data esta en un contrato y la logica en otro
los usuarios llaman al contrato que tiene la logica y este busca los datos en el contrato que guarda la memoria
entonces podemos intercambiar el contrato con la logica por uno nuevo con upgrades

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

strategy pattern

A

se crea un contrato principal y este llama a distintas estrategias en otros contratos que se pueden cambiar
el contrato principal delega el trabajo al contrato linkeado con la estrategia definida en vez de ejecutarlo por si mismo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

diamond pattern

A

combina un poco de strategy y proxy
la data se encuentra en un contrato (diamond) mientras que la logica en otro (facets)
cada faceta encapsula su propia funcionalidad
los usuarios llaman al contrato con la data y este hace la delegatecall al contrato que le corresponda
sirve para modularizar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

selectors

A

como sabe ethereum que funcion de un contrato se ejecuta
el contrato carga en memoria los primeros 4 bytes de la tx
estos son un hash de la declaracion de la funcion a ejecutar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

storage en ethereum

A

mapa clave valor donde el storage es un array de 2^251 lugares. cada lugar tiene 32 bytes
no maneja colisiones dentro del storage
las variables se cominenzan a guardar secuencialmente a partir del slot 0
es una memoria virtual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

layout storage

A

para valores estaticos se guarda el valor correspondiente a cada variable en el slot correspondiente
para valores dinamicos se tienen arreglos, mappings y strings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

layout in memory

A

lo mismo que storage pero no persiste entre cada ejecucion
mucho mas barata en terminos de gas que el storage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly