У меня есть веб-приложение, работающее на локальном сервере Node.js (порт 3000) и экземпляр Ganache, работающий на порту 7545. Всякий раз, когда я пытаюсь подключиться к экземпляру Ganache с помощью Web3.js, я получаю ошибку CORS из браузера.
Node.js - v8.11.3
Ganache - v1.2.3
Web3 - web3.min.js (v0.20.7)
OS - Windows 10
Я пытался установить расширение Chrome, которое отключает CORS, но безрезультатно.
Этот код я использую для создания и подключения объекта Web3:
var web3;
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:7545"));
}
Это сообщение об ошибке, которое я получаю от Chrome всякий раз, когда нажимаю на кнопку, которая выполняет соединение между Web3 и Ganache:
Access to XMLHttpRequest at 'http://localhost:7545/' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
inpage.js:1 Uncaught Error: CONNECTION ERROR: Couldn't connect to node http://localhost:7545.
at Object.InvalidConnection (inpage.js:1)
at o.send (inpage.js:1)
at a.send (inpage.js:1)
at w.accounts (inpage.js:1)
at HTMLButtonElement.<anonymous> (main.js:250)
at HTMLButtonElement.dispatch (jquery.min.js:3)
at HTMLButtonElement.r.handle (jquery.min.js:3)
InvalidConnection @ inpage.js:1
jquery.min.js:4 POST http://localhost:3000/ 500 (Internal Server Error)
Есть идеи? Большое спасибо!