aptos

SDK for Aptos Node API

Discord NPM Package Version NPM Package Downloads

The Aptos TypeScript SDK provides a convenient way to interact with the Aptos blockchain using TypeScript. It offers a set of utility functions, classes, and types to simplify the integration process and enhance developer productivity.

Installation

For use in Node.js or a web application
pnpm install aptos

You can also use your preferred npm client, such as yarn or npm.

For use in a browser
<script src="https://unpkg.com/aptos@latest/dist/index.global.js" />

Then, the SDK can be accessed through window.aptosSDK.

Documentation and examples

  • The Aptos documentation site provides step-by-step instructions, code snippets, and best practices to use this library.
  • You can view the generated Type Doc for the latest release of the SDK.
  • For in-depth examples, check out the examples folder with ready-made package.json files to get you going quickly!

Development environment setup

Setup an .env file to configure the URLs. From the root of this package, run:

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

Testing

To run the full SDK tests, From the root of this package, run:

pnpm test

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

To test a single file in the SDK, From the root of this package, run:

npx jest -- <path/to/file.test.ts>

To use the local build in a local project:

// run from the root of this package
pnpm build
// run on your local project
pnpm add PATH_TO_LOCAL_SDK_PACKAGE

Working with local node

To develop in a local environment, you need to use the SDK from the main branch.

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

Contributing

If you found a bug or would like to request a feature, please file an issue. If, based on the discussion on an issue you would like to offer a code change, please make a pull request. If neither of these describes what you would like to contribute, checkout out the contributing guide.

Generated using TypeDoc