@q-dev/q-js-sdk

Typescript Library to interact with Q System Contracts

Usage no npm install needed!

<script type="module">
  import qDevQJsSdk from 'https://cdn.skypack.dev/@q-dev/q-js-sdk';
</script>

README

Q javascript SDK

[source, json, ] include::package.json[lines=2..4]

prepare

npm install
npm run generate-types

If generate-types indicates 0 matching files (on Windows machines) you can try the adapted script npm run generate-types-win

contribute

Make sure to run pre-commit script before commit

npm run pre-commit

update abi files

download latest abi files, for a specific system contracts tag from https://gitlab.com/q-dev/system-contracts/-/jobs/artifacts/$tagname/download?job=extract-abi, e.g for current devnet abis:

https://gitlab.com/q-dev/system-contracts/-/jobs/artifacts/devnet/download?job=extract-abi

or master abis: https://gitlab.com/q-dev/system-contracts/-/jobs/artifacts/master/download?job=extract-abi

Then call

./update-abis.sh <path/to/abi.zip>

Increase package version: if any abi changed, increase at least minor version, otherwise increase patch version.

Make sure, everything compiles. Fix if necessary.

Commit changes and apply same tag as used above.

publish new version

. Bump version in package.json . Create and push new git tag . Package will be automatically built and published to npm registry