Не удалось получить развернутый адрес смарт-контракта

Ошибка: подключите ECONNREFUSED /home/sanya/.ethereum/geth.ipc в PipeConnectWrap.afterConnect [как oncomplete] (net.js:1106:14) errno: 'ECONREFUSED', код: 'ECONREFUSED', системный вызов: 'connect', адрес: '/home/sanya/.ethereum/geth.ipc' } (узел: 3593) UnhandledPromiseRejectionWarning: Ошибка: подключите ECONNREFUSED /home/sanya/.ethereum/geth.ipc в PipeConnectWrap.afterConnect [как oncomplete] (net.js :1106:14)

(узел: 3593) UnhandledPromiseRejectionWarning: отклонение необработанного обещания. Эта ошибка возникла либо из-за броска внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch(). (идентификатор отклонения: 1)

(узел: 3593) [DEP0018] Предупреждение об устаревании: отклонение необработанных обещаний считается устаревшим. В будущем отказы от обещаний, которые не будут обработаны, завершат процесс Node.js с ненулевым кодом выхода.

Код для развертывания -

const solc = require('solc');

const net = require('net');

let fs = require("fs");

let Web3 = require('web3');

const web3 = new Web3('/home/sanya/.ethereum/geth.ipc', net, {});

let source = fs.readFileSync('../ethereum/node01/contracts/KYC.sol');

console.log(source.toString());

let helloCompiled = solc.compile(source.toString(), 1).contracts[':KYC'];

var password = "apple";

try {
    web3.eth.personal.unlockAccount("0x49f513854af455f45044b12869ebb1dec9db3073", password, 600)

}

catch (e) {

    console.log(e);

    return;
}

let Hello = new web3.eth.Contract(JSON.parse(helloCompiled.interface),

    null, {

    data: '0x' + helloCompiled.bytecode

});

console.log("abi" + helloCompiled.interface)

console.log("abi" + typeof (helloCompiled.interface))

console.log("bin" + helloCompiled.bytecode)

console.log("bin" + typeof (helloCompiled.bytecode))

let helloInstance;

Hello.deploy().send({

    from: '0x49f513854af455f45044b12869ebb1dec9db3073',

    gas: '4700000'

}).then((instance) => {

    console.log("Contract mined at " + instance.options.address);

    helloInstance = instance;


})

    .catch(function (error) {

        console.log(error)

    });
Вы можете войти web3в консоль, чтобы проверить, успешно ли она создана?

Ответы (2)

Я изменил путь, и это сработало

locate geth.ipc

/opt/проект/эфириум/geth.ipc

Похоже, возникла проблема с вашим экземпляром geth. Убедитесь, что на нем установлена ​​последняя версия блокчейна, загрузите его, перезапустите его снова и сообщите нам, если у вас все еще есть ошибка. Если это не так, я бы порекомендовал вам использовать infura для развертывания вашего контракта, потому что вам не нужно управлять своим собственным узлом.