Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ava-labs/avalanchejs
The Avalanche Platform JavaScript Library
https://github.com/ava-labs/avalanchejs
Last synced: 9 days ago
JSON representation
The Avalanche Platform JavaScript Library
- Host: GitHub
- URL: https://github.com/ava-labs/avalanchejs
- Owner: ava-labs
- License: other
- Created: 2020-01-22T00:26:36.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-25T18:48:12.000Z (10 days ago)
- Last Synced: 2024-10-25T22:39:55.629Z (10 days ago)
- Language: TypeScript
- Homepage:
- Size: 12 MB
- Stars: 322
- Watchers: 35
- Forks: 163
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-web3 - avalanchejs - JavaScript Library for interfacing with the Avalanche Platform. (Software Development / JavaScript)
- best-of-crypto - GitHub - 9% open · ⏱️ 13.03.2024): (Others)
README
# AvalancheJS - The Avalanche Platform JavaScript Library
## Overview
AvalancheJS is a JavaScript Library for interfacing with the Avalanche Platform. It is built using TypeScript and intended to support both browser and Node.js. The AvalancheJS library allows you to issue commands to the Avalanche node APIs.
Using AvalancheJS, developers can:
- Retrieve balances on addresses
- Get UTXOs for addresses
- Build and sign transactions
- Issue signed transactions to the X-Chain, P-Chain, and C-Chain
- Perform cross-chain swaps between the X, P and C chains
- Add Validators and Delegators
- Create Subnets and Blockchains### Requirements
AvalancheJS requires Node.js LTS version 20.11.1 or higher to compile.
## Installation
### Using the NPM Package
Add AvalancheJS to your project via `npm` or `yarn`.
For installing via `npm`:
`npm install --save @avalabs/avalanchejs`
For installing via `yarn`:
`yarn add @avalabs/avalanchejs`
### Build from Repository
You can also pull the repo down directly and build it from scratch.
Clone the AvalancheJS repository:
`git clone https://github.com/ava-labs/avalanchejs.git`
Then build it:
`npm run build`
or
`yarn build`
## Use AvalancheJS in Projects
The AvalancheJS library can be imported into your existing project as follows:
```ts
import { avm, pvm, evm } from '@avalabs/avalanchejs';
```## Importing Essentials
```ts
import { avm /** X-chain */, pvm /** P-chain */, evm /** C-chain */, utils, secp256k1 } from "@avalabs/avalanchejs"// example calls
const exportTx = avm.newExportTx(...) // constructs a new export tx from X
const addValidatorTx = pvm.newAddPermissionlessValidatorTx(...) // constructs a new add validator tx on P
const importTx = evm.newImportTx(...) // constructs a new import tx to Cconst publicKeyBytes = utils.hexToBuffer(publicKeyHex)
const signature = secp256k1.signHash(bytes, privateKeyBytes)
```Please check out the `examples` folder for more info.