Gnomon
Decentralized Search Engine
DeroHE's client, powered by Gnomon, empowers individual user nodes by enabling direct navigation, exploration, and search within the blockchain and its smart contracts. This liberates users from relying on external blockchain data providers like Infura, offering more control over data access and management. Gnomon efficiently handles and arranges the gathered information, thus enhancing its operational efficiency within the decentralized ecosystem.
Gnomon leverages a small selection of databases such as BoltDB (opens in a new tab) and GravitonDB. Due to their key/value pair nature as well as being written entirely in Golang, they are easy choices to be leveraged for an all-go codebase. Being that they are key/value pair data structures, this makes storing and retrieving information simpler and more efficient.
Core Features
- Smart Contract querying and indexing
- Transaction querying and indexing
- Transaction Markup Language (xtag) support
- No custom daemon, no modified code.
Gnomon Use Cases
GnomonIndexer (CLI)
The GnomonIndexer CLI is a command-line interface used to initiate an indexer for analyzing transactions on the DERO blockchain. It is primarily designed for indexing smart contract interactions and asset transactions.
Users can specify various options when running the indexer, such as the daemon RPC address and the number of parallel blocks to index. Increasing the number of parallel blocks may result in higher load on both the GnomonIndexer and the connected daemon.
Gnomon as a Go package
The Gnomon repository provides a Go package that can be imported into other Golang projects, allowing developers to leverage its functionality within their own decentralized applications (dApps) or configurations. This package offers various capabilities for tracking specific contracts or data on the DERO blockchain.
Gnomon Smart Contract Indexing Service
The Smart Contract Indexing Service by Gnomon is crucial for analyzing DERO blockchain smart contracts. It operates on-chain, indexing contracts based on defined filters or all contracts if no filter is set. Users can specify criteria like contract actions. Stored contract details include deployment height, owner identity, and SCID.
The gnomonsc
CLI configures this service, with parameters like daemon RPC address. Future enhancements aim for efficiency and off-chain data storage, though detailed plans are pending.