{"id":14256966,"url":"https://github.com/penumbra-zone/dex-explorer","last_synced_at":"2025-08-12T20:33:10.881Z","repository":{"id":222704553,"uuid":"757705479","full_name":"penumbra-zone/dex-explorer","owner":"penumbra-zone","description":"Web app for visualization the state of the Penumbra DEX","archived":false,"fork":false,"pushed_at":"2024-12-09T15:48:36.000Z","size":1964,"stargazers_count":10,"open_issues_count":34,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-12-09T15:55:46.595Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/penumbra-zone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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-02-14T20:06:34.000Z","updated_at":"2024-12-09T14:53:43.000Z","dependencies_parsed_at":"2024-03-17T03:47:53.789Z","dependency_job_id":"90a24738-c1af-4369-80e6-ca3cc325b330","html_url":"https://github.com/penumbra-zone/dex-explorer","commit_stats":null,"previous_names":["penumbra-zone/dex-explorer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fdex-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fdex-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fdex-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fdex-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/penumbra-zone","download_url":"https://codeload.github.com/penumbra-zone/dex-explorer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229708173,"owners_count":18111226,"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-08-22T07:01:40.023Z","updated_at":"2025-08-12T20:33:10.776Z","avatar_url":"https://github.com/penumbra-zone.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# DEX explorer for Penumbra\n\nA DEX explorer for [Penumbra](https://penumbra.zone/).\n\n\u003e [!WARNING]\n\u003e This repository is deprecated in favor of [the Penumbra web monorepo](https://github.com/penumbra-zone/web). It is no longer maintained and will not receive updates. Please refer to the monorepo for the latest developments and features.\n\n## Getting Started\n\nThe application is written in [NextJS], and uses [pnpm] for package management.\nThe fastest way to get started on the development environment is to use [Nix]:\n\n```shell\nsh \u003c(curl -L https://nixos.org/nix/install)\nnix develop\njust dev\n```\n\nHowever, you still need a database to connect to.\n\n## Connecting to a database\n\nThe DEX explorer application requires a PostgreSQL database containing ABCI event information\nas written by [pindexer].\nYou can set up a local devnet by following the [Penumbra devnet quickstart guide](https://guide.penumbra.zone/dev/devnet-quickstart),\nor plug in credentials for an already running database via environment variables:\n\n```\n# add these to e.g. `.envrc`:\nexport PENUMBRA_GRPC_ENDPOINT=\"https://testnet.plinfra.net\"\nexport PENUMBRA_INDEXER_ENDPOINT=\"postgresql://\u003cPGUSER\u003e:\u003cPGPASS\u003e@\u003cPGHOST\u003e:\u003cPGPORT\u003e/\u003cPGDATABASE\u003e?sslmode=require\"\"\nexport PENUMBRA_CHAIN_ID=\"penumbra-testnet-phobos-2\"\n# optional: if you see \"self-signed certificate in certificate chain\" errors,\n# you'll likely need to export a `ca-cert.pem` file for the DB TLS.\n# export PENUMBRA_INDEXER_CA_CERT=\"$(cat ca-cert.pem)\"\n```\n\nIf you see an error `self-signed certificate in certificate chain`, then you'll need to:\n\n1. obtain the CA certificate file for the backend database you're connecting to, and export it as `PENUMBRA_INDEXER_CA_CERT`.\n2. _remove_ the `sslmode=require` string on the `PENUMBRA_INDEXER_ENDPOINT` var.\n\nSee context in #55. After configuring that information, run `just dev` again in the nix shell, and you should have events visible.\n\n## Deployment\n\nMerges to main will automatically build a container, hosted at `ghcr.io/penumbra-zone/dex-explorer`.\nIn order to run the dex-explorer, you'll need to [deploy a Penumbra fullnode](https://guide.penumbra.zone/node/pd/running-node),\nwith [ABCI event indexing enabled](https://guide.penumbra.zone/node/pd/indexing-events). The relevant env vars\nyou'll want to set are:\n\n- `PENUMBRA_GRPC_ENDPOINT`: the URL to a remote node's `pd` gRPC service\n- `PENUMBRA_INDEXER_ENDPOINT`: the URL to a Postgre database containing ABCI events\n- `PENUMBRA_INDEXER_CA_CERT`: optional; if set, the database connection will use the provided certificate authority when validating TLS\n- `PENUMBRA_CHAIN_ID`: the chain id for the network being indexed, controls asset-registry lookups\n- `PENUMBRA_CUILOA_URL`: the URL for a block-explorer application, for generating URLs for more block/transaction info\n\n## Name\n\nIt'd be nice to have a cool name for the DEX explorer. We don't have one yet.\n\n## Proto Generation\n\nUsing https://buf.build/penumbra-zone/penumbra/sdks/main\n\n## Code structure\n\nRead the sub-article about the code structure [here](./pages/readme.md).\n\n[NextJS]: https://nextjs.org/\n[Nix]: https://nixos.org/download/\n[pindexer]: https://guide.penumbra.zone/node/pd/indexing-events#using-pindexer\n[pnpm]: https://pnpm.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenumbra-zone%2Fdex-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpenumbra-zone%2Fdex-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenumbra-zone%2Fdex-explorer/lists"}