Tools for building applications on KYVE
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.
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:
- @kyvejs/kysor - The Cosmovisor of KYVE
Integrations:
- @kyvejs/tendermint - The official KYVE Tendermint sync integration
- @kyvejs/tendermint-ssync - The official KYVE Tendermint state-sync integration
- @kyvejs/tendermint-bsync - The official KYVE Tendermint block sync integration
Clone and checkout repository:
git clone git@github.com: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/tendermint-bsync@1.0.0 -b @kyvejs/tendermint-bsync@1.0.0
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
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
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