https://github.com/pokt-network/pocket-tools
🪓 Everyday, handy tools for the Pocket blockchain
https://github.com/pokt-network/pocket-tools
blockchain pocket pokt tooling
Last synced: 7 months ago
JSON representation
🪓 Everyday, handy tools for the Pocket blockchain
- Host: GitHub
- URL: https://github.com/pokt-network/pocket-tools
- Owner: pokt-network
- Created: 2021-09-23T01:17:02.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-03T05:45:32.000Z (about 2 years ago)
- Last Synced: 2024-04-01T16:11:09.869Z (over 1 year ago)
- Topics: blockchain, pocket, pokt, tooling
- Language: TypeScript
- Homepage: pocket-tools-gilt.vercel.app
- Size: 167 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pocket-tools 🪓
[
](https://www.npmjs.com/package/pocket-tools) [
](https://bundlephobia.com/result?p=pocket-tools)
pocket-tools is a collection of everyday, useful tools for everyone building on the Pocket Network.
## Usage
Add it to your project:
```console
yarn add pocket-tools
```Use it in your app:
```js
// App.jsimport { 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`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt).
## RPC Methods
### getHeight()
```js
async function getHeight(
options?: {
rpcUrl?: string;
}
): Promise
```Gets the current block height.
##### Parameters
- `rpcUrl?`: The RPC URL to use. Defaults to a public, sponsored by POKT endpoint.
### getAccount()
```js
async function getAccount(
address: string;
options?: {
height?: number;
rpcUrl?: string;
}: AccountQueryParams
): Promise
```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()
```js
async function getAccountHistory(
address: string;
options?: {
height?: number;
page?: number;
perPage?: number;
rpcUrl?: string;
stakingStatus: number;
}: AccountQueryParams
): Promise
```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()
```js
async function getApp(
address: string;
options?: {
height?: number;
rpcUrl?: string;
}: AccountQueryParams
): Promise
```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()
```js
async function getApp(
options?: {
height?: number;
page?: number;
perPage?: number;
rpcUrl?: string;
stakingStatus: number;
}: AccountQueryParams
): Promise
```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()
```js
async function getNode(
address: string;
options?: {
height?: number;
rpcUrl?: string;
}: NodeQueryParams
): Promise
```
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.