¿Puedo otorgar nuevos usuarios de red de prueba de mi Ether de contrato inteligente que poseo?

Estoy creando un contrato inteligente de votación que permite a los participantes votar sobre un tema en particular y tener el voto y varios datos auxiliares escritos en la cadena de bloques. Soy un nuevo desarrollador de Ethereum/Solidity y necesito ayuda para crear una buena estrategia para la fase de prueba del desarrollo e implementación del contrato inteligente cuando reside solo en la red de prueba.

Me gustaría hacer las cosas lo más fáciles posible para mis usuarios de prueba, así que espero poder hacer que el contrato inteligente "financie" todo el voto de Ether que solicité de la red de prueba de Rinkeby yo mismo (es decir, desde mi cuenta). Estoy tratando de evitar que cada usuario de prueba tenga que hacer sus propias solicitudes de Ether desde la red de prueba de Rinkeby solo para poder participar.

En general, ¿cómo gestionan/facilitan la mayoría de ustedes la fase de prueba de sus contratos inteligentes cuando se ejecutan en una red de prueba? ¿Hay algún buen artículo o documento en alguna parte que describa específicamente estos problemas?

Respuestas (1)

Es un poco como un escenario de huevo de gallina porque necesitarían un poco de éter para firmar una transacción en su contrato. Aparte, su contrato puede reenviar el ether que tiene, pero no el ether que tiene otra persona (usted).

El patrón que buscas es un grifo. Este sería un sitio web que les permite solicitar que se envíe Ether a su cuenta para iniciarlos desde un saldo de 0. Podría ser igual de fácil proporcionar instrucciones claras para recolectar de un grifo existente.

Por ejemplo (Rinkeby): https://faucet.rinkeby.io/

o (Ropsten): http://ipfs.b9lab.com:8080/ipfs/QmWBRdUQsLahC8dWVo3rS9jrFnxGSw3WHm5gcHu3URTv87/throttled_faucet.html

Espero eso ayude,

¿Hay alguna forma de implementar el contrato con un saldo existente o "pagarlo" desde mi cuenta para financiarlo tan pronto como se implemente? A partir de su respuesta, ¿debo suponer que no hay forma de cargar todos los costos de transacción de Ether/Gas a el contrato en sí mismo (como poner una comida que compras para otra persona en la cuenta de tu habitación de hotel)? ¿O mis probadores todavía tendrán al menos algo de éter para firmar cualquier transacción contra el contrato, como dijiste?
Los contratos pueden retener fondos y pueden reenviar fondos, pero no pueden pagar la gasolina. Esto se debe a que no pueden ser el iniciador de la transacción firmada. Siempre proviene de una cuenta de propiedad externa y siempre asume el costo del gas para procesar la solicitud, independientemente de cuántos contratos pueda haber en la cadena de mensajes que se desarrolla.