@kyve/core
🚀 The base KYVE node implementation.
Integrations
Existing integrations
Creating a custom integration
Installation
yarn add @kyve/core
Using KYVE in your application
Initiating a node
Next you need to set up the pool. You can create a new pool here.
import KYVE from "@kyve/core";
import { BigNumber } from "ethers";
const pool = "0x...";
const pk = process.env.PK;
const stake = BigNumber.from(100).mul(10).pow(18);
const jwk = ...
const name = "my-node";
const node = new KYVE(pool, pk, stake, jwk, name);
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 run
method.
Specifying an upload function
To pass data into KYVE, simply call subscriber.next()
:
const myUploader = (subscriber, config, logger) => {
const data = ...
subscriber.next({ data });
}
You can also, optionally, add custom tags to your transactions:
const myUploader = (subscriber, config, logger) => {
const data = ...
const tags = [...]
subscriber.next({ data, tags });
}
Specifying a validation function
const myValidator = (listener, subscriber, config, logger) => {
const valid = ...
subscriber.next({ transaction: res.transaction, valid });
}
Running your node
To run your node, simply call the run
function and pass your functions in:
node.run(myUploader, myValidator);
Querying data
Coming soon!
Contributing
To contribute to this repository please follow these steps:
- Clone the repository
https://github.com/KYVENetwork/core.git
- Install dependencies
yarn install