> For the complete documentation index, see [llms.txt](https://exfaz.gitbook.io/namada/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://exfaz.gitbook.io/namada/panduan-integrasi/pengindeks.md).

# Pengindeks

## Pengindeks Namada

Bekerja sama dengan [Zondax(terbuka di tab baru)](https://zondax.ch/), pengindeks untuk blockchain Namada telah lahir.

Pengindeks Namada (alias `namadexer`) terus-menerus menanyakan blockchain Namada, dan bersama dengan [SDK](https://docs.namada.net/integrating-with-namada/sdk) , mampu memetakan blok, transaksi, dan informasi berharga lainnya ke dalam database relasional (postgres).

Hal ini sangat berguna untuk melakukan analisis pada blockchain, termasuk menyimpan data historis dengan cara yang mudah untuk ditanyakan.

### Pengaturan

Kode sumber pengindeks namada dapat ditemukan [di sini(terbuka di tab baru)](https://github.com/zondax/namadexer)dan mudah diatur.

Ini `namadexer`berfungsi paling baik bersama dengan [Docker(terbuka di tab baru)](https://www.docker.com/products/docker-desktop)

{% code overflow="wrap" %}

```
git clone https://github.com/Zondax/namadexer.gitcd namadexermake compose
```

{% endcode %}

### Menjalankan server dan db

Setelah DockerFile dijalankan, sangatlah mudah untuk menyiapkan database postgres serta server yang akan menanyakan database.

Pastikan itu `postgres` [sudah diinstal(terbuka di tab baru)](https://www.postgresql.org/download/)pada mesin lokal.

**Jalankan postgres di buruh pelabuhan**

{% code overflow="wrap" %}

```
make postgres 
# or run (and change arguments, e.g port):
# docker run --name postgres -e POSTGRES_PASSWORD=wow -e POSTGRES_DB=blockchain -p 5432:5432 -d postgres
```

{% endcode %}

Setelah server postgres aktif dan berjalan, sekarang saatnya menyiapkan server yang akan menanyakan db postgres.

Jalankan perintah berikut untuk menyiapkan server

```
make run_server
```

Jika berhasil, server harus dijalankan sebagai daemon di localhost pada port `30303`.

### Jalankan pengindeks

Pertama, pastikan bagian `Settings.toml`dalamnya `config/Settings.toml`dikonfigurasi dengan benar.

{% code overflow="wrap" %}

```
log_level = "info"
network = "public-testnet-14"
 
[database]
host = "0.0.0.0:5435"
user = "postgres"
password = "wow"
dbname = "blockchain"
# Optional field to configure a timeout if database connection 
# fails.
connection_timeout = 20
 
 
[server]
serve_at = "0.0.0.0"
port = 30303
 
[indexer]
tendermint_addr = "0.0.0.0"
port = 26657
 
[jaeger]
enable = false
host = "localhost"
port = 6831
 
[prometheus]
host = "0.0.0.0"
port = 9000
```

{% endcode %}

{% hint style="info" %}
👀 **Menafsirkan volume**

Penting untuk mengubah parameter berikut:

1. `indexer.tendermint_addr`- Ini harus berupa alamat dan port yang sesuai dari node penuh Namada yang disinkronkan
2. `database.host`- Ini harus berupa alamat tcp (dengan port) tempat database postgres berjalan.
   {% endhint %}

Setelah penyiapan selesai, pengindeks dapat dimulai

```
make run_indexer
```

### Menanyakan database

Titik akhir yang telah ditentukan sebelumnya untuk menanyakan database dijelaskan dalam dokumentasi [di sini(terbuka di tab baru)](https://github.com/Zondax/namadexer/blob/main/docs/04-server.md).
