Giter VIP home page Giter VIP logo

eth-wallet-monitor's Introduction

eth-wallet-monitor

An abstraction on top of web3.js that allows anyone to subscribe to ethereum wallets events (be it a smart contract or an personal wallet).

Depending on the type of wallet being monitored, different events are subscribed:

  • pendingTransactions - if the wallet is a personal address then the subscritpion is to all pending transactions and cross reference the trx to and from with the addresses being monitored.

  • logs - if the address is a smart contract, then the subscription is to all logs emited by that contract. In this case it is also possible to fine tune the log events by the intended topics.

Instalation

npm install eth-wallet-monitor

Usage

Instantiate an address monitor and then register the listeners. This will hook a subscription to either logs or pendingTransactions events.

Whenever one of those events is received, the corresponding transaction is fetched and passed to the callback specified when registering the listeners.

  const EthAddressMonitor = new AddressMonitor(
    {
      addressesToMonitor, // list of addresses that we want to monitor
      monitorType, // type of addresses that we want to monitor
      httpProvider, // ethereum node http provider
      wssProvider, // ethereum node webSocket provider
    },
  );

  const callback = (...args) => {...}

  EthAddressMonitor.registerListeners(callback);

Building

Requirements

  • node 14

We recommend using nvm to manage your node versions. Once nvm is installed, take adavantage of .nvmrc to load the correct node version.

nvm use

Development

In order to start developing:

git clone [email protected]:cryptotavares/eth-wallet-address.git
npm install
npm test
npm run eslint
npm run coverage

This will clone this repo, install the dependencies, run the tests, eslint and coverage reports.

You can find the coverage report under coverage/lcov-report/index.html after running the coverage task.

eth-wallet-monitor's People

Contributors

cryptotavares avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.