Home

Awesome

Indexer that catches txs for specific contract(s)

This project is a copy of https://github.com/near-examples/indexer-tx-watcher-example but is migrated to NEAR Lake Framework. We keep them both separately as they show different approaches to the same use case

The most common use case for indexers is to react on a transaction sent to a specific contract or a list of contracts.

This project is trying to provide an example of the indexer described about. It's simple yet doing the necessary stuff. In this example we don't use any external storage (like database or files) to keep track for the transactions to keep the example as simple as possible.

We've tried to put the explanatory comments in the code to help developers to extend this example according to their needs.

Please refer to NEAR Indexer for Explorer to find an inspiration for extending the indexer.

How it works

Assuming we want to watch for transactions where a receiver account id is one of the provided in a list. We pass the list of account ids (or contracts it is the same) via argument --accounts. We want to catch all successfull transactions sent to one of the accounts from the list. In the demo we'll just look for them and log them but it might and probably should be extended based on your needs.


How to use

Before you proceed, make sure you have the following software installed:

Clone this repository and open the project folder

$ git clone git@github.com:khorolets/indexer-tx-watcher-example.git
$ cd indexer-tx-watcher-example

Run

$ cargo build --release
$ ./target/release/indexer-tx-watcher-example --accounts mycoolcontract.near,myanothercoolcontract.near --block-height 88088521 testnet

Provide your contracts list after --accounts key separated with comma (,) avoid spaces, pick a fresher block height on https://explorer.testnet.near.org/


Find more docs about indexers on https://near-indexers.io