All Projects → 0xTracker → 0x-event-extractor

0xTracker / 0x-event-extractor

Licence: Apache-2.0 license
NodeJS worker built for 0x Tracker which extracts 0x fill events from the Ethereum blockchain and persists them to MongoDB

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to 0x-event-extractor

0x-tracker-api
NodeJS API built for 0x Tracker which exposes 0x protocol data and metrics for consumption by the 0x Tracker Client application.
Stars: ✭ 19 (-40.62%)
Mutual labels:  web3, 0x
nft-swap-sdk
Ethereum's missing p2p NFT and token swap library for web3 developers. Written in TypeScript. Powered by 0x.
Stars: ✭ 200 (+525%)
Mutual labels:  web3, 0x
0x-tracker-worker
NodeJS worker which performs various ETL tasks related to the 0x protocol trading data and other information used on 0x Tracker
Stars: ✭ 28 (-12.5%)
Mutual labels:  web3, 0x
walletconnect-test-wallet
Test Wallet (Web)
Stars: ✭ 163 (+409.38%)
Mutual labels:  web3
tool-db
A peer-to-peer decentralized database
Stars: ✭ 15 (-53.12%)
Mutual labels:  web3
geesome-node
🦈 Your self-hosted decentralized Messenger, Social network, Media file storage on top of IPFS! Freely communicate in encrypted chat groups, share images, video, text or any data without a risk of censorship or blocking.
Stars: ✭ 90 (+181.25%)
Mutual labels:  web3
docs
Unleash Bitcoin's full potential with decentralized apps and smart contracts. The documentation covers key aspects of the Stacks network and technology and provides tutorials and other helpful content for developers.
Stars: ✭ 134 (+318.75%)
Mutual labels:  web3
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+1500%)
Mutual labels:  web3
react-mix
Everything you need to use React with Brownie!
Stars: ✭ 58 (+81.25%)
Mutual labels:  web3
crypto-high-score
Add your name to the global, immutable leaderboard by paying in ETH.
Stars: ✭ 18 (-43.75%)
Mutual labels:  web3
oxo-chat-client
基于websocket、json、blockchain的公告、聊天(客户端到客户端加密)客户端。账号无需注册,本地生成!
Stars: ✭ 52 (+62.5%)
Mutual labels:  web3
useWeb3
useWeb3 provides a curated overview of the best and latest resources on Ethereum, blockchain and Web3 development.
Stars: ✭ 325 (+915.63%)
Mutual labels:  web3
erebos
JavaScript client and CLI for Swarm
Stars: ✭ 47 (+46.88%)
Mutual labels:  web3
mev-inspect-rs
Discover historic Miner Extractable Value (MEV) opportunities
Stars: ✭ 443 (+1284.38%)
Mutual labels:  web3
play
playproject
Stars: ✭ 22 (-31.25%)
Mutual labels:  web3
web3-token
Web3 Token is a new way to authenticate users in a hybrid dApps using signed messages. Implementation of EIP-4361.
Stars: ✭ 356 (+1012.5%)
Mutual labels:  web3
resources
A living collection of resources for participants (and anyone who's interested) in Truffle University's courses 📚
Stars: ✭ 27 (-15.62%)
Mutual labels:  web3
airswap-web
AirSwap Web App
Stars: ✭ 94 (+193.75%)
Mutual labels:  web3
frontend-v2
Frontend app for the Balancer protocol
Stars: ✭ 127 (+296.88%)
Mutual labels:  web3
nextjs-dapp-starter-ts
A fullstack monorepo template to develop ethereum dapps
Stars: ✭ 228 (+612.5%)
Mutual labels:  web3

0x Event Extractor

David

NodeJS worker originally built for 0x Tracker which extracts 0x fill events from the Ethereum blockchain and persists them to MongoDB. Support for V1, V2 and V3 of the 0x protocol is included with events tagged against the protocol version they belong to.

🧐 How It Works

The extractor runs on a configurable interval, scraping a chunk of events from the blockchain using the getLogsAsync method of 0x.js. Events are persisted to MongoDB and the processed block range is logged to ensure the range only gets extracted once.

👮‍♂️ Requirements

To run the project locally you'll need the following installed:

  • NodeJS v10.16.3
  • Yarn v1.19.0
  • MongoDB v4+

The project also has support for the following development tools which you may wish to take advantage of:

🐣 Getting Started

Run cp .env.example .env to create a local environment file, then get yourself an Infura API key and add your endpoint to the .env file. Update the connection string as well if necessary.

Run yarn install to install dependencies and then run yarn start/nodemon to start the extractor. You should start to see events being persisted.

🌳 Project Structure

The project uses a monorepo structure which accomodates different 0x.js dependencies for different versions of the 0x protocol. This structure is mostly invisible in day to day work since it is managed by Yarn. To add or remove dependencies in sub-packages however you'll need a basic understanding of Yarn Workspaces.

🛠 Configuration

Configuration is handled by a combination of dotenv files and node-config. If you need to tweak anything you can either edit your .env file or create a config/local.js file with overrides for the configuration found in config/default.js.

⚠️ Caveats

On July 12th 2019 a vulnerability was discovered in 0x V2 which resulted in a shutdown and redployment of the contract. Because of this the 0x Event Extractor currently only collects event logs from the latest V2 contract (dubbed v2.1), meaning that V2 events before 12th July are not collected. This will be improved in the future by the use of v2 and v2.1 extractors which will handle the pre and post vulnerability contracts respectively.

👨‍💻 Maintainers

Supporters

Infrastructure for 0x Tracker is generously supported by these companies.

Bugsnag
Bugsnag
CryptoCompare
CryptoCompare
Netlify
Netlify

👩‍⚖️ License

Apache 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].