Я хочу создать новую учетную запись через IPC, поэтому я запустил частную цепочку с помощью приведенной ниже команды.
geth --networkid=5 --datadir DataDir --ipcapi "db,eth,net,web3,personal" --ipcpath "/Users/smartSense/.ethereum/geth.ipc"
--rpc -rpcapi "eth,web3" --rpcaddr=localhost --rpcport=8545 --rpccorsdomain "*" console 2>geth.log
теперь я пытаюсь создать новую учетную запись с помощью web3 API Ref. Ссылка: Ссылка
var options = {
host: '/Users/smartSense/.ethereum/geth.ipc',
ipc:true,
personal: true,
admin: false,
debug: false
};
var web3Extended = web3_extended.create(options);
web3Extended.personal.newAccount("password",function(error,result){
if (!error)
res.send(result);
else
res.send("error"+error);
});
но я получил ошибку ниже:
errorError: Invalid JSON RPC response: "Error: connect ECONNREFUSED 127.0.0.1:80\n at Object.exports._errnoException (util.js:1022:11)
\n at exports._exceptionWithHostPort (util.js:1045:20)\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)"
через RPC я успешно создал, но через IPC я получил ошибку, так что у кого-нибудь есть идеи об этом?
Требовать web3_ipc
вместо web3_extended
.
const web3_extended = require('web3_ipc');
Кроме того, убедитесь, что ваше местоположение geth.ipc указано правильно. Мой (Mac OS X) был в ~/Library/Ethereum/geth.ipc.
Аникет
var web3 = new Web3(new Web3.providers.IpcProvider('/Users/myuser/Library/Ethereum/geth.ipc', net));