This project is a proposed solution for mapping blockchain wallets for a specific token contract in order to identify large wallet holders and eventually track when transactions are made to-from those wallets.
- Many token projects are enrichment schemes.
- As DeFi is mostly unregulated, founders can create large numbers of tokens and transfer them to insider wallets before a token project's Initial Coin Offering (ICO).
- Founders can then market and launch the token, creating instant value for themselves and other insiders. Retail investors often have no idea this occurs.
- This project aims to 'pierce the veil' and shed light on this activity.
- Allow anyone to easily identify insider wallets and large money transactions in any token project.
- Crawl the Ethereum Blockchain
- Record all transactions related to the token of interest
- Identify all wallets sending or receiving that token
- Graph the relationship between wallets sending and receiving the token
- Highlight wallets of interest
- Each aspect (crawler, data base, visualization) works.
- NetworkX wasn't sufficient by itself, and the default graphing library (matplotlib) resulted in some pretty nasty graphs.
- We found that pyplot, and graphviz greatly improved the positional layout of the nodes. Plotly helps make things pretty to look at.
- Scaling and sizing will be an ongoing battle as different projects have different supply and incentive structures.
- Inspector blockchain core concept is proven.
- Great start at displaying large wallets and displaying the connections between those.
- The visuals needs improvement.
- Works well to identify outliers.
- API calls will be a limiting factor as we’re limited to 5 calls / second.
- make blockchain crawler as efficient as possible and running 24/7.
- would be a great improvement to identify insider wallets, liquidity pools, smart contracts during the crawl.
- develop a decent graphical representation of insider wallets (founders, liquidity pools, etc.) vs retail owners.
- setup a website to simplify inspection and notification.
- increase capability to crawl more tokens.
- add support for Solana.
The stable version of this project can be run on Windows, Mac OS, or Linux as long as the user's environment has the following:
- python 3.7
- jupyterlab
- networkx
- sqlite3
- plotly
- pydot
- graphviz
You have a few options to get this code on your computer, two popular options are:
-
Download a ZIP of this repositories files here.
-
Fork this respository to your github account.
After forking the respository you can use git clone your-username@domain.com:your-git-username/Inspector-blockchain.git
to download a copy of the forked respository to your computer.
Forking has the added benefit of enabling your to easily keep your copy of the application up-to-date should any changes or improvements be made in the future.
Please note: these usage instructions assume you are running JupyterLab from the commandline.
After forking the code you can:
-
Load the
generate_data.ipynb
jupyter notebook and run all cells.- this will populate
inspector.db
and generate the data necessary to build a graph.
- this will populate
-
Load the
display_graph.ipynb
jupyter notebook and run all cells.- this will read
inspector.db
and build a node and edge list, create a graph, and display it with plotly.
- this will read
This project was created by Chandler, Nathan, and Peter.