SDK for Aptos Node API

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.
- Regenerate the client:
yarn generate-client
- Test, lint and format:
yarn test
yarn lint
yarn fmt
- 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.
- Bump the version in
package.json
according to semver. - 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.