| Name | sleuth-kit JSON |
| Version |
0.0.1
JSON |
| download |
| home_page | https://sleuth.fi |
| Summary | A flexible and extensible toolkit designed for blockchain investigation and intelligence gathering. |
| upload_time | 2024-08-30 05:44:16 |
| maintainer | None |
| docs_url | None |
| author | Sleuth |
| requires_python | <4.0,>=3.12 |
| license | MIT |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
<h1 align="center">Sleuth Kit 🔍</h1>
<p align="center">
<b>Sleuth kit provides a suite of tools for blockchain intelligence.</b>
</p>
<p align="center">
<a href="https://github.com/sleuthfi/sleuth-kit/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/sleuthfi/sleuth-kit" alt="License">
</a>
</p>
## What is Sleuth Kit?
Sleuth Kit is a suite of tools for blockchain intelligence. It is designed to be a flexible and extensible framework for investigating and building blockchain intelligence tools.
```mermaid
sequenceDiagram
participant User
participant CLI
participant Config
participant API
participant Helpers
participant Database
participant CSV
User->>CLI: Run sleuth command
CLI->>Config: Load configuration
CLI->>Helpers: Setup database schema
Helpers->>Database: Create tables if not exist
alt accounts command
User->>CLI: sleuth accounts -address <address>
CLI->>API: query_ethereum_account(address)
API->>API: load_sql_query('ethereum_accounts.sql')
API->>API: query_transpose(sql_query, params)
API-->>CLI: Return account data
alt SAVE_AS_CSV is True
CLI->>Helpers: save_to_csv(data, 'ethereum-accounts.csv', fields)
Helpers->>CSV: Write data
end
alt SAVE_AS_SQLITE is True
CLI->>Helpers: save_to_sqlite(data, 'ethereum_accounts')
Helpers->>Database: Insert or update data
end
CLI-->>User: Display result message
else transactions command
User->>CLI: sleuth transactions -address <address>
CLI->>API: query_ethereum_transactions(address)
API->>API: load_sql_query('ethereum_transactions.sql')
loop Fetch all transactions
API->>API: query_transpose(sql_query, params)
API->>Helpers: save_transactions(transactions)
alt SAVE_AS_CSV is True
Helpers->>CSV: Write transactions
end
alt SAVE_AS_SQLITE is True
Helpers->>Database: Insert or update transactions
end
end
API-->>CLI: Return all transactions
CLI-->>User: Display result message
else setup command
User->>CLI: sleuth setup
CLI->>Helpers: setup_database_schema()
Helpers->>Database: Create tables if not exist
CLI-->>User: Display setup success message
end
```
Currently, data is saved locally in a CSV file and SQLite database. The data can then be uploaded to Xata for long-term storage and querying. The settings for data storage are configurable in the `config.py` file.
Visualization of the data is also planned to be supported in the future.
## Why was Sleuth Kit created?
Sleuth Kit was created due to the limitation of free and publicly available blockchain labels and other data that would be useful in blockchain OSINT. It is designed to be a flexible and extensible framework for compiling your own Data Lake of blockchain data and using it to build custom tools.
## ⛓️ Currently Supported Chains
- Ethereum
- Bitcoin (WIP)
## ⚙️ Installation
1. Clone the repository:
```
git clone https://github.com/sleuthfi/sleuth-kit.git
```
2. Navigate to the project directory:
```
cd sleuth-kit
```
3. Install dependencies using Poetry:
```
poetry install
```
## 💼 Usage
1. Setup the database schema:
```
poetry run sleuth setup
```
2. Query Ethereum account data:
```
poetry run sleuth accounts -address 0xe3E182bC39951F99AF86d8CD0c42a4B7C4CD93F7
3. Query Ethereum transaction data:
```
poetry run sleuth transactions -address 0xe3E182bC39951F99AF86d8CD0c42a4B7C4CD93F7
## 🔧 Configuration
Ensure that the `.env` file is set up with the following variables:
- `TRANSPOSE_API_KEY`: Your Transpose API key
- `XATA_API_KEY`: Your Xata API key
- `XATA_DB_URL`: Your Xata database URL
## 📜 License
### This project is licensed under the [AGPL-3.0 License](https://github.com/sleuthfi/sleuth-kit/blob/main/LICENSE)
Raw data
{
"_id": null,
"home_page": "https://sleuth.fi",
"name": "sleuth-kit",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Sleuth",
"author_email": "dev@sleuth.fi",
"download_url": "https://files.pythonhosted.org/packages/6e/c9/fc6062d449338903813f749f5b7906c015300edf04d232c0ebabd1693a15/sleuth_kit-0.0.1.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">Sleuth Kit \ud83d\udd0d</h1>\n\n<p align=\"center\">\n <b>Sleuth kit provides a suite of tools for blockchain intelligence.</b>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/sleuthfi/sleuth-kit/blob/main/LICENSE\">\n <img src=\"https://img.shields.io/github/license/sleuthfi/sleuth-kit\" alt=\"License\">\n </a>\n</p>\n\n## What is Sleuth Kit?\n\nSleuth Kit is a suite of tools for blockchain intelligence. It is designed to be a flexible and extensible framework for investigating and building blockchain intelligence tools.\n\n```mermaid\nsequenceDiagram\n participant User\n participant CLI\n participant Config\n participant API\n participant Helpers\n participant Database\n participant CSV\n\n User->>CLI: Run sleuth command\n CLI->>Config: Load configuration\n CLI->>Helpers: Setup database schema\n Helpers->>Database: Create tables if not exist\n \n alt accounts command\n User->>CLI: sleuth accounts -address <address>\n CLI->>API: query_ethereum_account(address)\n API->>API: load_sql_query('ethereum_accounts.sql')\n API->>API: query_transpose(sql_query, params)\n API-->>CLI: Return account data\n \n alt SAVE_AS_CSV is True\n CLI->>Helpers: save_to_csv(data, 'ethereum-accounts.csv', fields)\n Helpers->>CSV: Write data\n end\n \n alt SAVE_AS_SQLITE is True\n CLI->>Helpers: save_to_sqlite(data, 'ethereum_accounts')\n Helpers->>Database: Insert or update data\n end\n \n CLI-->>User: Display result message\n else transactions command\n User->>CLI: sleuth transactions -address <address>\n CLI->>API: query_ethereum_transactions(address)\n API->>API: load_sql_query('ethereum_transactions.sql')\n loop Fetch all transactions\n API->>API: query_transpose(sql_query, params)\n API->>Helpers: save_transactions(transactions)\n alt SAVE_AS_CSV is True\n Helpers->>CSV: Write transactions\n end\n alt SAVE_AS_SQLITE is True\n Helpers->>Database: Insert or update transactions\n end\n end\n API-->>CLI: Return all transactions\n CLI-->>User: Display result message\n else setup command\n User->>CLI: sleuth setup\n CLI->>Helpers: setup_database_schema()\n Helpers->>Database: Create tables if not exist\n CLI-->>User: Display setup success message\n end\n```\n\nCurrently, data is saved locally in a CSV file and SQLite database. The data can then be uploaded to Xata for long-term storage and querying. The settings for data storage are configurable in the `config.py` file.\n\nVisualization of the data is also planned to be supported in the future.\n\n## Why was Sleuth Kit created?\n\nSleuth Kit was created due to the limitation of free and publicly available blockchain labels and other data that would be useful in blockchain OSINT. It is designed to be a flexible and extensible framework for compiling your own Data Lake of blockchain data and using it to build custom tools.\n\n## \u26d3\ufe0f Currently Supported Chains\n\n- Ethereum\n- Bitcoin (WIP)\n\n## \u2699\ufe0f Installation\n\n1. Clone the repository:\n\n ```\n git clone https://github.com/sleuthfi/sleuth-kit.git\n ```\n\n2. Navigate to the project directory:\n\n ```\n cd sleuth-kit\n ```\n\n3. Install dependencies using Poetry:\n\n ```\n poetry install\n ```\n\n## \ud83d\udcbc Usage\n\n1. Setup the database schema:\n\n ```\n poetry run sleuth setup\n ```\n\n2. Query Ethereum account data:\n\n ```\n poetry run sleuth accounts -address 0xe3E182bC39951F99AF86d8CD0c42a4B7C4CD93F7\n\n3. Query Ethereum transaction data:\n\n ```\n poetry run sleuth transactions -address 0xe3E182bC39951F99AF86d8CD0c42a4B7C4CD93F7\n\n## \ud83d\udd27 Configuration\n\nEnsure that the `.env` file is set up with the following variables:\n\n- `TRANSPOSE_API_KEY`: Your Transpose API key\n- `XATA_API_KEY`: Your Xata API key\n- `XATA_DB_URL`: Your Xata database URL\n\n## \ud83d\udcdc License\n\n### This project is licensed under the [AGPL-3.0 License](https://github.com/sleuthfi/sleuth-kit/blob/main/LICENSE)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A flexible and extensible toolkit designed for blockchain investigation and intelligence gathering.",
"version": "0.0.1",
"project_urls": {
"Documentation": "https://docs.sleuth.fi",
"Homepage": "https://sleuth.fi",
"Repository": "https://github.com/sleuthfi/sleuth-kit"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "85eafef8ea72c83430482525308099321cbad6a1fee971a5599fd4fa1a36054b",
"md5": "50755ff8e50c82d437797f8c251f0d54",
"sha256": "0364bd1efb1b7c7d2f57559c56703db2ece44120a16f4ae3ac7fb2e99700b48c"
},
"downloads": -1,
"filename": "sleuth_kit-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "50755ff8e50c82d437797f8c251f0d54",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 10539,
"upload_time": "2024-08-30T05:44:14",
"upload_time_iso_8601": "2024-08-30T05:44:14.810954Z",
"url": "https://files.pythonhosted.org/packages/85/ea/fef8ea72c83430482525308099321cbad6a1fee971a5599fd4fa1a36054b/sleuth_kit-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ec9fc6062d449338903813f749f5b7906c015300edf04d232c0ebabd1693a15",
"md5": "5389eb2673aa884f21fc3a2b56a40932",
"sha256": "9b01eda320fc1cd5e1b624d487a47549dfdd6404ff910dfe7336d2d39e3e8354"
},
"downloads": -1,
"filename": "sleuth_kit-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "5389eb2673aa884f21fc3a2b56a40932",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 8779,
"upload_time": "2024-08-30T05:44:16",
"upload_time_iso_8601": "2024-08-30T05:44:16.361682Z",
"url": "https://files.pythonhosted.org/packages/6e/c9/fc6062d449338903813f749f5b7906c015300edf04d232c0ebabd1693a15/sleuth_kit-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-30 05:44:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sleuthfi",
"github_project": "sleuth-kit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "sleuth-kit"
}