El precio de Geth Gas es demasiado bajo para aceptarlo

¿Por qué gethno me deja publicar una transacción con un mínimo gasPrice?

> ./geth console
> eth.sendTransaction({ "from": "...", "to": "...", "gas": "30000", "gasPrice": "10", "value": "0.1" })
Gas price too low for acceptance

Mi entendimiento de Ethereum es que gasPricelo establece el usuario y un minero lo procesará o no (presumiblemente en función del precio del gas). Sin embargo, gethparece estar obligándome a elegir uno gasPriceque crea que es razonable. El algoritmo exacto no está claro, pero también es irrelevante para mi pregunta. Este comportamiento parece contrario a todo el concepto de precios del gas impulsados ​​por el mercado.

¿Hay alguna manera de decir geth"no, en serio, déjame enviar mi transacción con un precio de gasolina bajo"? ¿Estoy malinterpretando todo el modelo de gas? ¿Es esto un error geth?

vea esta pregunta : no es un getherror, es cómo funciona el sistema. Si el precio de su gasolina es demasiado bajo, los mineros simplemente no lo aceptarán.
Creo que es una elección de diseño cuestionable no permitir que el usuario publique transacciones con gas arbitrario. ¿Qué pasa si una persona tiene un código de minería personalizado que acepta transacciones de gas bajo desde sus propias cuentas?
@Joël La respuesta a la pregunta que vinculó es Yes, you can [set the gas price to what ever you want].Esto es contrario tanto al comportamiento gethcomo a su respuesta. Sé que los mineros no lo aceptarán. Eso es diferente a gethno dejarme publicarlo.
@TjadenHess De todo lo que he leído sobre Ethereum, no poder publicar transacciones de precios de gas 1wei no es parte del diseño de Ethereum, por lo que creo que es un error en geth. Además, las personas pueden hacerlo como se ve aquí: etherscan.io/tx/… . Eso fue hace unas horas y se extrajo con éxito.
Sí, quise decir que fue una elección extraña por parte de los desarrolladores geth no permitir ese comportamiento, ya que está permitido en el protocolo.
@TjadenHess ¿Cree que fue una decisión de diseño intencional y no un error/accidente? Si es así, ¿tienes un enlace a algo que lo respalde?
Bueno, dan un mensaje de error muy claro, por lo que alguien debe haber decidido no permitirlo. Sin embargo, puede haber alguna solución al usar transacciones sin procesar.

Respuestas (1)

Esta es una limitación de la rama estable 1.3.x. Esta verificación ya se eliminó para transacciones propias/locales en la rama 1.4 ( https://github.com/ethereum/go-ethereum/pull/1997 ), lo que le permite insertar transacciones de hasta 0 precio de gasolina en su nodo local. Los nodos en la red aún no aceptarán nada por debajo de su límite configurado ni reenviarán dichas transacciones (de lo contrario, sería un ataque DDOS de ampliación). Sin embargo, si logra conectarse a un nodo que sí lo hace (es decir, un minero altruista), entonces podría transmitirle sus transacciones.

Según nuestra discusión en el Gitter.imcanal, no voy a marcar esto como una respuesta porque parece que las cosas van a cambiar en algún momento y no creo que Stack Exchange permita preguntas sin respuesta. Una vez que se descubra una solución al problema general de los precios del gas determinados por el mercado, podemos responder a esta pregunta de manera más permanente y marcarla como tal.