Antes de que DApp-browser Mist estuviera disponible, esta biblioteca web3 parece el camino a seguir para construir un puente desde el contrato hasta una interfaz (sitio web).
Pero, no puedo hacer que los ejemplos muy básicos funcionen.
Estas fuentes carecen de algunos puntos importantes:
¿Cuál es el comando exacto para iniciar geth para ejecutar los ejemplos? He utilizado:
geth --rpc console 2
durante la minería, etc.
Este ejemplo tiene la línea:
web3.setProvider(new web3.providers.HttpProvider());
¿Debería ser host local?
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
¿Hay alguna forma de ocultar web3.setProvider
y otro código JavaScript de la fuente de la página visible para el usuario? Si la dirección del nodo geth es pública, eso podría ser un problema de seguridad.
Tal vez estoy haciendo preguntas obvias aquí, pero no debería ser demasiado problema agregar al menos el argumento de inicio geth a los tutoriales. El mejor de los casos sería tener una guía paso a paso sin suposiciones en blanco.
Para el punto número uno, esto debería funcionar: sin embargo,
geth --rpc --rpccorsdomain="*" console 2>> geth.log
correr --rpccorsdomain="*"
es peligroso, especialmente si tiene cuentas desbloqueadas. Pon tu nombre de dominio en lugar de *
. Para host local, agregue--rpcaddr="localhost"
Para agregar a la respuesta de Ethan Wilding , para realizar pruebas locales de forma segura, puede usar la --dev
bandera y conectarse al nodo con el nombre de usuario 'prueba' y la contraseña 'prueba'.
Entonces el geth
comando para probar se convierte en:
geth --dev --rpc --rpccorsdomain="*" --rpcaddr="localhost"
[precaución: solo debe usar estos indicadores para la prueba del modo de desarrollo local, nunca en una red real]
Y conectar el cliente web3.js es:
web3.setProvider(web3.providers.HttpProvider(null, 0, 'test', 'test'));
donde nulo establece el host http://localhost:8545
y 0 desactiva el tiempo de espera
Una vez hecho esto, el código de muestra se conectará al nodo local, aunque hay una buena posibilidad (al menos por ahora) de que muchas muestras no funcionen porque no parecen estar actualizadas. Pero web3.js/example/balance.html funciona bien.
--rpccorsdomain="*"
es el menos seguro.
bitsanidad