En mi sitio llamo a un método de contrato que me devuelve un valor, usando web3, y luego muestro el valor en pantalla. Obviamente, si ingresa a mi sitio, debe haber instalado un nodo ethereum o un puente a un nodo como MetaMask para acceder a la llamada del contrato y ver el valor. ¿Pero es posible verlo sin instalar nada, solo codificando un puente de JavaScript a un nodo? ¿Es posible? es seguro?
¡Muchas gracias!
¿Es posible?
web3 está escrito en javascript, puede escribir su propio código javascript implementando el protocolo JSON-RPC.
Metamask usa web3, tiene su propia billetera HD y puede conectarse al nodo ethereum local, así como a los nodos ethereum de infura.
Si no desea que se instale nada, puede usar nodos infura ethereum, implementar métodos de protocolo JSON-RPC en javascript y su propia billetera HD (también puede implementar una billetera normal).
es seguro?
La seguridad depende de usted como desarrollador de aplicaciones, Metamask y Web3 están aquí desde hace bastante tiempo, por lo que probablemente sean más robustos y seguros.
si ingresa a mi sitio, debe haber instalado un nodo ethereum o un puente a un nodo como MetaMask para acceder a la llamada del contrato y ver el valor
No estoy seguro de lo que quiere decir con "mi sitio", pero ese no es un sitio web en el sentido propio de servidor-cliente.
Eres TÚ quien tiene que hacer todo esto, y tu servidor solo debe recibir solicitudes (normalmente en forma de HTTP) y transmitir respuestas (normalmente en forma de HTTP).
En cada solicitud HTTP del cliente, el servidor interactuará con el nodo a través de Web3 para obtener la información requerida de la cadena de bloques y enviarla en una respuesta HTTP al cliente.