Estoy tratando de aprender sobre web3.js que instalo
npm install ethereumjs-testrpc
y
npm install web3 // version 0.20.6
npm install ganache-cli // version 6.0.3
entonces uso el siguiente código
var TestRPC = require("ethereumjs-testrpc");
var web3 = require("web3");
var ganache = require("ganache-cli");
//~ web3.setProvider(TestRPC.provider());
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
//~ var web3 = new web3(web3.givenProvider || ganache.server());
//~ var web3 = new web3(web3.givenProvider || 'ws://some.local-or-remote.node:8546');
//~ web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
//~ web3.setProvider(new web3.providers.HttpProvider('http://geth-node-ip:8545'));
//~ console.log(web3.isAddress("0x8888f1f195afa192cfee860698584c030f4c9db1"))
//~ web3.setProvider(TestRPC.provider());
//~ console.log(web3.version);
//~ console.log(web3.providers);
error diceweb3.setProvider is not a function
Creo que quieres algo como esto. (Tenga en cuenta las mayúsculas).
var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
Asegúrese de que su versión Web 3 en package.json sea
"web3": "^1.0.0-beta.37"
Ok, tengo el problema. De acuerdo con los documentos de Web3-docs-link (web3), setProvider() se usa para cambiar el proveedor de web3, si está configurando el proveedor por primera vez, debe usarlo en este forma:
var Web3 = require('web3');
var web3 = new Web3('http://localhost:8545');
// or
var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
// change provider
web3.setProvider('ws://localhost:8546');
// or
web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:8546'));
Sammu Sundar