Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

octopus-network/octopus-near-indexer-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

octopus-near-indexer-s3

Doc

Cache

Indexer S3 data cache to PostgresDB or RocksDB and Redis. PostgresDB or RocksDB cache Indexer Raw. Redis cache state

Indexer

Get S3 data and tracking new block. Based NEAR Lake.

Pusher

Http Client post S3 data and state event to url path.

Server

Http Server API to use cache and S3 data. Provide RESTful API and GraphQL.

Get HTTP_SERVER_LISTEN/cache current sync height block data.

Get HTTP_SERVER_LISTEN/cache/<id> custom height block data.

Roadmap

Cache

  • Local cache use RocksDB
  • DB fail Retry

Indexer

  • From Cache
  • Network error retry

Pusher

  • Websocket push (graphql-engine)

Server

  • Add more api (graphql-engine)
  • GraphQL (graphql-engine)

How to Run

AWS S3 Credentials

In order to be able to get objects from the AWS S3 bucket you need to provide the AWS credentials.

AWS default profile configuration with aws configure looks similar to the following:

~/.aws/credentials

[default]
aws_access_key_id=
aws_secret_access_key=

AWS docs: Configuration and credential file settings

Env Config

// This is S3 config
S3_BUCKET_NAME=near-lake-data-mainnet
S3_REGION_NAME=eu-central-1

// Start from cache if true ignore START_BLOCK_HEIGHT
START_BLOCK_HEIGHT_FROM_CACHE=true
START_BLOCK_HEIGHT=0

// PUSH block and event to Engine if false ignore PUSH_ENGINE_URL
ENABLE_PUSH_SERVER=false
PUSH_URL=http://127.0.0.1:8088

// Http Server
HTTP_SERVER_LISTEN=127.0.0.1:8088

// Cache DB
DATABASE_URL=postgres://nearscan_raw:nearscan_raw@192.168.20.40/nearscan

Run

cargo build --release
./target/release/octopus-near-indexer-s3

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published