GithubHelp home page GithubHelp logo

namadexer's Introduction

Namadexer

Namadexer is an indexer for Namada.

Overview

The project is composed of 2 entities : the indexer and the server. They are both written in Rust.

Namadexer graph

  • the indexer: This component establishes a connection to the Namada node via RPC and collects blocks and transactions. It then stores this data in a PostgreSQL database. The indexer operates independently of the server and can be initiated on its own.

  • the server: This is a JSON-based server that facilitates querying of blocks and transactions using unique identifiers. It also provides additional useful endpoints, such as /blocks/latest. A comprehensive list of all endpoints, along with their descriptions, is available in the documentation.

These services require a connection to a postgres database. Support for OpenTelemetry has also been added.

Documentation

You can find more information about the indexer in the ./docs folder.

Development

You will need access to a namada node and specify its tendermint rpc host and port in the Settings.toml file. You can use the Settings.example.toml as a template.

Dev dependencies

To proceed, you must have Rust installed and a Namada node operational and accessible locally.

The system will automatically install the appropriate version of protoc (version 3.12 or higher) within this repository. This ensures no conflicts arise with other versions of protoc that may be installed on your system

$ make install-deps

Start developping

Start the docker database :

$ make postgres

You will need to use this command if you want to avoid issues with protoc.

$ make run

Telemetry

Run jaeger in background

$ docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest

Start the indexer

$ RUST_LOG=trace cargo run --bin indexer

View spans

$ firefox http://localhost:16686/

namadexer's People

Contributors

rllola avatar neithanmo avatar emmanuelm41 avatar zenodeapp avatar ainhoa-a avatar dependabot[bot] avatar dimiandre avatar bengtlofgren avatar fraccaman avatar joel-u410 avatar jleni avatar romanv1812 avatar sshamanov avatar vuittont60 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.