Estoy tratando de crear un contrato que se comporte de manera diferente según la selección del usuario. Sin embargo, no tengo idea de cómo dejar que el usuario "seleccione" la opción. Actualmente tengo una función alternativa básica que hace la lógica básica, pero esta lógica tiene 2 variables importantes que me gustaría que el usuario pudiera cambiar. ¿Cuál es el mejor enfoque para lograr esto? Sé que puedo crear una función de pago con 2 entradas que modificarán este comportamiento, pero ¿cómo usaría la gente esta función? Ninguna billetera (excepto MyEtherWallet) admite funciones e incluso con MEW necesita conocer ABI. ¿Hay una solución o algo?
Gracias, SEnergy
En realidad, básicamente nadie entrega los contratos tal cual a los usuarios finales. Casi siempre hay algunas capas de interfaz más antiguas entre el usuario y su(s) contrato(s) inteligente(s) como web3. Entonces, el usuario usa una interfaz fácil de usar y, en segundo plano, web3 y un nodo seleccionado se encargan de las interacciones del contrato inteligente.
Sin embargo, si esta es más una pregunta teórica o realmente desea que sus usuarios finales se conecten directamente a los contratos inteligentes:
Si no desea exigir a los usuarios finales que usen una billetera que admita contratos personalizados (o no desea que pasen por la configuración y todo), no le quedan muchas opciones.
Lo único que se me ocurre es determinar la selección en función de la cantidad de Ether enviada. Por ejemplo, el último dígito podría ser la selección: si el usuario envía 5003 o 4239082482390482903 weis, significa la selección 3. La diferencia monetaria es insignificante cuando se habla de weis.
Otra idea (tonta) es exigirles que envíen la cantidad requerida de transacciones. Si es solo una transacción, significa la selección 1 y así sucesivamente.
usuario19510
Lauri Peltonen