/ether-goblin

A microservice for calling ethereum APIs.

Primary LanguageTypeScriptMIT LicenseMIT

Ether Goblin

GitHub Actions

A microservice for the Ethereum ecosystem.

Features

  • APIs RESTFul APIs for the Ethereum ecosystem
  • Watchdog A simple balance Watchdog
    • Low/High balance alert (reach limit)
    • Balance change alert
    • Alert mail with PGP
    • Callback
  • Event ERC721 event
    • Event Listener A listener to be triggered for each ERC721 event
    • Event Fetcher Fetching ERC721 events from block history
    • Support Mint/Transfer/Burn event
  • Out-of-the-box NFT APIs (under development)
    • Event Fetcher APIs
      • GetTokenHistory
  • API authorization via 2FA token
  • Microservice run in Docker

Supported Chains

Development Environment

  • typescript 4.9.3
  • node v18.12.1
  • ts-node v10.9.1
  • yarn v1.22.19

Contract Dependencies

  • @openzeppelin/contracts: 4.8.0

Quick Guide

  • Install dependency

    yarn
  • Build code

    Install all dependencies and compile code.

    make build
  • Build docker image

    make docker
  • Run

    • Params

      • --config Config filepath. Example:

        ts-node ./src/main/index.ts --config ./conf/app.config.yaml
    • Run code directly by ts-node

      yarn dev-run --config ./conf/app.config.yaml
    • Run compiled code by node

      yarn dist-run --config ./conf/app.config.yaml
  • Clean

    make clean

Roadmap

  • Documents
  • ERC721(NFT) APIs
  • ERC20 APIs
  • WebSite
  • Improve Watchdog performance

License

MIT