{"id":22165593,"url":"https://github.com/textileio/demo-vault-tracker","last_synced_at":"2025-03-24T16:14:16.858Z","repository":{"id":219204735,"uuid":"748429423","full_name":"textileio/demo-vault-tracker","owner":"textileio","description":"Fetch the latest Basin vaults \u0026 related info with a daily GitHub action","archived":false,"fork":false,"pushed_at":"2024-05-29T01:30:20.000Z","size":362,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-29T21:51:06.620Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/textileio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-26T00:13:28.000Z","updated_at":"2024-05-29T01:30:23.000Z","dependencies_parsed_at":"2024-01-26T02:41:57.596Z","dependency_job_id":"718e3b56-a615-495e-8f68-1c475acfdbf3","html_url":"https://github.com/textileio/demo-vault-tracker","commit_stats":null,"previous_names":["textileio/demo-vault-tracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fdemo-vault-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fdemo-vault-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fdemo-vault-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fdemo-vault-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/textileio","download_url":"https://codeload.github.com/textileio/demo-vault-tracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245304873,"owners_count":20593626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-02T05:15:39.100Z","updated_at":"2025-03-24T16:14:16.835Z","avatar_url":"https://github.com/textileio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vaults Tracker\n\n\u003e [!CAUTION]\n\u003e This demo is no longer active. The project indexed Basin v1 (MVP) data, but [Basin v2](https://github.com/textileio/basin) is now live and replaces v1. Thus, this demo is no longer maintained or useful.\n\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg)](https://github.com/RichardLitt/standard-readme)\n\n\u003e Fetch \u0026 inspect the latest Basin vaults.\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n  - [Running the script](#running-the-script)\n  - [Makefile reference](#makefile-reference)\n- [Contributing](#contributing)\n\n## Background\n\nThis project is a simple tool to track the new vaults that are created with [Basin](https://github.com/tablelandnetwork/basin-cli).\n\nThe script fetches data from onchain events at the Basin [storage contract](https://github.com/tablelandnetwork/basin-storage/blob/main/evm/basin_storage/src/BasinStorage.sol) on Filecoin Calibration (`0xaB16d51Fa80EaeAF9668CE102a783237A045FC37`), retrieves relevant information from the Basin [HTTP API](https://github.com/tablelandnetwork/basin-provider/pull/17), and does this all on a weekly cron schedule with GitHub Actions. For every run, it will write the results to:\n\n-   [Data](./Data.md): Summary data for all vaults ever created.\n-   [State](./history.csv): A JSON file containing the full history of all runs, along with the relevant log/event data and cumulative vaults created.\n\n## Install\n\nFor working on your machine, make sure `pipx` and `pipenv` are installed.\n\n```sh\nbrew install pipx\npipx install pipenv\n```\n\nThen, install dependencies:\n\n```sh\npipenv install --dev\n```\n\nAnd set up pre-commit and pre-push hooks:\n\n```sh\npipenv run pre-commit install -t pre-commit\npipenv run pre-commit install -t pre-push\n```\n\nThese latter steps are also available in the Makefile as `make install` and `make setup`. This project also uses python 3.12, so make sure you have that installed. You can see a full list of requirements in the [Pipfile](./Pipfile).\n\n\u003e Note: This project was created with Cookiecutter and the [sourcery-ai](https://github.com/sourcery-ai/python-best-practices-cookiecutter) project template—check it out!\n\n## Usage\n\n### Running the script\n\nThe `vaults_tracker` module is the main entrypoint for the project. You can run it with:\n\n```sh\nmake run\n```\n\nThis will fetch new events that have occurred after the latest run \u0026 block number in the [state](./state.json) file, and write the results to the [Data](./Data.md) file. The data file lists out each vault owner's address, the vault's name, and a link to the vault mutation \"events\" (CIDs) for subsequent retrieval. You can see the GitHub actions setup in the [workflow file](./.github/workflows/weekly.yml).\n\n### Makefile reference\n\nThe following defines all commands available in the Makefile:\n\n-   `make install`: Install dependencies with `pipenv`.\n-   `make setup`: Install pre-commit and pre-push hooks that run checks on the code.\n-   `make format`: Directly run `black`, `isort`, `flake8`, and `mypy` on the project.\n-   `make coverage`: Not used but available if tests are written.\n\n## Contributing\n\nPRs accepted. Be sure to run the pre-commit and pre-push hooks, and the `make format` command also does similar actions.\n\nSmall note: If editing the README, please conform to the standard-readme specification.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fdemo-vault-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextileio%2Fdemo-vault-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fdemo-vault-tracker/lists"}