Soy un principiante, recientemente comencé a leer los documentos de Solidity.
Parece que no puedo encontrar esto en ninguna parte de Google. ¿Qué significa el guión bajo cuando se coloca con la indexed
palabra clave? Ejemplos: ¿
_from
_id
_amount
_account
En qué se diferencian de otras variables y cómo se usan en los eventos?
No tiene sentido en lo que respecta a la Solidez.
Algunos programadores eligen usar un guión bajo inicial para todos los parámetros de función, solo como una convención para indicar que son parámetros de función.
También se utilizan a menudo para evitar colisiones, por ejemplo:
uint256 totalSupply;
constructor(uint256 _totalSupply) public {
totalSupply = _totalSupply;
}
Allí, llamar al parámetro totalSupply
sombrearía la variable de estado existente totalSupply
, por lo que se usa el guión bajo inicial para evitar la colisión de nombres.
Solo para agregar un poco más de contexto, como lo indicó otra persona en los comentarios, no encontrará ninguna mención del guión bajo inicial en la guía de estilo.
Sin embargo, puede encontrar una recomendación para usar un guión bajo al final para evitar la colisión de nombres .
Esta convención se sugiere cuando el nombre deseado colisiona con el de una variable de estado existente, función, nombre incorporado o reservado de otro modo.
En cuanto a por qué se usa en Solidity, como ejemplo en Javascript, el guión bajo inicial se usa como una convención para falsificar la encapsulación e indicar que un nombre específico está protegido.
En C# indica que un nombre de campo es privado .
Así que supongo que hay una tendencia general a usar el guión bajo inicial para indicar que un nombre está reservado solo para uso interno.
buena vibración