Skip to content

KYVENetwork/kyvejs

Repository files navigation

@kyvejs

banner

Tools for building applications on KYVE


License: Apache-2.0 License: Apache-2.0 License: Apache-2.0 License: Apache-2.0

KYVE, the Web3 data lake solution, is a protocol that enables data providers to standardize, validate, and permanently store blockchain data streams. By leveraging permanent data storage solutions like Arweave, KYVE’s Cosmos SDK chain creates permanent backups and ensures the scalability, immutability, and availability of these resources over time.

Project Overview

Common:

  • @kyvejs/types - holds all types for the KYVE application in typescript
  • @kyvejs/sdk - development kit for communicating with the KYVE blockchain
  • @kyvejs/protocol - core functionality for running validators on the KYVE network

Tools:

Integrations:

Build Integration Binaries

Clone and checkout repository:

git clone [email protected]:KYVENetwork/kyvejs.git
cd kyvejs

Checkout desired version:

git checkout tags/@kyvejs/<integration>@x.x.x -b @kyvejs/<integration>@x.x.x

Example: git checkout tags/@kyvejs/[email protected] -b @kyvejs/[email protected]

Install dependencies and setup project:

yarn setup

Checkout integration and build binaries:

cd integrations/<integration>
yarn build:binaries

The binaries can then be found in the /out folder

How to contribute

Checkout new branch to implement new features/fixes there

git checkout -b [feat/fix]/[my-branch-name]

Install dependencies and setup project:

yarn setup

Apply your changes and create a Pull Request to main. Once the team has reviewed and approved your PR it can be merged and used.

NOTE: The usage of Conventional Commits is required when creating PRs and committing to this repository

How to release

In order to release new changes which got merged into main lerna can be used. Lerna will look into every change and create a new release tag if necessary. After the user has approved the new version tags (bumped according to Semantic Versioning) lerna will push those new tags to main, starting the CI/CD pipeline and creating the releases.

Release with lerna:

yarn lerna version