GithubHelp home page GithubHelp logo

pokt-network / pocket-tools Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 171 KB

๐Ÿช“ Everyday, handy tools for the Pocket blockchain

Home Page: pocket-tools-gilt.vercel.app

TypeScript 99.23% JavaScript 0.77%
blockchain tooling pocket pokt

pocket-tools's Introduction

pocket-tools ๐Ÿช“

pocket-tools is a collection of everyday, useful tools for everyone building on the Pocket Network.

Usage

Add it to your project:

yarn add pocket-tools

Use it in your app:

// App.js

import { poktToUpokt } from 'pocket-tools'

const amount = poktToUpokt("8000")
// transfer this amount through pocketJS...

API

getAddressFromPublicKey(publicKey)

Converts an Application's Public Key into its address equivalent.

Parameters
  • publicKey: The public key to be converted to its address equivalent. Must be passed as a string.

isAddress(address)

Validates if the given address satisfies the format used on the Pocket Blockchain. Pocket addresses are not checksummed, so the method to follow is check if its:

  1. A valid hex string, AND
  2. its length in bytes is 20.
Parameters
  • address: The address to be verified. Must be passed as a string.

poktToUpokt(quantity)

Converts a normal integer POKT amount to a 6-decimal representation (uPOKT). Remember that 1 POKT = 1000000 (1M) uPOKT.

Parameters
  • quantity: The amount to convert. Can be a string, number or native bigint.

RPC Methods

getHeight()

async function getHeight(
  options?: {
    rpcUrl?: string;
  }
): Promise<number>

Gets the current block height.

Parameters
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.

getAccount()

async function getAccount(
  address: string;
  options?: {
    height?: number;
    rpcUrl?: string;
  }: AccountQueryParams
): Promise<AccountQueryResponse>

Gets an account information (address and balance).

Parameters
  • address: Account address.
  • height?: Get the account information at a specific block.
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.

getAccountHistory()

async function getAccountHistory(
  address: string;
  options?: {
    height?: number;
    page?: number;
    perPage?: number;
    rpcUrl?: string;
    stakingStatus: number;
  }: AccountQueryParams
): Promise<AppsQueryResponse>

Gets a list of transactions from a specific app.

Parameters
  • height?: Get the account information at a specific block.
  • page?: The page requested (for pagination purposes).
  • perPage?: Amount of apps to show per page (for pagination purposes).
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.
  • stakingStatus?: If the app fetches are staked, unstaked, or being unstaked.

getApp()

async function getApp(
  address: string;
  options?: {
    height?: number;
    rpcUrl?: string;
  }: AccountQueryParams
): Promise<AppQueryResponse>

Gets an app from the chain.

Parameters
  • address: Account address.
  • height?: Get the account information at a specific block.
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.

getApps()

async function getApp(
  options?: {
    height?: number;
    page?: number;
    perPage?: number;
    rpcUrl?: string;
    stakingStatus: number;
  }: AccountQueryParams
): Promise<AppsQueryResponse>

Gets a list of apps from the chain, depending on the pagination limits set.

Parameters
  • height?: Get the account information at a specific block.
  • page?: The page requested (for pagination purposes).
  • perPage?: Amount of apps to show per page (for pagination purposes).
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.
  • stakingStatus?: If the app fetches are staked, unstaked, or being unstaked.

getNode()

async function getNode(
  address: string;
  options?: {
    height?: number;
    rpcUrl?: string;
  }: NodeQueryParams
): Promise<NodeQueryResponse>

Gets a node from the chain.

Parameters
  • address: Account address.
  • height?: Get the account information at a specific block.
  • rpcUrl?: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.

pocket-tools's People

Contributors

evalir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pocket-tools's Issues

Add isPublicKey function

Just like there's an isAddress function, it will be very useful to also recognize if a given public key is valid

`getApps` requires either all parameters or none

getApps function only allows to either modify the options of all the parameters or pass none at all, would be better to modify the parameters individually if for example I only want to modify the pagination

Security Policy violation SECURITY.md

This issue was automatically created by Allstar.

Security Policy Violation
Security policy not enabled.
A SECURITY.md file can give users information about what constitutes a vulnerability and how to report one securely so that information about a bug is not publicly visible. Examples of secure reporting methods include using an issue tracker with private issue support, or encrypted email with a published key.

To fix this, add a SECURITY.md file that explains how to handle vulnerabilities found in your repository. Go to https://github.com/pokt-foundation/pocket-tools/security/policy to enable.

For more information, see https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository.


This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

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.