Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/s0md3v/Orbit
Blockchain Transactions Investigation Tool
https://github.com/s0md3v/Orbit
bitcoin blockchain osint
Last synced: 11 days ago
JSON representation
Blockchain Transactions Investigation Tool
- Host: GitHub
- URL: https://github.com/s0md3v/Orbit
- Owner: s0md3v
- License: gpl-3.0
- Created: 2018-07-10T14:38:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-15T09:47:59.000Z (over 2 years ago)
- Last Synced: 2024-10-28T20:45:32.200Z (11 days ago)
- Topics: bitcoin, blockchain, osint
- Language: Python
- Homepage:
- Size: 56.6 KB
- Stars: 526
- Watchers: 34
- Forks: 154
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - s0md3v/Orbit - Blockchain Transactions Investigation Tool (Python)
- ultimate-defi-research-base - Orbit
- On-Chain-Investigations-Tools-List - Orbit
README
Blockchain Transactions Investigation Tool
![graph-demo](https://i.ibb.co/rx76Ryt/Screenshot-2019-07-26-03-41-34.png)
### Introduction
Orbit is designed to explore network of a blockchain wallet by recursively crawling through transaction history. The data is rendered as a graph to reveal major sources, sinks and suspicious connections.> **Note:** Orbit only runs on Python 3.2 and above.
### Usage
Let's start by crawling transaction history of a wallet
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F
```
Crawling multiple wallets is no different.
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F,1ETBbsHPvbydW7hGWXXKXZ3pxVh3VFoMaX
```
Orbit fetches last 50 transactions from each wallet by default, but it can be tuned with `-l` option.
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F -l 100
```
Orbit's default crawling depth is 3 i.e. it fetches the history of target wallet(s), crawls the newly found wallets and then crawls the wallets in the result again. The crawling depth can be increased or decresead with `-d` option.
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F -d 2
```
Wallets that have made just a couple of interactions with our target may not be important, Orbit can be told to crawl top N wallets at each level by using the `-t` option.
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F -t 20
```
If you want to view the collected data with a graph viewer of your choice, you can use -o option.
```
python3 orbit.py -s 1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F -o output.graphml
```
Support Formats- `graphml` (Supported by most graph viewers)
- `json` (For raw processing)This is your terminal dashboard.
![demo-terminal](https://i.ibb.co/pZG24vT/Screenshot-2019-07-26-08-07-10.png)
### Visualization
Once the scan is complete, the graph will automatically open in your default browser. If it doesn't open, open `quark.html` manually.
Don't worry if your graph looks messy like the one below or worse.![graph-setup](https://i.ibb.co/xJ38DF9/Screenshot-2019-07-26-08-21-18.png)
Select the **Make Clusters** option to form clusters using community detection algorithm. After that, you can use **Color Clusters** to give different colors to each community and then use **Spacify** option to fix overlapping nodes & edges.
![graph-fixed](https://i.ibb.co/SsGhkJN/Screenshot-2019-07-26-09-21-08.png)
The thickness of edges depends on the frequency of transactions between two wallets while the size of a node depends on both transaction frequency and the number of connections of the node.
As Orbit uses ![Quark](https://github.com/s0md3v/Quark) to render the graph, more information about the various features and controls is available in Quark's README.