Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jovijovi/ether-goblin
A microservice for calling ethereum APIs.
https://github.com/jovijovi/ether-goblin
blockchain erc721 ether ethereum goblin microservice nft solidity typescript web3
Last synced: 3 days ago
JSON representation
A microservice for calling ethereum APIs.
- Host: GitHub
- URL: https://github.com/jovijovi/ether-goblin
- Owner: jovijovi
- License: mit
- Created: 2022-03-15T02:33:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-05T03:28:27.000Z (almost 2 years ago)
- Last Synced: 2023-06-11T03:34:26.538Z (over 1 year ago)
- Topics: blockchain, erc721, ether, ethereum, goblin, microservice, nft, solidity, typescript, web3
- Language: TypeScript
- Homepage:
- Size: 787 KB
- Stars: 8
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Ether Goblin
[![GitHub Actions](https://github.com/jovijovi/ether-goblin/workflows/Test/badge.svg)](https://github.com/jovijovi/ether-goblin)
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
- [Ethereum](https://ethereum.org/)
- [Polygon](https://polygon.technology/)
- [zkSync 2.0](https://zksync.io/)## 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`](https://www.npmjs.com/package/@openzeppelin/contracts/v/4.8.0)
## Quick Guide
- Install dependency
```shell
yarn
```- Build code
Install all dependencies and compile code.
```shell
make build
```- Build docker image
```shell
make docker
```- Run
- Params
- `--config` Config filepath. Example:
```shell
ts-node ./src/main/index.ts --config ./conf/app.config.yaml
```- Run code directly by `ts-node`
```shell
yarn dev-run --config ./conf/app.config.yaml
```- Run compiled code by `node`
```shell
yarn dist-run --config ./conf/app.config.yaml
```- Clean
```shell
make clean
```## Roadmap
- [ ] Documents
- [ ] ERC721(NFT) APIs
- [ ] ERC20 APIs
- [ ] WebSite
- [x] Improve Watchdog performance## License
[MIT](LICENSE)