No estoy seguro de entender completamente cómo web3 interactúa con la cadena de bloques ethereum. Cuando pruebo cosas, solo uso
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
Y eso me permite acceder a la red de prueba localmente. Si tuviera que implementar este código en un sitio web, ¿en qué configuraría esta variable y cómo funciona? ¿Y si ese usuario no está ejecutando un nodo local e interactúa con la cadena de bloques a través de Metamask?
Si tuviera que implementar este código en un sitio web, ¿en qué configuraría esta variable y cómo funciona?
Puede reemplazarlo con su propio nodo de trabajo o puede usar algún servicio como infura.io que le permite "acceder a Ethereum a través de los nodos de equilibrio de carga de Infura y la arquitectura inteligente de la misma manera que lo haría a través de sus propios nodos".
¿Y si ese usuario no está ejecutando un nodo local e interactúa con la cadena de bloques a través de Metamask?
De las preguntas frecuentes de MetaMask :
Entonces, en la mayoría de los escenarios, solo puede usar este fragmento de código:
// Checking if Web3 has been injected by the browser (Mist/MetaMask)
if (typeof web3 !== 'undefined') {
// Use Mist/MetaMask's provider
web3js = new Web3(web3.currentProvider);
} else {
web3js = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/<API_TOKEN>"));
}
usuario33938
Román Frólov
Badr Bellaj