Javascript SDK
CESS SDK implementation for TypeScript.
Installation
npm install @cessnetwork/api @cessnetwork/util @cessnetwork/typesOverview
Complete Workflow with All Three Packages
This workflow demonstrates how all three packages work together:
@cessnetwork/apiprovides the main client and gateway operations@cessnetwork/utilprovides essential utility functions like signing@cessnetwork/typesprovides all the type definitions needed for type safety
This section explains how to use all three CESS packages (@cessnetwork/api, @cessnetwork/util, and @cessnetwork/types) together to perform a complete gateway workflow for file storage operations on the CESS network.
Step 1: Initialize CESS Client
import { CESS, CESSConfig, downloadFile, ExtendedDownloadOptions, GenGatewayAccessToken, isKeyringReady, SDKError, uploadFile } from '@cessnetwork/api';
import { safeSignUnixTime, } from '@cessnetwork/util';
import { GatewayConfig, OssAuthorityList, OssDetail, UploadResponse } from "@cessnetwork/types";
import { u8aToHex } from "@polkadot/util";
const config: CESSConfig = {
rpcs: ["wss://pm-rpc.cess.network/ws/"],
privateKey: process.env.CESS_PRIVATE_KEY || "",
}
const cess = await CESS.newClient(config);
console.log('Connected to network:', cess.getNetworkEnv());
console.log('Chain Metadata:', cess.getMetadata());
if (isKeyringReady(cess.keyring)) {
console.log('Account address:', cess.getSignatureAcc());
console.log('Account balance:', cess.getBalances());
} else {
throw new SDKError('Keyring Pair is required', 'INVALID_KEYRING');
}
Step 2: Sign Message for Gateway Authentication
Using @cessnetwork/util's signing utilities to authenticate with the gateway:
Step 3: Create Storage Territory (if needed)
Step 4: Authorize Gateway Access
Step 5: Obtain Gateway Token
Step 6: Upload File to Gateway
Step 7: Download File from Gateway
Step 8: Query File Status on the Blockchain
Last updated
Was this helpful?

