{"id":13565769,"url":"https://github.com/Snedashkovsky/on-chain-registry","last_synced_at":"2025-04-03T23:30:39.237Z","repository":{"id":174597163,"uuid":"650429615","full_name":"Snedashkovsky/on-chain-registry","owner":"Snedashkovsky","description":"metadata oracle: asset list of all cosmos-sdk chains","archived":false,"fork":false,"pushed_at":"2024-10-29T18:54:18.000Z","size":495667,"stargazers_count":26,"open_issues_count":9,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T20:45:37.047Z","etag":null,"topics":["blockchain","cosmos","cosmos-sdk","metadata","osmosis","tokens"],"latest_commit_sha":null,"homepage":"https://snedashkovsky.github.io/on-chain-registry/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Snedashkovsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-06-07T03:56:12.000Z","updated_at":"2024-10-14T07:03:09.000Z","dependencies_parsed_at":"2023-10-12T04:15:17.514Z","dependency_job_id":"89cff9d3-843a-40d9-8bba-99dbe58589f8","html_url":"https://github.com/Snedashkovsky/on-chain-registry","commit_stats":{"total_commits":401,"total_committers":3,"mean_commits":"133.66666666666666","dds":0.1645885286783042,"last_synced_commit":"0adc53ebb049e02f2529ebc6c5b6b481f15954e1"},"previous_names":["snedashkovsky/cosmos-sdk-asset-list","snedashkovsky/on-chain-registry"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snedashkovsky%2Fon-chain-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snedashkovsky%2Fon-chain-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snedashkovsky%2Fon-chain-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snedashkovsky%2Fon-chain-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snedashkovsky","download_url":"https://codeload.github.com/Snedashkovsky/on-chain-registry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247097586,"owners_count":20883121,"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":["blockchain","cosmos","cosmos-sdk","metadata","osmosis","tokens"],"created_at":"2024-08-01T13:01:55.115Z","updated_at":"2025-04-03T23:30:34.227Z","avatar_url":"https://github.com/Snedashkovsky.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"# On-Chain Registry: Cosmos-SDK Asset List\n\u003cp\u003e\n    \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/Snedashkovsky/on-chain-registry\"\u003e\n    \u003cimg alt=\"Python\" src=\"https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue\"\u003e\n\u003c/p\u003e\nAs blockchain assets transition between various chains within the Cosmos ecosystem and beyond, the need arises for a precise tool to monitor this intricate data flow. Meet the **On-Chain Registry (OCR)** – meticulously designed to compile all proof-of-nodes data, offering a timely and detailed snapshot of the current asset landscape.\n\n## Proof-of-Nodes Concept\n\nRather than a static registry, the OCR represents a living, constantly updating protocol that sources data straight directly from nodes.\nThis mechanism leads to:  \n - **Accuracy**: The registry furnishes complete and precise data, crucial for meaningful and successful blockchain transactions.\n - **Reliability**: By ruling out the chance of human error, the registry delivers consistent information that users can rely on.\n - **Inclusivity**: It leaves out no data not specified in the chains, thereby offering a comprehensive overview of the blockchain environment.\n\n### [Milestones](milestones.md)\n\n### Workflow:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/img/architecture.png\" width=\"80%\" height=\"80%\" alt=\"architecture\"\u003e\n\u003c/p\u003e\n\n## Functionality\n\nOCR provides an interface for updating, storing, and accessing data on-chain. This enables it to dynamically adapt to the ever-changing state of the chains.\n\n**API \u0026 IBC Tokens Verification.** OCR functions as a robust and secure API, offering users the capability to verify Inter-Blockchain Communication (IBC) tokens with trusted and verified metadata. This feature further enhances the transparency and security of cross-chain transactions.\n\n**Integration of External Registries.** In the pursuit of providing an all-encompassing data access point, OCR integrates data from other registries as well. This guarantees that users have a comprehensive, unified, and updated view of the entire blockchain ecosystem.\n\n## Assets\n\nOn-chain based data allows viewing of **all existing assets**:\n\n- [**chain-registry like data**](data_json)  \n- [**csv data**](data_csv)  \n- **contracts** ([code](https://github.com/Snedashkovsky/cw-on-chain-registry/tree/main/contracts/on-chain-registry), \n[schema](https://github.com/Snedashkovsky/cw-on-chain-registry/tree/main/contracts/on-chain-registry/schema))\n  - [bostrom](https://cyb.ai/contracts/bostrom1w33tanvadg6fw04suylew9akcagcwngmkvns476wwu40fpq36pms92re6u) ([example of asset query](https://lcd.bostrom.cybernode.ai/cosmwasm/wasm/v1/contract/bostrom1w33tanvadg6fw04suylew9akcagcwngmkvns476wwu40fpq36pms92re6u/smart/eyJnZXRfYXNzZXRzX2J5X2NoYWluIjogeyJjaGFpbl9uYW1lIjogIm9zbW9zaXMiLCAibGltaXQiOiA0LCAic3RhcnRfYWZ0ZXJfYmFzZSI6ICJpYmMvRkY2RjQ3NzRBQkMyNDc4ODMyQTZENjY4MURCOUE3QThEREM0NDg1MjEyQThBRUQ4NDY0MkVGQ0Q2M0M3NDhBOSJ9fQ==))\n  - [osmosis-testnet](https://testnet.mintscan.io/osmosis-testnet/wasm/contract/osmo1nwesd2xe6cnvtpqd29xg7qeznlm65x02lfjfg20wlvkdze20hcxsftxtzz) ([example of asset query](https://lcd.testnet.osmosis.zone/cosmwasm/wasm/v1/contract/osmo1nwesd2xe6cnvtpqd29xg7qeznlm65x02lfjfg20wlvkdze20hcxsftxtzz/smart/eyJnZXRfYXNzZXRzX2J5X2NoYWluIjogeyJjaGFpbl9uYW1lIjogIm9zbW9zaXMiLCAibGltaXQiOiA0LCAic3RhcnRfYWZ0ZXJfYmFzZSI6ICJpYmMvRkY2RjQ3NzRBQkMyNDc4ODMyQTZENjY4MURCOUE3QThEREM0NDg1MjEyQThBRUQ4NDY0MkVGQ0Q2M0M3NDhBOSJ9fQ==))\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"charts/charts.png\" width=\"100%\" height=\"100%\" alt=\"assets charts\"\u003e\n\u003c/p\u003e\n\n## Asset Data Structure\n\nOCR uses a chain-registry like [asset data structure](assetlist.schema.json) for better compatibility.  \n\u003cimg src=\"src/img/assetlist_schema.png\" width=\"100%\" height=\"100%\" alt=\"assetlist schema\"\u003e  \n\nDifferences from the [chain-registry asset data structure](https://github.com/cosmos/chain-registry/blob/master/assetlist.schema.json):\n- add `chain_id` required property;\n- `denom_units`, `display`, `name` and `symbol` asset object properties are optional;\n- add `chain_id` required property in asset traces section;\n- set `chain_name` property in asset traces section as optional;\n- add `supply` optional property in asset section and `base_supply` optional property in asset traces section;\n- add `admin` required property for `factory` asset type in asset section.\n\n## Contract queries\n[Query schema](https://github.com/Snedashkovsky/cw-on-chain-registry/tree/main/contracts/on-chain-registry/schema/query_msg.json)  \n[Query examples](asset_data.ipynb)  \n\n## How to deploy\nclone repo and optionally edit the `.env` file \n```bash \ngit clone https://github.com/Snedashkovsky/on-chain-registry \u0026\u0026 \\\ncd on-chain-registry \u0026\u0026 \\\ncp .env.example .env\n```\ninstall python virtual environment and requirements in it\n```bash\nmake install_venv\n```\n\nupdate asset list\n```bash\nmake update\n```\n\n## Data Sources \n[REST APIs Queries](data_sources.md)\n\n## Contributions\n\nWe warmly welcome pull requests, issues, and feedback from the community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSnedashkovsky%2Fon-chain-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSnedashkovsky%2Fon-chain-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSnedashkovsky%2Fon-chain-registry/lists"}