https://github.com/aurora-is-near/backstage-plugin-blockchainradar
Discover and manage contracts, multisigs and their access control policies on various blockchains.
https://github.com/aurora-is-near/backstage-plugin-blockchainradar
backstage backstage-plugin dx nearprotocol
Last synced: 12 days ago
JSON representation
Discover and manage contracts, multisigs and their access control policies on various blockchains.
- Host: GitHub
- URL: https://github.com/aurora-is-near/backstage-plugin-blockchainradar
- Owner: aurora-is-near
- License: cc0-1.0
- Created: 2023-05-08T07:53:32.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T22:20:13.000Z (18 days ago)
- Last Synced: 2025-04-08T23:22:22.397Z (18 days ago)
- Topics: backstage, backstage-plugin, dx, nearprotocol
- Language: TypeScript
- Homepage:
- Size: 3.12 MB
- Stars: 7
- Watchers: 9
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Blockchain Radar for Backstage is a collection of plugins that aims to solve asset management on EVM chains and on [NEAR](https://near.org/).
[](https://creativecommons.org/publicdomain/zero/1.0/)
[](https://github.com/aurora-is-near/backstage-plugin-blockchainradar/actions/workflows/ci.yaml)
[](https://www.npmjs.com/package/@aurora-is-near/backstage-plugin-blockchainradar-backend)
[](https://www.npmjs.com/package/@aurora-is-near/backstage-plugin-blockchainradar-common)
[](https://www.npmjs.com/package/@aurora-is-near/backstage-plugin-blockchainradar-frontend)## Goals
- Keep an inventory of contracts, multisig safes and access keys
- Provide insights about the state of on-chain access management## Features
- First-class support for smart contracts & multisigs in [Software Catalog](https://backstage.io/docs/features/software-catalog/)
- Cross-contract relationships mapping via on-chain state ingestion
- Etherscan/Blockscout source code and verification status discovery
- Multisig support: [Gnosis Safe](https://safe.global/) and [SputnikDAO](https://astrodao.com/)
- Policy & configuration tracking
- Mapping of the signers to the User entities
- NEAR accounts & EVM EOA addresses management
- Role-Based Access Control monitoring
- [Near Plugins](https://github.com/aurora-is-near/near-plugins) AccessControllable
- [OpenZeppelin Access Control](https://docs.openzeppelin.com/contracts/2.x/api/access) via [Subgraph indexing](https://thegraph.com/hosted-service)
- Unknown & deprecated access keys tracking on NEAR
- Time since last transaction tracking (e.g. to monitor inactive ledgers)
- Security tiering
- Exporting data
- Handlebars templates
- Datadog metrics## Getting started
- [Plugin setup](docs/setup.md)
- [Usage examples](docs/usage.md)
- [Contributing](CONTRIBUTING.md)## How does it work?
The traditional asset management model does not map well to the
blockchain world so the plugin reuses the classic Backstage entites in order to
keep things simple:- Contract source code: `kind:Component`, `type:contract`
- Deployed contract: `kind: API`, `type: contract-deployment`
- Multisig component: `kind: Component`, `type: multisig`
- Multisig safe deployment: `kind: API`, `type: multisig-deployment`
- NEAR Account / EVM EOA address: `kind: Resource`, `type: signer-address`
- NEAR AccessKey: `kind: Resource`, `type: access-key`
- RBAC Role: `kind: API`, `type: role-group`It uses `deployedAt` and `interactsWith` attributes in the spec (e.g. like [here](https://github.com/aurora-is-near/rainbow-token-connector/blob/589e6f5ece013f9747b37e64e793dc373591b1fb/erc20-connector/.catalog-info.yaml#L21)) to start tracking on-chain state and establishing relationships with other entities.
Additionally, it introduces `interactsWith`, `keys` and `deprecated` attributes to `User` entities.
It allows the plugin to automatically establish relationships between users and contracts, multisig signers and access keys.
In this example the relationships were not specified with `interactsWith` spec,
instead they were automatically ingested by the plugin by calling the view
methods on the contract, and mapping extracted addresses to the existing
entities in the catalog.
## Exporting
You can periodically export the list of all multisigs to a github repository with [github-helpers](https://github.com/aurora-is-near/github-helpers).
Additionally, you can find examples of how to send blockchain metrics to Datadog.
- [Exporting: templates and metrics](./docs/exporter.md)
## Roadmap
- Support for multiple SputnikDAO groups
- Support for OpenZeppelin Proxy introspection