https://github.com/KYVENetwork/kyvejs
Tools for building applications on KYVE
https://github.com/KYVENetwork/kyvejs
arweave blockchain cosmos kyve validation web3
Last synced: over 1 year ago
JSON representation
Tools for building applications on KYVE
- Host: GitHub
- URL: https://github.com/KYVENetwork/kyvejs
- Owner: KYVENetwork
- License: apache-2.0
- Created: 2022-11-23T09:00:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T08:04:40.000Z (almost 2 years ago)
- Last Synced: 2024-10-25T04:32:19.748Z (almost 2 years ago)
- Topics: arweave, blockchain, cosmos, kyve, validation, web3
- Language: TypeScript
- Homepage: https://kyve.network
- Size: 121 MB
- Stars: 15
- Watchers: 3
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-ccamel - KYVENetwork/kyvejs - Tools for building applications on KYVE (TypeScript)
README
@kyvejs

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.
## Project Overview
**Common:**
- [@kyvejs/types](common/types/README.md) - holds all types for the KYVE application in typescript
- [@kyvejs/sdk](common/sdk/README.md) - development kit for communicating with the KYVE blockchain
- [@kyvejs/protocol](common/protocol/README.md) - core functionality for running validators on the KYVE network
**Tools:**
- [@kyvejs/kysor](tools/kysor/README.md) - The Cosmovisor of KYVE
**Integrations:**
- [@kyvejs/tendermint](integrations/tendermint/README.md) - The official KYVE Tendermint sync integration
- [@kyvejs/tendermint-ssync](integrations/tendermint-ssync/README.md) - The official KYVE Tendermint state-sync integration
- [@kyvejs/tendermint-bsync](integrations/tendermint-bsync/README.md) - The official KYVE Tendermint block sync integration
## Build Integration Binaries
Clone and checkout repository:
```bash
git clone git@github.com:KYVENetwork/kyvejs.git
cd kyvejs
```
Checkout desired version:
```
git checkout tags/@kyvejs/@x.x.x -b @kyvejs/@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/
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
```bash
git checkout -b [feat/fix]/[my-branch-name]
```
Install dependencies and setup project:
```bash
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](https://conventionalcommits.org) 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](https://semver.org/)) lerna will push those new tags to `main`, starting the CI/CD pipeline and creating the releases.
Release with lerna:
```
yarn lerna version
```