¿Por qué las unidades de gas usadas en el recibo de transacción son 10^11 Wei?

Estoy comprobando el saldo de una cuenta después de una payabletransacción en una prueba de Truffle. A continuación se muestra mi código:

// amount is the value supplied to the txn
assert.equal(Number(String(currentBalance)),
             Number(String(previousBalance)) + amount - (gasUsed * 100000000000),
            'Account balance for ' + String(acct) + ' incorrect after txn.');
// previous account bal: 99965457999999999000
// current account bal: 99954881999999998000
// gasUsed: 105760
// amount: 1000

Como puede ver, tengo que multiplicar el gasUsedvalor por 10^11o mi prueba fallará... Realmente no entiendo por qué es 10^11. GWEI ( 10^9) tiene mucho más sentido. Al menos un múltiplo de 3, ¿verdad? Esto no está en la documentación de web3 en absoluto.

EDITAR: para aclarar, estoy tratando de averiguar qué gasUsedes y si web3 o Truffle están sobrescribiendo el precio predeterminado del gas. El precio de la gasolina según mi interfaz de Ganache es 20000000000, lo que no funciona con mis cálculos. Es por eso que me hicieron creer gasUsedque la tarifa total de txn está en wei.

¿Puede darnos el valor real devuelto?
¡Acabo de sumar los valores de todas las variables!

Respuestas (1)

El gas no es éter. El gas se utiliza para estimar el trabajo realizado por el EVM. No tiene nada que ver con weis/éter, etc...

Si desea saber cuánto éter vale este gas, multiplíquelo por el valor de gasPrice.

Y según su cálculo, parece que el precio de la gasolina es probablemente de 100 gwei (10^11 wei).
Eso es lo que inicialmente pensé yo también, pero estoy usando Ganache y de acuerdo con la interfaz de Ganache, mi precio de gasolina es 20000000000 por defecto. ¿Web3 sobrescribe esto con su propio valor predeterminado?
Si no se proporciona gasPrice en el objeto de la transacción, geth obtendrá el precio del gas del propio EVM al procesar la transacción.
Ok, tal vez esta debería ser una pregunta sobre Ganache y su interfaz engañosa, entonces