Skip to content

Kava-Labs/rosetta-kava

Repository files navigation

Kava Rosetta API

Rosetta

Kava implementation of the Coinbase Rosetta API.

Written in Golang with the Rosetta Go SDK.

Features

  • Tracking of all native token balance changes for all transaction types
  • Stateless, offline transaction construction
  • Historical balance lookup and reconciliation

Prerequisites

To run rosetta-kava, docker is required.

System Requirements

rosetta-kava has been tested on an AWS c5.2xlarge instance. We recommend 8 vCPU, 16GB of RAM, and at least 2TB of storage for running a dockerized rosetta-kava node.

Usage

As specified in the Rosetta API, the rosetta-kava implementation is deployable via Docker and supports running via either an online or offline mode.

Install

Mainnet

The following commands will build a docker container named rosetta-kava and configure the container for running on the kava-mainnet network.

docker build . -f Dockerfile.mainnet -t rosetta-kava-mainnet
docker run -it -e "MODE=online" -e "NETWORK=kava-mainnet" -e "PORT=8000" -v "$PWD/kava-data:/data" -p 8000:8000 -p 26656:26656 rosetta-kava-mainnet

To run in offline mode:

docker run -it -e "MODE=offline" -e "NETWORK=kava-mainnet" -e "PORT=8000" -p 8000:8000 rosetta-kava-mainnet

Testnet

The following commands will build a docker container named rosetta-kava and configure the container for running on the kava-testnet network.

docker build . -f Dockerfile.testnet -t rosetta-kava-testnet
docker run -it -e "MODE=online" -e "NETWORK=kava-testnet" -e "PORT=8000" -v "$PWD/kava-data:/data" -p 8000:8000 -p 26656:26656 rosetta-kava-testnet

To run in offline mode:

docker run -it -e "MODE=offline" -e "NETWORK=kava-testnet" -e "PORT=8000" -p 8000:8000 rosetta-kava-testnet

Swagger

Swagger requires a running rosetta-kava service on port 8000.

make run-swagger

Navigate to http://localhost:8080.