Blockchain Radar for Backstage is a collection of plugins that aims to solve asset management on EVM chains and on NEAR.
- Keep an inventory of contracts, multisig safes and access keys
- Provide insights about the state of on-chain access management
- First-class support for smart contracts & multisigs in Software Catalog
- Cross-contract relationships mapping via on-chain state ingestion
- Etherscan/Blockscout source code and verification status discovery
- Multisig support: Gnosis Safe and SputnikDAO
- Policy & configuration tracking
- Mapping of the signers to the User entities
- NEAR accounts & EVM EOA addresses management
- Role-Based Access Control monitoring
- Near Plugins AccessControllable
- OpenZeppelin Access Control via Subgraph indexing
- 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
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) 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.
You can periodically export the list of all multisigs to a github repository with github-helpers.
Additionally, you can find examples of how to send blockchain metrics to Datadog.
- Support for multiple SputnikDAO groups
- Support for OpenZeppelin Proxy introspection