ОШИБКА ПОДКЛЮЧЕНИЯ: не удалось подключиться к узлу http://localhost:8545

Я начал использовать geth ниже:

geth --rpc --rpccorsdomain * --rpcport 8545 --rpcapi personal,web3,eth,net

и это мой код web3.js:

<script src="/bower_components/web3/dist/web3.min.js"></script>
<script type="text/javascript">
    function send() {
        if (typeof web3 !== 'undefined') {
            web3 = new Web3(web3.currentProvider);
        } else {
            web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
        }
        if(!web3.isConnected()) {
            console.log('not-connected');
        } else {
           console.log('connected');
        }
    }
</script>

первый console.log сказал "not-connected"и получил ошибку:Error: CONNECTION ERROR: Couldn't connect to node http://localhost:8545.

проверьте, открыт ли порт с помощью команды netstat cmd
да открывается. TCP 0 0 127.0.0.1:8545 0.0.0.0:* ПРОСЛУШАТЬ 1521/geth
попробуй 127.0.0.1 вместо localhost
сделал, но та же ошибка
установите метамаску и проверьте, подключается ли она к вашему узлу в режиме локального хоста
Поместите одинарные кавычки вокруг * geth --rpc --rpccorsdomain '*' --rpcport 8545 --rpcapi personal,web3,eth,netЯ попробовал ваш код, и он дал мне междоменную ошибку с «*», все работает нормально, я получаю сообщение о подключении

Ответы (1)

Просто небольшая ошибка прицелов. Ваша переменная web3 выходит из области видимости, как только она объявлена.

<script src="/bower_components/web3/dist/web3.min.js"></script>
<script type="text/javascript">
    var web3;
    function send() {
        if (typeof web3 !== 'undefined') {
            web3 = new Web3(web3.currentProvider);
        } else {
            web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
        }
        if(!web3.isConnected()) {
            console.log('not-connected');
        } else {
           console.log('connected');
        }
    }
</script>

Обратите внимание, что я явно объявил var web3вне функции

не работает. Можете ли вы сказать, как я могу подключить удаленный URL-адрес? например: web3 = новый Web3(новый Web3.providers.HttpProvider(" 110.249.35.167:8545" ));
const web3 = новый Web3 (новый Web3.providers.HttpProvider(' 110.249.35.167:8545' ));