This repo is home to most of the Stacks.js packages, which provide the building blocks to work with the Stacks blockchain from JavaScript/TypeScript.
@stacks/connect
Connect web application to Stacks wallet browser extensions (separate repo).
@stacks/transactions
Construct, decode transactions and work with Clarity smart contracts on the Stacks blockchain.@stacks/wallet-sdk
Library for building wallets, managing accounts, and handling keys for the Stacks blockchain.@stacks/storage
Store and fetch files with Gaia, the decentralized storage system.@stacks/encryption
Encryption functions used by stacks.js packages.@stacks/auth
Construct and decode authentication requests for Stacks apps.@stacks/profile
Functions for manipulating user profiles.@stacks/network
Network and API library for working with Stacks blockchain nodes.@stacks/common
Common utilities used by stacks.js packages.
@stacks/bns
Library for interacting with the BNS contract.@stacks/stacking
Library for PoX stacking.
@stacks/cli
Command line interface to interact with auth, storage and Stacks transactions.@stacks/keychain
DEPRECATED: replaced by@stacks/wallet-sdk
See the respective README
in each package directory for installation instructions and usage.
Documentation and library references for the stacks.js packages are located at stacks.js.org.
To migrate your app from blockstack.js to Stacks.js follow the steps in the respective migration guide.
Github issues marked help-wanted are great places to start. Please ask in a github issue or discord before embarking on larger issues that aren't labeled as help wanted or adding additional functionality so that we can make sure your contribution can be included!
To setup the development environment for this repository, follow these steps:
Prerequisites:
- Node v16.x.x is recommended (Node v17 may run into issues that can be worked around)
- Clone this package.
- Run
npm install
to install dependencies - Run
npm run bootstrap
to bootstrap project - Run
npm run build
to build packages - Run
npm run test
to run tests
Some tests may contain logging of errors and warnings. This should not be confused with failing tests. Make sure the last lines of
npm run test
showlerna success - @stacks/...
for every package.