open-index/open-npm huggingface dataset:
npm package: @kyve/avalanche
Description: The official KYVE node for Avalanche
Author: John Letey
Latest version: 0.0.0-alpha.31

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/111903348-c5b9f700-8a39-11eb-9549-49b92072b16e.png" height="250">
  </a>
  <h3 align="center"><code>@kyve/avalanche</code></h3>
  <p align="center">The official KYVE node for Avalanche.</p>
</p>

## About

The KYVE + Avalanche node allows you to bridge any data stream from an Avalanche chain onto Arweave.

## Usage

There are two ways to run the node. You can either run the integration itself or
run a prebuilt version of the [KYVE Node](../node/README.md).

```js
import AvalancheInstance from "@kyve/avalanche";
const poolID = ...
const stake = ...

AvalancheInstance(poolID, stake, jwk).run();
```

## Config

The config is pool specific. You can find a list of pool [here](https://kyve.network/gov/pools).
For this integration the config should look like this:

```json
{
  "endpoint": "wss://...."
}
```

The Avalanche integration uses the websocket endpoint to listen to
the latest block data. For more information have a look at their
[documentation](https://docs.avax.network/build/avalanchego-apis/issuing-api-calls).
npm package: @kyve/cosmos
Description: The official KYVE node for Cosmos
Author: John Letey
Latest version: 0.0.0-alpha.40

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/113416638-a74ce780-93b9-11eb-96f9-ccc0472fe6f2.png" height="250">
  </a>
  <h3 align="center"><code>@kyve/cosmos</code></h3>
  <p align="center">The official KYVE node for Cosmos.</p>
</p>

## About

The KYVE + Cosmos node allows you to bridge any data stream from a Cosmos chain onto Arweave.

## Usage

```js
import CosmosInstance from "@kyve/cosmos";

CosmosInstance("Cosmos // Mainnet", jwk).run();
```
npm package: @kyve/logic
Description: <p align="center">   <a href="https://kyve.network">     <img src="https://user-images.githubusercontent.com/62398724/110093923-289d6400-7d93-11eb-9d37-3ab7de5b752b.png" height="96">   </a>   <h3 align="center"><code>@kyve/logic</code></h3>   <p align="ce
Author: John Letey
Latest version: 0.0.0-alpha.19

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/110093923-289d6400-7d93-11eb-9d37-3ab7de5b752b.png" height="96">
  </a>
  <h3 align="center"><code>@kyve/logic</code></h3>
  <p align="center">A protocol for verified data streams.</p>
</p>

## Usage

### Installation

```
yarn add @kyve/logic
```

### Using KYVE in your application

#### Initiating a node

```ts
import KYVE from "@kyve/logic";

const node = new KYVE();
```

#### Node configuration

KYVE requires two custom functions. One which fetches the data from your data source and one which validates this data.
You can then simply add these two functions into the KYVE instance.

###### Specifying an upload function

To pass data into KYVE, simply call `subscriber.next()`:

```ts
const myDataFetcher = async (subscriber) => {
  // use your custom logic here
  const data = ...
  subscriber.next({ data });
}
```

You can also optionally add custom tags to your transactions:

```ts
const myDataFetcher = async (subscriber) => {
  // use your custom logic here
  const data = ...
  const tags = [...]
  subscriber.next({ data, tags });
}
```

###### Specifying a validation function

```ts
const myDataValidator = async (subscriber) => {
  // fetch the data uploaded onto Arweave
  const fetchedData = ...
  const arweaveTxId = ...
  // validate the data with your custom logic
  const isValid = ...
  // pass the result into KYVE
  subscriber.next({ valid: isValid, id: arweaveTxId });
}
```

###### Giving the node your functions

```ts
import KYVE from "@kyve/logic";

const node = new KYVE(myDataFetcher, myDataValidator);
```

###### Pool configuration

Next you need to set up the pool. You can create a new pool here.
After you have created the pool, insert its name and your arweave keyfile into the node config:

```ts
import KYVE from "@kyve/logic";

const pool = "demo-pool";
const jwk = ...

const node = new KYVE(myDataFetcher, myDataValidator, { pool, jwk });
```

###### Running your node

To run your node, simply call the `.run()` function:

```ts
import KYVE from "@kyve/logic";

const pool = "demo-pool";
const jwk = ...

const node = new KYVE(myDataFetcher, myDataValidator, { pool, jwk });

(async () => {
  await node.run();
})();
```

## Querying data
npm package: @kyve/polkadot
Description: The official KYVE node for Polkadot
Author: John Letey
Latest version: 0.0.0-alpha.42

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/110202783-d62b7880-7e62-11eb-911e-8b2f91cc0493.png" height="250">
  </a>
  <h3 align="center"><code>@kyve/polkadot</code></h3>
  <p align="center">The official KYVE node for Polkadot.</p>
</p>

## About

The KYVE + Polkadot node allows you to bridge any data stream from a Polkadot substrate onto Arweave.

## Usage

```js
import PolkadotInstance from "@kyve/polkadot";

PolkadotInstance("Polkadot // Mainnet", jwk).run();
```
npm package: @kyve/query
Description: ``` yarn add @kyve/query ```
Author: John Letey
Latest version: 0.0.0-alpha.48

## Installation

```
yarn add @kyve/query
```

## Usage

Note: The KYVE-Query class extends ArDB. For detailed information
please refer to the [documentation](https://github.com/cedriking/ardb).

### Querying

#### Basic Query

To query KYVE data, create a new Query and pass in the poolID. The default limit is
10 transactions. Call `.next()` to get to the next page. The default order is latest -> oldest transactions.

```ts
import { Query } from "@kyve/query";

const poolID = 0;
const query = new Query(poolID);

// finding latest transactions
const txs = query.find();

// receiveing the next 10 results
const nextTxs = query.next();
```

#### Setting custom limits

To set a custom limit you can add a `.limit()` statement.

```ts
// finding 50 latest transactions
const txs = query.limit(50).find();
```

#### Other filters

For other filters please refer to the ArDB [documentation](https://github.com/cedriking/ardb).
npm package: @kyve/sdk
Description: <p align="center">   <a href="https://kyve.network">     <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">   </a>   <h3 align="center"><code>@kyve/sdk</
Author: Ruslan Hlaznov
Latest version: 3.1.0

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">
  </a>
  <h3 align="center"><code>@kyve/sdk</code></h3>
  <p align="center">The official kyve-sdk</p>
</p>

> Note: Documentation on the kyve-sdk can be found [here](https://kyve-docs.herokuapp.com/modules/)
npm package: @kyve/sdk-beta
Description: <p align="center">   <a href="https://kyve.network">     <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">   </a>   <h3 align="center"><code>@kyve/sdk</
Author: Ruslan Hlaznov
Latest version: 3.7.0

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">
  </a>
  <h3 align="center"><code>@kyve/sdk</code></h3>
  <p align="center">The official kyve-sdk</p>
</p>

> Note: Documentation on the kyve-sdk can be found [here](https://kyve-docs.herokuapp.com/modules/)
npm package: @kyve/sdk-test
Description: <p align="center">   <a href="https://kyve.network">     <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">   </a>   <h3 align="center"><code>@kyve/sdk</
Author: John Letey
Latest version: 1.0.2

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96">
  </a>
  <h3 align="center"><code>@kyve/sdk</code></h3>
  <p align="center">The official kyve-sdk</p>
</p>

> Note: Documentation on the kyve-sdk can be found [here](https://kyve-docs.herokuapp.com/modules/)
npm package: @kyve/smartweave
Description: The official KYVE node for SmartWeave
Author: John Letey
Latest version: 0.0.0-alpha.38

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/110093923-289d6400-7d93-11eb-9d37-3ab7de5b752b.png" height="96">
  </a>
  <h3 align="center"><code>@kyve/smartweave</code></h3>
  <p align="center">The official KYVE node for Smartweave.</p>
</p>

## About

The KYVE + SmartWeave node allows you to store the state from any SmartWeave contract onto Arweave. This allows
the client to load a state a given block-height without the need of calculating through
every transaction.

## Usage

There are two ways to run the node. You can either run the integration itself or
run a prebuilt version of the [KYVE Node](../node/README.md) (recommended).

```js
import SmartWeaveInstance from "@kyve/smartweave";
const poolID = ...
const stake = ...

SmartWeaveInstance(poolID, stake, wallet).run();
```

## Config

The config is pool specific. You can find a list of pool [here](https://kyve.network/gov/pools).
For this integration the config should look like this, and the architecture should be set to `SmartWeave`:

```json
{
  "contracts": ["CONTRACT_ID_1", ...]
}
```

The SmartWeave integration listens to changes happening on the contracts you specify in the config.
npm package: @kyve/solana
Description: The official KYVE node for Solana
Author: John Letey
Latest version: 0.0.0-alpha.37

<p align="center">
  <a href="https://kyve.network">
    <img src="https://user-images.githubusercontent.com/62398724/114006410-52491f80-9858-11eb-9956-7b703d2b933f.png" height="250">
  </a>
  <h3 align="center"><code>@kyve/solana</code></h3>
  <p align="center">The official KYVE node for Solana.</p>
</p>

## About

The KYVE + Solana node allows you to bridge any data stream from a Solana chain onto Arweave.

## Usage

```js
import SolanaInstance from "@kyve/solana";

SolanaInstance("Solana // Mainnet BETA", jwk).run();
```
npm package: @kyve/zilliqa
Description: The official KYVE node for Zilliqa
Author: Ewart ten Brink, Martijn Heus
Latest version: 0.0.0-alpha.36

<p align="center">
  <a href="https://kyve.network">Kyve</a>
  <h3 align="center"><code>@kyve/zilliqa</code></h3>
  <p align="center">The official KYVE node for Zilliqa.</p>
</p>

## About

The KYVE + zilliqa node allows you to bridge any data stream from an Zilliqa chain onto Arweave.

## Usage

There are two ways to run the node. You can either run the integration itself or
run a prebuilt version of the [KYVE Node](../node/README.md).

```js
import ZilliqaInstance from "@kyve/zilliqa";
const poolID = ...
const stake = ...

ZilliqaInstance(poolID, stake, jwk).run();
```

## Config

The config is pool specific. You can find a list of pool [here](https://kyve.network/gov/pools).
For this integration the config should look like this:

```json
{
  "endpoint": "wss://....",
  "api": "https://...."
}
```

Default zilliqa mainnet

```json
{
  "endpoint": "wss://api-ws.zilliqa.com",
  "api": "https://api.zilliqa.com/"
}
```

The Zilliqa integration uses the websocket endpoint to listen to
the latest block data. For more information have a look at their
[documentation](https://dev.zilliqa.com/docs/dev/dev-tools-websockets/).
npm package: @kyvejs/coins
Description: @kyvejs/coins is an sdk for doing arithmetic operations on Cosmos Coins, it is an exact implementation of the sdk.Coins type in Typescript, the original Golang implementation can be found here: https://github.com/cosmos/cosmos-sdk/blob/main/types/coin.go
Author: Troy Kessler
Latest version: 1.0.3

# Coins

@kyvejs/coins is an sdk for doing arithmetic operations on Cosmos Coins, it is an exact implementation of the
sdk.Coins type in Typescript, the original Golang implementation can be found here: https://github.com/cosmos/cosmos-sdk/blob/main/types/coin.go

## Installation

You can install this package with npm or yarn:

```bash
yarn add @kyvejs/coins
npm i @kyvejs/coins
```

## Usage

Here are some examples on how to use the coins sdk:

Arithmetic methods:

```ts
new Coins("1acoin,2bcoin").add({denom: "ccoin", amount: "3"}).mul(2).toString()
-> "2acoin,4bcoin,6ccoin"

new Coins("1acoin,2bcoin,4ccoin").sub("1acoin").div(2).toArray()
-> [{denom: "bcoin", amount: "1"}, {denom: "ccoin", amount: "2"}]
```

Checks and info methods:

```ts
const myCoins = new Coins("1acoin,2bcoin")

myCoins.isZero()
-> false

myCoins.len()
-> 2

myCoins.equal("1acoin,2bcoin")
-> true

myCoins.amountOf("bcoin")
-> "2"

myCoins.min("1bcoin,1ccoin").toString()
-> "1bcoin"

myCoins.max("1bcoin,1ccoin").toString()
-> "1acoin,2bcoin,1ccoin"
```

Comparison methods:

```ts
const myCoins = new Coins({denom: "bcoin", amount: "1"}, {denom: "ccoin", amount: "2"})

new Coins("1acoin,2bcoin,3ccoin").isAllGT(myCoins)
-> true

new Coins("2bcoin,1ccoin").isAnyLT(myCoins)
-> true
```

## All available methods

The following methods are available on the Coins class:

- toString() - return coins to string object
- toArray() - return coins in json form with denom and amount
- len() - get the number of coins
- empty() - check if coins are empty
- isZero() - check if all coins have a zero value
- amountOf() - get the amount of a coin
- find() - get the coin by denom
- equal() - assert if to coin sets are equal
- denoms() - get all denoms
- isAnyNegative() - check if any coin is negative
- isAllPositive() - check if all coins are positive
- add() - add two coin sets together
- sub() - subtract two coin sets
- mul() - multiply each coin with a number
- quo() - divide each coin and truncate with a number
- min() - get the minimum amounts of two coin sets
- max() - get the maximum amounts of two coin sets
- isAllGTE() - check if all coins are greater equal
- isAllGT() - check if all coins are greater
- isAllLTE() - check if all coins are less equal
- isAllLT() - check if all coins are less
- isAnyGTE() - check if any coins are greater equal
- isAnyGT() - check if any coins are greater
- isAnyLTE() - check if any coins are less equal
- isAnyLT() - check if any coins are less
npm package: @kyvejs/types
Description: <div align="center">   <h1>@kyvejs/types</h1> </div>
Author: ruslan glaznyov
Latest version: 1.5.0

<div align="center">
  <h1>@kyvejs/types</h1>
</div>

![banner](https://arweave.net/Gs2PvyzkWt9d2CfwTYtwDGGqv-HhV-qXjTURTCW0LuU)