Architecture
Last updated
Last updated
The core of Bako ID is defined by two main on-chain components (Registry and Manager) and also includes other on-chain components for interacting with the Handle (Token and Resolver).
It also includes other off-chain utility components for interacting with the handle, such as an Indexer, an image generator, and an API that together form the Bako ID Client.
The Bako ID indexer was built to easily consume data without needing to interact with the on-chain data. It indexes the events emitted from the Manager contract, storing the following information:
Record: A structure that composes the record along with its associated network.
AddressResolver: A reverse resolver for names, mapping between Address <> Handle Name.
Our server is part of the Bako ID Client, where it works in conjunction with the indexer. It provides methods for:
Resolving a handle
Resolving an address
Listing handles associated with an address
All methods can be used in both Mainnet and Testnet environments.
A serverless function responsible for converting an SVG into a URL that returns a PNG image response to be used in the NFT.
One of the main contracts that allows the registration of new handles, ownership control, metadata registration, among other methods that interact with the handle.
Responsible for storing and managing handle information, such as the resolver lookup and handle ownership.
It provides methods for resolving the handle, such as looking up the resolver by name, checking ownership, and searching for the name by an address.
Represents the NFT contract as well as stores the metadata of the handle.