Skip to content

Commit

Permalink
Update torii doc
Browse files Browse the repository at this point in the history
  • Loading branch information
broody committed Aug 22, 2023
1 parent 360bf23 commit 51d7ae2
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions src/toolchain/torii/reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
## torii reference

### Name

torii - An automatic indexer and networking layer for a world contract.

### USAGE

```sh
torii [OPTIONS]
```

### DESCRIPTION

`torii` starts the indexer and exposes GraphQL/gRPC API endpoints. The indexer queries the specified Starknet RPC endpoint for transaction blocks and listens for transactions related to the world contract. These transactions can include component/system registrations, entity state updates, system calls, and events. The parsed data is then stored in a local SQLite database.

The GraphQL and gRPC API endpoints run in tandem with the indexer, providing custom queries specific to the world contract for client applications.

#### Database URL

`torii` uses a sqlite database to store indexed data. The database can be stored either in-memory or persistently on the filesystem.

- The in-memory database is ephermal and only lasts as long as the indexer is running. This is a fast and simple option to start the indexer for development/testing.
- Presistent storage should be used in production. It relies on the local filesystem for storage.

Note: If using in-memory db, after a period of inactivity the memory will be garbage collected and queries will result in errors. Workaround is starting `katana` with `--block-time` or use persistent database.

```sh
# Persistent database storage using file indexer.db
torii --database-url sqlite:indexer.db
```

### OPTIONS

#### General Options

`-w, --world`
     Address of the world contract to index

`--rpc`
     Starknet RPC endpoing to use [default: http//localhost:5050]

`-m, --manifest <MANIFEST>`
&nbsp;&nbsp;&nbsp;&nbsp; Specify a local manifest to initialize from

`-d, --database-url <DATABASE_URL>`
&nbsp;&nbsp;&nbsp;&nbsp; Database URL (read more above) [default: sqlite::memory:]

`-s, --start-block <START_BLOCK>`
&nbsp;&nbsp;&nbsp;&nbsp; Specify a block to start indexing from, ignored if stored head exists [default: 0]

`-h, --help`
&nbsp;&nbsp;&nbsp;&nbsp; Print help

`-V, --version`
&nbsp;&nbsp;&nbsp;&nbsp; Print version

0 comments on commit 51d7ae2

Please sign in to comment.