Obtener información del formulario de usuario: almacenamiento simple de cadenas

Soy nuevo en el juego solidity/dapp, pero estoy aprendiendo.

Aquí hay un código súper simple para un contrato inteligente que me gustaría usar para almacenar las cadenas de entrada del usuario desde un formulario web y almacenar esas respuestas en la cadena de bloques para que puedan consultarse más tarde:

pragma solidity ^0.4.0;

contract simpleStorage {
string name;
string email;

function simpleStorage() public {
   name = "Hello";
   email = "hi@gmail.com";
}

function setInfo(string userName, string userEmail) public {
    name = userName;
    email = userEmail;
}

function getInfo() constant returns (string, string){
    return (name, email);
}
}

En este momento, estoy tratando de descubrir cómo a) aceptar la entrada de cadena del usuario, convertir al formato legible JS/JSON con comillas dobles y b) configurar el formulario web para que funcione con este contrato y mi red geth privada

¿Cuál es tu pregunta? hay que ser mas especifico
¿Cómo hago para aceptar la entrada del usuario e introducirla en este contrato inteligente?
Tampoco sé cómo funcionan exactamente los conectores de un formulario web.

Respuestas (1)

La creación de un formulario web está fuera del alcance de esta comunidad, simplemente hay demasiados marcos para elegir. Pero para la integración del contrato , le recomiendo que use la API JavaScript de Web3 para interactuar con la red Ethereum, que parece ser la más popular en este momento.

Otra biblioteca cliente realmente excelente es Ethers.js , con una documentación increíble que se encuentra aquí .

Una vez que lo descubras, interactuar con tus contratos se vuelve trivial.


Vale la pena mencionar que cuando se implementa en el lado del cliente (es decir, en el navegador web) , la carga recae en el usuario para ejecutar estos contratos utilizando su navegador Dapp (Mist o MetaMask) . Si desea que todo esto se ejecute detrás de escena (sin que el usuario tenga que saber nada sobre Ethereum o blockchain) , entonces cada una de las bibliotecas mencionadas también tiene sus contrapartes de Node.js, que luego se pueden vincular a la propia billetera ethereum de su servidor.