etherwallet-3.4.1/ en configuración de cadena privada - error 404

Estoy siguiendo MyEtherWallet: use su propia guía de servidor para usar MyEtherWallet en mi red ethereum privada. Estoy haciendo esta configuración en mi nodo, donde se ejecuta mi nodo ethereum.

He hecho los primeros 4 pasos.

En response.jsel archivo: he configurado host como:

host: '127.0.0.1'

En runLocalServer.jsel archivo: he establecido app.usecomo:

app.use(vhost('127.0.0.1', require('./index.js').app));

Dado que el puerto 80 está ocupado, cambié el número de puerto 80 a mi número de puerto libre como 8000;

  • httpServer.listen(80);en runLocalServer.js.

  • httpServer.listen(80);enrunServer.js

Como se recomienda en el Paso 2, ejecuto:

[~]$ node runLocalServer.js
//waits

Pero en el paso 3, cuando navego a http://localhost/api.mew dentro de mi nodo, tengo errores 404 o de tiempo de espera. No pude terminar en una página vacía/en blanco.

No pude descubrir cómo superar este problema o dónde estoy haciendo algo mal o falta. Cualquier orientación valiosa será apreciada.

Gracias por su valioso tiempo y ayuda.

Respuestas (1)

Cuando cambió el puerto de 80 a 8000, debe navegar a http://localhost:8000/api.mew

También más adelante al cambiar SERVERURLdebe poner el mismo http://localhost:8000/api.mew

Tenga en cuenta que actualmente Use su propia guía de servidor no se corresponde con la versión reciente (3.4.2):

  • necesita cambiar direcciones en nodeIP.json, noresponse.js
  • al cambiar etherwallet-master.jses más fácil buscar para rpc.myetherwallet.comobtener la línea conSERVERURL

Puede servir tanto api.mewcomo index.htmldesde un solo puerto. Solo edita json_relay_node/index.jsy agrega app.use(express.static('../dist'));:

app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(express.static('../dist'));
app.get('/api.mew', function(req, res) {
    wait.launchFiber(handleRequest, req, res);
});
app.post('/api.mew', function(req, res) {
    wait.launchFiber(handleRequest, req, res);
});
Funciona una pequeña pregunta. Como dirección IP utilicé: 127.0.0.1. Solo puedo abrir index.htmldentro de mi máquina local. Pero más adelante, ¿puedo hacer algo como: <mydomain>:8000/index.html usando nodejs? para que los clientes lleguen al sitio web.
Sí, debe cambiar SERVERURLa etherwallet-master.js<dominio>: 8000/api.mew y asegurarse de que se pueda acceder al puerto 8000 desde Internet.
Línea modificada: mewServer.prototype.SERVERURL = "http://<my_ip>:8000/api.mew";reemplacé 127.0.0.1con la dirección IP de mi servidor nodeIP.jsony me enfrento al siguiente error cuando intento navegar hacia http://<my_ip>:8000/index.htmlel error: Cannot GET /index.htmly navegar hacia http://<my_ip>:8000/api.mewel error:Cannot GET /api.mew
Tenga en cuenta que se puede acceder al puerto 8000 desde Internet.
Disculpa, entendí mal la pregunta. Debe servir index.html y etherwallet-master.js por separado. Por ejemplo, con nginx o python -m SimpleHTTPServer 8000. En este caso necesitas dos puertos: uno para servir api.mewy otro para servir index.html. Otra opción es reescribir runLocalServer.jspara servir a ambos.
Gracias. Pero no debería http://<my_ip>:8000/api.mewdevolver una página vacía como en http://localhost:8000/api.mewlugar de Cannot GET /api.mew.
También actualicé y apareció una página app.use(vhost('<my_ip>', require('./index.js').app));en runLocalServer.jsblanco http://<my_ip>:8000/api.mew(ignore mi comentario anterior). ¿Tiene alguna sugerencia sobre volver a escribir runLocalServer.jspara servir, pero dado que solo tengo un puerto disponible?
Muchas gracias todo funciona bajo su dirección. Pero recibo el siguiente mensaje de node runLocalServer.js=> Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect'cuando actualizo el sitio web en http://<my_ip>:8000.
parece que no puede encontrar su nodo eth