Ok, mi problema es que mi sitio web está alojado con un servicio de terceros, por lo que no puedo ejecutar geth en el mismo servidor que mi sitio. Sin embargo, también tengo un VPS separado que puedo configurar nodejs y una página web3js o geth para interactuar con mis contratos.
Mi objetivo es llamar a una función constante en mi contrato y mostrar el resultado en mi sitio web. ¿Hay alguna forma de interactuar con mi VPS desde mi sitio web y llamar a funciones constantes? ¿Hay una mejor manera de resolver mi problema?
Si ejecuto un nodo en mi vps, ¿puedo usar web3js en mi sitio para llamar a funciones? ¿Qué pasa con las transacciones?
Ejecute un nodo Parity o Geth alojado en algún lugar de Internet y exponga la interfaz JSON-RPC a Internet (puerto HTTP 8545). Asegúrese de que este nodo no tenga ninguna clave adjunta, no las necesitará para su uso.
Desde su sitio web, querrá hacer una publicación HTTP sobre JSON-RPC al eth_call
método . Puede ver el ejemplo de curl en ese enlace para obtener detalles sobre cómo estructurar la llamada.
Sin embargo, en lugar de intentar construir manualmente los parámetros, le recomiendo que use una biblioteca auxiliar como web3, ethjs o parity.js. Puede ver un ejemplo completo de cómo llamar a una función constante en la documentación de ethjs si elige seguir esa ruta. Simplemente cambie el ABI para que coincida con el ABI de su método (puede obtenerlo de una herramienta como remix o la salida del compilador Solidity) y cambie la dirección HTTP a la de su nodo.
No estoy seguro de si esto es lo que está buscando, y ciertamente no es una solución descentralizada, pero es posible que desee buscar un servicio llamado Infura. Proporciona acceso a la interfaz RPC de un nodo y lo hace con un nivel muy alto de disponibilidad. Es totalmente centralizado, pero ese es un tema diferente.
jasonb
Miqueas Zoltu
jasonb
Miqueas Zoltu