How to use the web3-provider-engine/subproviders/filters.js function in web3-provider-engine

To help you get started, we’ve selected a few web3-provider-engine examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github MetaMask / zero-client / zero-provider.js View on Github external
engine.addProvider(new StaticSubprovider({
    web3_clientVersion: 'MetaMask-ZeroClient/v0.0.0/javascript',
    net_version: '1',
    net_listening: true,
    net_peerCount: '0xc',
    eth_protocolVersion: '63',
    eth_hashrate: '0x0',
    eth_mining: false,
    eth_syncing: true,
  }))

  // cache
  engine.addProvider(new CacheSubprovider())

  // filters - e.g.: eth_newBlockFilter
  engine.addProvider(new FilterSubprovider())

  // vm - e.g.: eth_call
  engine.addProvider(new VmSubprovider())

  // data source - e.g.: eth_getBalance
  engine.addProvider(new RpcSubprovider({
    rpcUrl: opts.rpcUrl || 'https://rpc.metamask.io/',
  }))

  engine.on('block', function(block){
    console.log('================================')
    console.log('BLOCK CHANGED:', '#'+block.number.toString('hex'), '0x'+block.hash.toString('hex'))
    console.log('================================')
  })

  // start polling for blocks
github KeySplit / dapp / back / dist / index.es.js View on Github external
}
      }
      var wallet = Wallet.fromPrivateKey(new Buffer(privateKey, "hex"));
      this.engine = new ProviderEngine();
      this.web3 = new Web3(this.engine);
      // static results
      this.engine.addProvider(new FixtureSubprovider({
        web3_clientVersion: 'ProviderEngine/v0.0.0/javascript',
        net_listening: true,
        eth_hashrate: '0x00',
        eth_mining: false,
        eth_syncing: true
      }));

      // filters
      this.engine.addProvider(new FilterSubprovider());

      // id mgmt
      this.engine.addProvider(new WalletSubprovider(wallet, {}));

      this.engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(rpcURL)));

      this.engine.on('block', function (block) {
        console.log('BLOCK CHANGED:', '#' + block.number.toString('hex'), '0x' + block.hash.toString('hex'));
      });

      // network connectivity error
      this.engine.on('error', function (err) {
        // report connectivity errors
        console.error(err.stack);
      });
github Neufund / platform-contracts / nanoWeb3Provider.js View on Github external
export function nanoWeb3Provider(providerUrl, nanoPath) {
  const web3HttpProvider = new Web3.providers.HttpProvider(providerUrl);
  const engine = new ProviderEngine();

  engine.addProvider(new FilterSubprovider());
  engine.addProvider(LedgerWalletSubproviderFactory.default(new Web3(web3HttpProvider), nanoPath));
  engine.addProvider(new Web3Subprovider(web3HttpProvider));

  engine.on("block", () => {
    // console.log("================================");
    // console.log(
    //   "BLOCK CHANGED:",
    //   `#${block.number.toString("hex")}`,
    //   `0x${block.hash.toString("hex")}`
    // );
    // console.log("================================");
  });
  engine.start();
  engine.stop();

  return engine;
github DOkwufulueze / eth-vue / truffle.js View on Github external
var Web3 = require("web3");
const FilterSubprovider = require('web3-provider-engine/subproviders/filters.js');

// Get our mnemonic and create an hdwallet
var mnemonic = "piano file obey immense polar rack great subject clutch camera maid ostrich";
var hdwallet = hdkey.fromMasterSeed(bip39.mnemonicToSeed(mnemonic));

// Get the first account using the standard hd path.
var wallet_hdpath = "m/44'/60'/0'/0/";
var wallet = hdwallet.derivePath(wallet_hdpath + "0").getWallet();
var address = "0x" + wallet.getAddress().toString("hex");

var providerUrl = "https://testnet.infura.io";
var engine = new ProviderEngine();
// filters
engine.addProvider(new FilterSubprovider());

engine.addProvider(new WalletSubprovider(wallet, {}));
engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(providerUrl)));
engine.start(); // Required by the provider engine.

module.exports = {
  networks: {
    ropsten: {
      network_id: 3,    // Official ropsten network id
      provider: engine, // Use the custom provider
      from: address,     // Use the address derived address
      gas: 4444444
    },
    development: {
      host: "localhost",
      port: 8545, // This is the conventional port. If you're using the Ganache Blockchain, change port value to the Ganache default port 7545. If you're using Truffle develop network, change port value to 9545
github Propy / ethereum / truffle.js View on Github external
// Create wallet from existing private key
const privateKey = require('./network_keys/private/rinkeby');
const wallet = ethereumjsWallet.fromPrivateKey(new Buffer(privateKey, "hex"));
const sender = "0x" + wallet.getAddress().toString("hex");

// Using rinkeby testnet
const apiKey = require('./network_keys/api/infura');
const providerUrl = "https://rinkeby.infura.io/" + apiKey;
const engine = new ProviderEngine();

const provider = new Web3.providers.HttpProvider(providerUrl);
const web3 = new Web3(provider);

// filters
engine.addProvider(new FilterSubprovider());
engine.addProvider(new WalletSubprovider(wallet, {}));
engine.addProvider(new Web3Subprovider(provider));
engine.start();  // FIXME: Truffle hangs after compilation/migration because of this


module.exports = {
    networks: {
        development: {
            host: "localhost",
            port: 8545,
            network_id: "*", // Match any network id
            gas: 4000000,
        },
        rinkeby: {
            network_id: 4,
            provider: () => engine,
github brave / ethereum-remote-client / app / scripts / lib / metamask-provider.js View on Github external
engine.addProvider(new NonceTrackerSubprovider())

  // cache layer
  engine.addProvider(new CacheSubprovider())

  // static results
  engine.addProvider(new FixtureSubprovider({
    web3_clientVersion: 'MetaMask-ProviderEngine/v0.0.0/javascript',
    net_listening: true,
    eth_hashrate: '0x0',
    eth_mining: false,
    eth_syncing: true,
  }))

  // filters
  engine.addProvider(new FilterSubprovider())

  // vm
  engine.addProvider(new VmSubprovider())

  // id mgmt
  engine.addProvider(new HookedWalletSubprovider({
    getAccounts: opts.getAccounts,
    approveTx: opts.approveTx,
    signTransaction: opts.signTransaction,
  }))

  // data source
  engine.addProvider(new RpcSubprovider({
    rpcUrl: opts.rpcUrl,
  }))
github austintgriffith / burner-core / core / src / ProxyProvider.js View on Github external
signMessage({ data, from }, cb) {
          core.signMsg(data, from)
            .then(signature => cb(null, signature))
            .catch(err => cb(err));
        },
        signPersonalMessage({ data, from }, cb) {
          core.signMsg(data, from)
            .then(signature => cb(null, signature))
            .catch(err => cb(err));
        }
      })
    );

    //this.engine.addProvider(new GaspriceProvider());
    this.engine.addProvider(new NonceSubProvider());
    this.engine.addProvider(new FiltersSubprovider());

    this.engine.addProvider({
      handleRequest(payload, next, end) {
        core.handleRequest(network, payload)
          .then(result => {
            try {
              end(null, result);
            } catch (err) {
              if (err.message !== 'Could not find block') {
                throw err;
              }
            }
          })
          .catch(err => end(err));
      },
      setEngine() {},