El OPCODE GASLIMIT
obtiene el límite de gas del bloque. Podría ensamblarse en línea,
uint gasLimit;
assembly {
gasLimit := gaslimit
}
buscar el límite de gas?
contract B {
function getGasLimit() returns (uint) {
uint gasLimit;
assembly {
gasLimit := gaslimit
}
return gasLimit;
}
}
Usando https://ethereum.github.io/browser-solidity/ , con un límite de gas establecido en 3000000, getGasLimit()
devuelve 6000000.
¿Por qué devuelve el doble del límite de gas?
Esta confusión se debió a la ambigüedad en el término "límite de gas", que en la solidez del navegador significaba gas por transacción , pero OP asumió que significaba el límite de gas del bloque . La confusión se agravó por el hecho de que el límite de gas de bloque en la máquina virtual del navegador tiene como valor predeterminado el doble del límite de gas de transacción.
Envié un PR, que se fusionó, y ahora la etiqueta dice "Límite de gas de transacción", que con suerte debería ser más claro
tjaden hess
Diablo
tjaden hess
msg.gas
las transacciones que se envían. Será lo que pongas en elgas limit
campo (menos un poco)tjaden hess
ética