Crust SDK
Crust provides PolkadotJS based SDK to access Crust Network functionalities. It is implemented as crust.js library to provide additional type definitions.
crust.js
This library provides additional typing information for users to access Crust Network by using polkadot.js
Getting Started
- Install dependencies
yarn add @polkadot/api @crustio/type-definitions
- Create API instance
import {ApiPromise, WsProvider} from '@polkadot/api';
import {typesBundleForPolkadot} from '@crustio/type-definitions';
async function main() {
const api = new ApiPromise({
provider: new WsProvider('wss://api.crust.network'),
typesBundle: typesBundleForPolkadot,
});
await api.isReady;
// Use api
}
main();
- Interact with chain
// Query file info
const fileInfo = await api.query.market.files('QmRaknS23vXEcdJezkrVC5WrApQNUkUDdTpbRdvh5fuJHc');
console.log(fileInfo.toHuman());
E2E code sample can be found here.
Crust Types
- Use crust types
import {crustTypes} from '@crustio/type-definitions';
// Define FileInfo
export type FileInfo = typeof crustTypes.market.types.FileInfo;
// Use FileInfo as `interface`
Types
- DSM Types:
FileInfo
,MerchantLedger
,Replica
, ... - MPoW Types:
Identity
,WorkReport
, ... - GPoS Types:
Guarantee
, ...
- DSM Types:
Additional Resources
- @polkadot/api The polkadot api library provides a Promise-style interface for performing related operations on substrate-based chains including Crust chain
- ipfs-core ipfs library contains all the functions of ipfs
API Specifications
PolkadotJS API
The PolkadotJS API document can be found here.
Crust API
Please visit Crust Docs to check all Crust API. You can check the Constants
to get all constants stored on chain. You can learn how the chain state organazied on Storage
page and all supported extrinsices on Extrinsics
. You can check the Events
and Errors
as well if neccessary.
Contributes on Crust API Specifications
You are welcome to contribute on Crust API specifications to provide more integrated and user-friendly documents.