Estoy usando la API web3 y quiero probar la minería usando rpc. El miner.start() habitual (que se usa en la terminal) no funciona incluso después de incluir la API del minero al iniciar geth y aparece el siguiente error.
Error: no se puede leer el inicio de propiedad de indefinido.
¿Qué me estoy perdiendo?
Web3 no está exponiendo un objeto minero como propio. Consulte aquí
Puede hacer esto desde ipc
el socket con la ayuda de javascript.
mine.js
ipc
la consola usandoloadScript('YOURPATH/mine.js');
geth --rpc --rpcapi web3,eth,net,personal,miner,admin,debug--rpcaddr="localhost" --rpcport="8545" --rpccorsdomain="localhost:8545" console
un ejemplo seria
/*
* Mine when there are transactions!
*/
var mining_threads = 1
function checkWork() {
if (eth.getBlock("pending").transactions.length > 0) {
if (eth.mining) return;
console.log("== Pending transactions! Mining...");
miner.start(mining_threads);
} else {
miner.stop(0); // This param means nothing
console.log("== No transactions! Mining stopped.");
}
}
eth.filter("latest", function(err, block) { checkWork(); });
eth.filter("pending", function(err, block) { checkWork(); });
checkWork();
Puede consultar más fragmentos de utilidad de ethereum
intenta cargar geth con el módulo minero:
p.ej :--ipcapi "admin,db,eth,debug,miner,personal,web3"
--rpcapi
en su lugar, si se trata de RPC.Finalmente usé un módulo web3 extendido. Usé npm install web3admin y luego en mi código de servidor escribí web3Admin.extend (web3). Esto me permite usar la api del minero.
niksmac
anónimo