Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@frequency-chain/api-augment

Package Overview
Dependencies
Maintainers
3
Versions
634
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@frequency-chain/api-augment

RPC configuration for Frequency for use with Polkadotjs API

  • 0.0.0-a968aa
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.9K
decreased by-60.24%
Maintainers
3
Weekly downloads
 
Created
Source

Javascript Custom RPC

Contributors Forks Stargazers Issues MIT License NPM @latest NPM @next

Frequency Custom RPC and Types for Polkadot JS API

An easy way to get all the custom rpc and types config to be able to easily use Frequency with the Polkadot JS API library with TypeScript.

Getting Started

  • npm install @frequency-chain/api-augment (API Augmentation Library)
  • npm install @polkadot/api (Polkadot API Library)

Upgrades and Matching Versions

Assuming you are using no deprecated methods, any release version should work against a release version of @frequency-chain/api-augment. If you are working against a development version it is suggested that you match against the commit hash using v0.0.0-[First 6 of the commit hash].

Changelog is maintained in the releases for Frequency.

Usage

For details on use, see the Polkadot API library documentation.

import { options } from "@frequency-chain/api-augment";
import { ApiPromise } from "@polkadot/api";
// ...

const api = await ApiPromise.create({
  ...options,
  // ...
});

Contributing

See CONTRIBUTING.md for more information.

Updating Definitions

Update ./definitions if you have changed any types or RPC calls.

To generate the JS api definitions, run

make js

This command will start a Frequency node in the background and fetch API definitions from it. To stop the Frequency process, use the PID output by the command.

Helpful Notes

Fails to Resolve Custom RPCs

The api augmentation declares the modules used by @polkadot/api. Thus the import for @frequency-chain/api-augment must come before any @polkadot/api so that the Frequency declarations resolve first.

import { options } from "@frequency-chain/api-augment";
// Or
import "@frequency-chain/api-augment";
// Must come BEFORE any imports from @polkadot/api
import { ApiPromise } from "@polkadot/api";

Caches can also wreck this even if you reorder, so watch out.

  • Yarn cache can sometimes cause issues (if you are using yarn): yarn cache clear
  • Sometimes I have found blowing away the node_modules helps as well: rm -Rf node_modules

Option

Optional responses are not mapped to null and instead return an object with a few properties. For more details see the code for the Option class.

const optionalExample = await api.rpc.schemas.getBySchemaId(1);
// Does the Option have a value?
if (!optionalExample.isEmpty) {
  // Get the value
  return optionalExample.value;
}
return null;

Vec

Vector responses are not mapped directly to a JavaScript Array. Instead they are mapped to the Vec class which does extend Array. Thus, you can still use map, forEach, etc... with responses or access the values directing via .values().

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

FAQs

Package last updated on 06 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc