Quiero saber la estructura de trie de almacenamiento y su estructura de datos en leveldb, y leo solidity storage .
Todavía tengo preguntas?
En el papel amarillo, dice que la raíz de almacenamiento es una asignación entre un entero de 256 bits y un entero de 256 bits, ¿este par de valores clave se almacena en leveldb?
Si queremos almacenar un valor V en la prueba de almacenamiento de un contrato. Después del almacenamiento de solidez , cuento la clave K para V e inserto V usando K en el trie de almacenamiento (al igual que K es la dirección de la cuenta y V es el estado de la cuenta en el trie de estado). Luego actualice la raíz de almacenamiento como state trie. ¿Tengo razón?
Si la pregunta 1 es correcta, ¿cuál es la clave real que usamos para almacenar V en leveldb, es K o K y algo después de SHA3? ¿Cómo podemos obtener el hash principal de algunos nodos de valor de hoja, simplemente use SHA3 (valor1, valor2, ...)?
No soy un experto, pero permítanme compartir mi comprensión. Además, consulte esta pregunta: Ethereum Merkle Patricia Trie y Hashes
keccak256(k . p)
)Te recomiendo mirar también los siguientes enlaces:
Referencias: https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/ https://wanderer.github.io/ethereum/nodejs/code/2014/05/21/using- ethereums-tries-with-node/ https://github.com/medvedev1088/ethereum-merkle-patricia-trie-example https://medium.com/cybermiles/diving-into-ethereums-world-state-c893102030ed