This SDK offers binding to interact with the Aleph decentralized network.
Written in TypeScript, it's designed to replace the aleph-js library and works seamlessly in the browser, on Node.js servers, and within the Aleph Virtual Machine without internet access (using socat).
To get started, install the SDK using npm install <package>
.
Available packages are:
# Legacy (3.9.2)
aleph-sdk-ts
# Current (1.0.0 or later)
## General
@aleph-sdk/core
@aleph-sdk/account
@aleph-sdk/client
@aleph-sdk/message
@aleph-sdk/dns
## EVM chains
@aleph-sdk/evm
@aleph-sdk/ethereum
@aleph-sdk/ethereum-ledger
@aleph-sdk/avalanche
@aleph-sdk/base
@aleph-sdk/superfluid
## Non-EVM chains
@aleph-sdk/solana
@aleph-sdk/tezos
@aleph-sdk/nuls2
@aleph-sdk/cosmos
@aleph-sdk/substrate
- API reference: Detailed documentation for the SDK's API.
- Aleph TS SDK Gitbook: Guides and use-cases for the SDK.
- Examples: Sample code snippets demonstrating the SDK's usage.
This is the list of currently supported Account types. For each of them you can:
- Retrieve an account from a private key or mnemonic (or generate one on the fly).
- Sign and send messages on the Aleph Network.
- Some allow you to retrieve an account from a browser based wallet (ex: Metamask), or from a Ledger wallet.
Previous versions of the Typescript SDK allowed you to encrypt messages.
Chain | Encryption | Browser Wallet | Ledger |
---|---|---|---|
Avalanche | ❌ | ✔️ | ❌ |
Base | ❌ | ✔️ | ❌ |
Cosmos | ❌ | ✔️ | ❌ |
Ethereum | ❌ | ✔️ | ✔️ |
NULS2 | ❌ | ❌ | ❌ |
Solana | ❌ | ✔️ | ❌ |
Substrate (Polkadot) | ❌ | ✔️ | ❌ |
Tezos | ❌ | ✔️ | ❌ |
To use features not yet released, clone this repository and follow these steps:
- Install dependencies:
npm install
- Build packages:
npm run build
- Run the test suite:
npm run test
Version | Supported |
---|---|
v14.x | ✔️ Full working support |
v16.x | ✔️ Full working support |
v18.x | ❌ Some feature may not work (see notes) |
v20.x | ✔️ Full working support |
v22.x | ✔️ Full working support |
* Due to changes in OpenSSL in Node v18, some chains helper may not work. If you encounter bugs using Node v18, you might want to consider using the --openssl-legacy-provider
feature flag while running your project.
This SDK relies on several non-native browser modules (such as Streams and Buffer). While bundling your application, either using rollup (ex: Vite
) or webpack (ex: create-react-app
) you might have to rely on external polyfills for those features.
You can check the configuration files from the examples/toolshed directory to get started. Please note that we won't provide polyfills as part of this SDK.
Your contributions are always welcome, here's a guide to get started.
This software is released under The MIT License.