npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@fewcha/aptos

v0.1.42

Published

Aptos SDK

Downloads

9

Readme

SDK for Aptos Node API

Discord NPM Package Version NPM Package Downloads

Quickstart

The public SDK downloaded from npmjs is compatible with the Aptos devnet. To start building, run below command in your project directory:

yarn add aptos

or use the browser bundle

<script src="https://unpkg.com/aptos@latest/dist/index.global.js" />

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

Learn the basics of how to use the SDK by following this tutorial in the Aptos developer site.

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

Working with devnet

See the quickstart above.

Working with local node

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

NOTE SDK from the main branch might not be compatible with the devnet.

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

Run the SDK tests and make sure they pass. Go to the SDK directory, and 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.0.1:8081"' >> .env

Run the tests:

yarn test

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

Package the SDK and start building:

yarn build
yarn pack
# In your project directory
yarn add PATH_TO_LOCAL_SDK_PACKAGE

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. Bump the version in package.json according to semver.
  2. Add an entry in the CHANGELOG for the version. We adhere to Keep a Changelog.
  3. Once you're confident everything is correct, submit your PR. The CI will ensure that you have followed all the previous steps, specifically ensuring that the API, API spec, and SDK client are all compatible, that you've updated the changelog, that the tests pass, etc.
  4. Land the PR on main.
  5. Apply the changes to the devnet branch. CI will detect that the version has changed, build a new package, and upload it automatically to npmjs.