Ошибка: подключите 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)
});
Я изменил путь, и это сработало
locate geth.ipc
/opt/проект/эфириум/geth.ipc
Похоже, возникла проблема с вашим экземпляром geth. Убедитесь, что на нем установлена последняя версия блокчейна, загрузите его, перезапустите его снова и сообщите нам, если у вас все еще есть ошибка. Если это не так, я бы порекомендовал вам использовать infura для развертывания вашего контракта, потому что вам не нужно управлять своим собственным узлом.
Яхья
web3
в консоль, чтобы проверить, успешно ли она создана?