¿Cómo decidir la cantidad de éter que necesita para su aplicación?

Digamos que estoy construyendo un contrato que funciona como un sistema de puntos de monedas/marcas. Sé que cuando implementamos el contrato necesitamos ether. Y se realizará la transacción que luego necesita gasolina para la tarifa. El gas sera extraído del ether que tiene la cuenta verdad?

Se dice que el gas es consistente, pero no se puede predecir el número de transacciones. Pueden ser pocos o enormes, entonces, ¿cómo calculamos el éter que necesitamos en primer lugar? (Estoy preguntando esto en caso de que cree una aplicación y luego la envíe al cliente, cómo debe configurar la cantidad de éter y asegurarse de que no se agote más tarde)

Cualquier persona con experiencia en el desarrollo de DApp, por favor, ayude a explicar cómo debemos asignar ether en primer lugar. ¿Y qué hacer cuando se acaba el éter?

Muchas gracias

Estoy bastante seguro de que no está duplicado. Si entiendo bien es una confusión sobre quién paga la gasolina al interactuar con un contrato.
Confirmo que el problema parece ser que el OP cree que tiene que proporcionar gasolina para todas las futuras llamadas de tx en su contrato. Cada usuario paga el gas por su llamada y OP solo tiene que pagar por el gas de creación del contrato.

Respuestas (2)

Parece que tiene algunas cosas fundamentales que le confunden con los contratos y el éter: en primer lugar, usted, como ser humano (o empresa), posee una dirección de Ethereum que puede usar para transferir éter hacia y desde (su billetera). Cuando implementa un contrato, esa acción es una transacción en la cadena de bloques de Ethereum, por lo que debe provenir de alguna dirección de Ethereum. Entonces, lo firma con la dirección de su billetera y la máquina virtual Ethereum crea una nueva dirección (separada de su propia dirección de billetera) para el nuevo contrato.

Cualquiera puede enviar ether a un contrato. Pero recuperar el éter depende del código del contrato en sí. Debe elegir cómo va a funcionar a medida que lo desarrolla.

Entonces, para responder a sus preguntas:

El gas [para implementar el contrato] se extraerá del éter que tiene la cuenta, ¿no?

La cuenta que está implementando el contrato (su billetera) debe tener suficiente ether para pagar el gas para crear el contrato, sí. El contrato recién creado se creará sin éter (a menos que el código del contrato haga algo que transfiera éter).

Se dice que el gas es consistente, pero no se puede predecir el número de transacciones. Pueden ser pocos o enormes, entonces, ¿cómo calculamos el éter que necesitamos en primer lugar?

La cantidad de gas necesaria para crear un nuevo Contrato depende de la complejidad del código del propio Contrato. Puede usar la estimateGas()función en web3 para calcular eso a partir del código de bytes compilado de su contrato antes de implementarlo ( más detalles ).

Cómo debe configurar la cantidad de éter y asegurarse de que luego no se agote

Tanto su propia billetera personal como cualquier contrato implementado pueden recibir el pago de ether. Por lo tanto, si su contrato implementado necesita enviar ether a alguien y se agota, puede enviarle más en otro momento. Sin embargo, es posible que un contrato, una vez implementado, nunca necesite éter, ya que no paga el gas necesario para activar sus métodos. Se debe diseñar una transacción para llamar funciones en ese contrato, y esa función de llamada debe provenir de un contrato de propiedad humana, y el contrato de propiedad humana paga el gas de la transacción.

El gas sera extraído del ether que tiene la cuenta verdad?

  1. Para implementar un contrato, necesita ether en la cuenta que implementará el contrato.

  2. Luego, todas las cuentas que interactuarán con su contrato pagarán el combustible. En realidad, el contrato (y el propietario del contrato) no pueden pagar las tarifas del usuario.

Pero con el próximo lanzamiento de Metropolis y la abstracción de la cuenta, los contratos inteligentes podrán pagar las tarifas.

Esto significa que en realidad no tiene que preocuparse por llenar su contrato con ether ya que no puede pagar el gas por transacciones realizadas por otras cuentas.

Entonces, la respuesta de cómo calcular el éter que necesitamos en primer lugar es realmente difícil de responder ya que ningún contrato lo ha hecho todavía.