I found link to the Indexer book from main fuel page this one - The Fuel Indexer - The Fuel Indexer Service.
I have downloaded all dependencies that were mentioned here.
But when I started to follow Quickstart tutorial with this command I noticed some problems
forc index start \
--embedded-database
--fuel-node-host node-beta-2.fuel.network \
--fuel-node-port 80
First of all I fixed all mistakes in this command like changing node url to latest v3 one and added \
symbol, so this one should be correct one
forc index start \
--fuel-node-host beta-3.fuel.network \
--fuel-node-port 80 \
--embedded-database
and tried to run this, but got this error :
^^>>> forc index start \ 17:32:50
--fuel-node-host beta-3.fuel.network \
--fuel-node-port 80 \
--embedded-database
error: Found argument '--embedded-database' which wasn't expected, or isn't valid in this context
If you tried to supply `--embedded-database` as a value rather than a flag, use `-- --embedded-database`
USAGE:
forc-index start --fuel-node-host <FUEL_NODE_HOST> --fuel-node-port <FUEL_NODE_PORT>
For more information try --help
And also I couldn’t run this command appropriate till I updated forc index
to latest version. It would be better to create a note in documentation how to update this. I think those errors should be fixed in documentation not to cause more questions from developers.
So, after I tried to run it and got this error
📦 Downloading, unpacking, and bootstrapping database...
▹▹▸▹▹ ⏱ Setting up database...
The files belonging to this database system will be owned by user "lidia".
This user must also own the server process.
The database cluster will be initialized with locales
COLLATE: C
CTYPE: UTF-8
MESSAGES: C
MONETARY: C
NUMERIC: C
TIME: C
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "simple".
Data page checksums are disabled.
fixing permissions on existing directory /Users/lidia/.fuel/indexer/postgres ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Europe/Lisbon
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
Success. You can now start the database server using:
/Users/lidia/Library/Caches/pg-embed/darwin/arm64v8/14.6.0/bin/pg_ctl -D /Users/lidia/.fuel/indexer/postgres -l logfile start
▸▹▹▹▹ ⏱ Setting up database...
💡 Creating database
waiting for server to start....2023-04-04 17:58:41.553 WEST [25872] LOG: starting PostgreSQL 14.6 on x86_64-apple-darwin20.6.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit
2023-04-04 17:58:41.565 WEST [25872] LOG: listening on IPv6 address "::1", port 5432
2023-04-04 17:58:41.565 WEST [25872] LOG: listening on IPv4 address "127.0.0.1", port 5432
2023-04-04 17:58:41.566 WEST [25872] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-04-04 17:58:41.571 WEST [25873] LOG: database system was shut down at 2023-04-04 17:58:41 WEST
2023-04-04 17:58:41.573 WEST [25872] LOG: database system is ready to accept connections
done
▹▸▹▹▹ ⏱ Setting up database...
2023-04-04 17:58:41.684 WEST [25880] ERROR: database "postgres" already exists
2023-04-04 17:58:41.684 WEST [25880] STATEMENT: CREATE DATABASE "postgres"
CREATE DATABASE "postgres"; rows affected: 0, rows returned: 0, elapsed: 359.458µs
Database postgres already exists
2023-04-04 17:58:41.684 WEST [25880] LOG: could not receive data from client: Connection reset by peer
▪▪▪▪▪ ⏱ Setting up database...
2023-04-04 17:58:41.686 WEST [25872] LOG: received fast shutdown request
2023-04-04 17:58:41.686 WEST [25872] LOG: aborting any active transactions
2023-04-04 17:58:41.687 WEST [25872] LOG: background worker "logical replication launcher" (PID 25879) exited with exit code 1
2023-04-04 17:58:41.687 WEST [25874] LOG: shutting down
2023-04-04 17:58:41.689 WEST [25872] LOG: database system is shut down
Using database directory at "/Users/lidia/.fuel/indexer/postgres"
waiting for server to shut down.... done
server stopped
Starting PostgreSQL...
waiting for server to start....2023-04-04 17:58:41.833 WEST [25884] LOG: starting PostgreSQL 14.6 on x86_64-apple-darwin20.6.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit
2023-04-04 17:58:41.836 WEST [25884] LOG: listening on IPv6 address "::1", port 5432
2023-04-04 17:58:41.836 WEST [25884] LOG: listening on IPv4 address "127.0.0.1", port 5432
2023-04-04 17:58:41.836 WEST [25884] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-04-04 17:58:41.840 WEST [25885] LOG: database system was shut down at 2023-04-04 17:58:41 WEST
2023-04-04 17:58:41.841 WEST [25884] LOG: database system is ready to accept connections
done
server started
select exists(SELECT 1 from …; rows affected: 0, rows returned: 1, elapsed: 1.239ms
select
exists(
SELECT
1
from
pg_database
WHERE
datname = $1
)
✅ Successfully started database.
2023-04-04 17:58:41.964 WEST [25892] LOG: could not receive data from client: Connection reset by peer
✅ Successfully started the indexer service at PID 25894.
^^>>> 2023-04-04T16:58:42.328656Z INFO fuel_indexer::commands::run: 43: Configuration: IndexerConfig { fuel_node: FuelNodeConfig { host: "beta-3.fuel.network", port: "80" }, graphql_api: GraphQLConfig { host: "localhost", port: "29987", max_body_size: 5242880 }, database: PostgresConfig { user: "postgres", password: "XXXX", host: "localhost", port: "5432", database: "postgres" }, metrics: false, stop_idle_indexers: false, run_migrations: false, authentication: AuthenticationConfig { enabled: false, strategy: None, jwt_secret: None, jwt_issuer: None, jwt_expiry: None } }
2023-04-04T16:58:42.378300Z INFO sqlx::query: SELECT * FROM index_registry; rows affected: 0, rows returned: 0, elapsed: 534.792µs
Error: Error from sqlx: Database(
PgDatabaseError {
severity: Error,
code: "42P01",
message: "relation \"index_registry\" does not exist",
detail: None,
hint: None,
position: Some(
Original(
15,
),
),
where: None,
schema: None,
table: None,
column: None,
data_type: None,
constraint: None,
file: Some(
"parse_relation.c",
),
line: Some(
1384,
),
routine: Some(
"parserOpenTable",
),
},
)
Caused by:
0: error returned from database: relation "index_registry" does not exist
1: relation "index_registry" does not exist
What’s wrong with this? I have checked latest version of forc index in documentation by following https://fuellabs.github.io/fuel-indexer/latest link, it says it should be 0.6.1 but latest what I could to download is 0.6.0, I am not sure, maybe problem is in this…
Please help me))))