Git Product home page Git Product logo

pyra-sdk's Introduction

Pyra-SDK

npm version npm License

Overview

Based on Asset-SDK, Pyra-SDK implements a three-layer scalable data platform to monetize user content. It provides a set of easy-to-use methods and classes for PyraZone, PyraMarket, and RevenuePool.

Install

Before installing asset-sdk, you should install @meteor-web3/connector, which is the entrance of Dataverse and Meteor.

pnpm install @meteor-web3/connector # if you haven't installed it yet
pnpm install @pyra-marketplace/pyra-sdk

Examples

create pyra-zone

import {
  Connector,
  MeteorWebProvider
} from "@meteor-web3/connector";
import { PyraZone } from "@pyra-marketplace/pyra-sdk";
import { ethers } from "ethers";

const connector = new Connector(new MeteorWebProvider());

const loadOrCreatePyraZone = async () => {
  let _assetId: string;
  const pyraZones = await PyraZone.loadPyraZones({
    chainId: ChainId.BaseSepolia,
    publishers: [connector.address]
  });
  if (pyraZones.length > 0) {
    _assetId = pyraZones[0].asset_id;
  } else {
    const pyraZone = new PyraZone({
      chainId: ChainId.BaseSepolia,
      connector
    });
    _assetId = await pyraZone.createPyraZone();
  }
  console.log({ _assetId });
};

create tier-key

import {
  Connector,
  MeteorWebProvider
} from "@meteor-web3/connector";
import { PyraZone } from "@pyra-marketplace/pyra-sdk";

const connector = new Connector(new MeteorWebProvider());

const createTierkey = async () => {
  const pyraZone = new PyraZone({
    chainId: ChainId.BaseSepolia,
    assetId: "SOME_ASSET_ID",
    connector
  });

  const res = await pyraZone.createTierkey();
  console.log({ tier: res.tier });
};

create tier-file

import {
  Connector,
  MeteorWebProvider
} from "@meteor-web3/connector";
import { PyraZone } from "@pyra-marketplace/pyra-sdk";

const connector = new Connector(new MeteorWebProvider());

const createTierFile = async (tier: number = 0) => {
  const pyraZone = new PyraZone({
    chainId: ChainId.BaseSepolia,
    assetId: "SOME_ASSET_ID",
    connector
  });

  const date = new Date().toISOString();

  const res = await pyraZone.createTierFile({
    modelId: "PYRA_MODEL_ID",
    fileName: "create a file",
    fileContent: {
      modelVersion: "0.0.1",
      title: "test title",
      description: "test description",
      tags: ["test tag1", "test tag2"],
      resources: [
        "https://bafkreib76wz6wewtkfmp5rhm3ep6tf4xjixvzzyh64nbyge5yhjno24yl4.ipfs.w3s.link"
      ],
      createdAt: date,
      updatedAt: date,
      encrypted: JSON.stringify({
        resources: true
      })
    },
    tier
  });
  const indexFileId = res.fileContent.file.fileId;
  console.log({ res, indexFileId });
};

You can find more pyra-sdk usage in demo.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions to this project are welcome. To contribute, please follow these steps:

  1. Fork the repository and create a new branch.
  2. Make your changes and test them thoroughly.
  3. Submit a pull request with a detailed description of your changes.

pyra-sdk's People

Contributors

jackey351 avatar canvasl avatar tagbug avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.