Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

215
Vistas
¿Cómo agregar esta biblioteca (web3) y usarla en mi página html?

Tengo un proyecto de nodo en el que intento usar web3 en una página html simple para que los usuarios puedan escribir algo en un contrato inteligente simple. El paso 1 que intento es simplemente tener acceso al objeto web3 en un archivo JavaScript llamado main.html.

Aquí está la estructura de carpetas:

 index.js package.json main.html (uses main.js) assets/ js/ main.js

El siguiente código que uso para comenzar con la red de prueba de ganache en mi computadora:

 const Web3 = require('web3'); const web3 = new Web3 ( "http://localhost:7545" ) const ethEnabled = async () => { if (window.ethereum) { await window.ethereum.send('eth_requestAccounts'); window.web3 = new Web3(window.ethereum); console.log("Connected to web3"); return true; } alert("Error - could not connect via web3.js"); return false; }

Sin embargo, cuando pego este código en la parte superior de assets/js/main.js obtengo lo siguiente:

Uncaught ReferenceError: require is not defined at main.js:5

Así que ni siquiera puedo usar el paquete require , y mucho menos el paquete web3 , los cuales tengo instalados a través npm install .

Sin embargo, cuando pego el código web3 anterior en index.js , no parece dar un error:

 const express = require('express') const app = express() const port = 3000 const Web3 = require('web3'); const web3 = new Web3 ( "http://localhost:7545" ) const ethEnabled = async () => { if (window.ethereum) { await window.ethereum.send('eth_requestAccounts'); window.web3 = new Web3(window.ethereum); console.log("Connected to web3"); return true; } alert("Error - could not connect via web3.js"); return false; } app.use(express.static("./assets")); app.get('/', (req, res) => { //res.send('Hello World!') res.sendFile('./main.html', { root: __dirname }); }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) })

Quiero usar la funcionalidad web3 en main.html con main.js , ya que el usuario estaría completando un formulario, presionando un botón, luego usaría la funcionalidad web3 para escribir algo en mi contrato simple.

Pero creo que no entiendo el diseño y la estructura del proyecto node.js Dado el caso de uso anterior, ¿cómo debo proceder? Cuando coloco el código de inicio de web3 en index.js , no sé cómo acceder al objeto web3 en main.js ¿Cómo debería hacer esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe usar un archivo js puro en su .html. Agregue el script en su encabezado y solo instancia la clase Web3: new Web3 ( "http://localhost:7545" ) ,

 <script src="https://github.com/ChainSafe/web3.js/blob/v1.2.11/dist/web3.min.js></script>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda