JSPM

  • Created
  • Published
  • Downloads 86234
  • Score
    100M100P100Q54993F
  • License Apache-2.0

Aptos SDK

Package Exports

  • aptos
  • aptos/dist/index.js
  • aptos/dist/transaction_builder/aptos_types
  • aptos/dist/transaction_builder/aptos_types/index.js
  • aptos/dist/transaction_builder/bcs
  • aptos/dist/transaction_builder/bcs/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aptos) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

SDK for Aptos Node API

Discord NPM Package Version NPM Package Downloads

API Docs

Docs can be found here

Usage

For Javascript or Typescript usage, check out the ./examples folder with ready-made package.json files to get you going quickly!

If you are using the types in a commonjs module, like in a Node app, you just have to enable esModuleInterop and allowSyntheticDefaultImports in your tsconfig for types compatibility:

{
  ...
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true
    ...
  }
}

Requirements

yarn install

Generating API client

This SDK is composed of two parts, a core client generated from the OpenAPI spec of the API, and a set of wrappers that make it nicer to use, enable certain content types, etc.

To generate the core client from the spec, run:

yarn generate-client

Testing against devnet

yarn test

Testing against local node

Run a local node (run from the root of the repo):

cargo run -p aptos -- node run-local-testnet --with-faucet --faucet-port 8081 --force-restart --assume-yes

Setup an env to configure the URLs:

rm .env
echo 'APTOS_NODE_URL="http://127.0.0.1:8080/v1"' >> .env
echo 'APTOS_FAUCET_URL="http://127.0.01:8081"' >> .env

Run the tests:

yarn test

If you see strange behavior regarding HTTP clients, try running the tests with --detectOpenHandles.

Semantic versioning

This project follows semver as closely as possible.

References

Release process

To release a new version of the SDK do the following.

  1. Regenerate the client:
yarn generate-client
  1. Test, lint and format:
yarn test
yarn lint
yarn fmt
  1. Ensure your commit message adheres to the Conventional Commits specification. TODO, provide an example of how to do this, this is not very well known.
  2. Bump the version in package.json according to semver.
  3. Once you're confident everything is correct, submit your PR. Once it is approved and lands in main, CI will detect that the version has changed, build a new package, generate a changelog update, and upload it automatically.