para usar web3.js es necesario instalar geth en su sistema o se conecta automáticamente con geth o ethereum blockchain?
var web3 = nuevo Web3(nuevo Web3.proveedores.HttpProvider(' http://localhost:8545 '))
aquí conectamos algo. En este comando nos estamos conectando a qué? ¿Nos estamos conectando a la cadena pública de ethereum o algo más?
No, no lo es. Puede probar web3 con, por ejemplo , testrpc , que también se ejecuta en el puerto 8545 para que pueda conectarse de la misma manera. Hace que las pruebas sean mucho más rápidas, livianas y económicas (no hay dinero real para gasolina). Si desea trabajar con alguna cadena de bloques pública (cadena principal o red de prueba), podría considerar infura , ¡ pero tenga cuidado con la centralización que quizás no desee!
web3.js
no tiene acceso directo a la cadena de bloques, siempre depende de algún cliente para interactuar con la red Ethereum. geth
es una de tantas opciones.
Conectando
Al ejecutar web3.js, aquí hay algunas opciones para conectarse:
web3
objeto ya está incorporado y conectado! (Mist ejecuta un cliente para ti, debajo del capó)web3
objeto. Metamask elige a qué cliente conectarse.web3.setProvider()
Opciones de cliente
geth
es una de las muchas opciones para los clientes locales. Algunos otros son parity y cpp-ethereum . Los nodos alojados de forma remota como Infura ofrecen acceso a la privacidad y el control a un cierto costo. No he visto mucho uso de él, pero EthereumJ también podría ser de interés. Obtenga un poco más de información y vea más clientes esotéricos en ethdocs .
NO, Web3
es un conector entre su aplicación y el cliente Ethereum. Puede ejecutar ganache-cli
o geth
como cliente de prueba en localhost o puede conectar su aplicación a un nodo en línea como infura
usar web3
.
En su código de ejemplo, escucha al cliente local que se ejecuta en el puerto 8545
. Puede ser ganache
red de prueba o geth
cliente.