Skynet
Visit SkynetBlogUse-casesDiscord
  • Getting Started
    • Introduction to Skynet
    • Why Skynet?
    • Features
      • Skynet Intelligence
      • Skynet Orchestration
      • Data Security
      • Memory
      • Skynet Chain
      • Payments
      • AI Tools
    • Skynet Interoperability
  • Agent Studio
    • Studio Overview
    • Dashboard
    • Workflow
  • Skynet Ecosystem
  • Skynet Protocol
    • SkyIDs
    • Role Based Access Control (RBAC)
    • Organizational Services
    • Add AI Agent tools
    • Payment Rails
      • Fiat/Crypto On-ramp
      • Settlement With Tooling Providers
      • Subscriptions vs on-demand Pay-per-second
      • How AI Agents Spend
    • Subnet
      • Types of Subnet
      • Subnet fault-tolerance and security
      • Provider Subnet
      • Provider Subnet functions
      • Tool fees
    • Smart Access Points
  • FAQ
  • Tutorials
  • Concepts
    • Glossary
  • Technical Support
  • Build your Project on Skynet
    • Interact with AI service to create an Agent
      • Prerequisites
      • SDK Initialization
      • Adding Balance to a Subnet
        • Best Practices
        • Common Errors and Solutions
      • Authentication
      • userAuthPayload
      • Service Endpoints
    • Integrate AI agent tools
      • Installation
      • Configuration
      • Initialization and Setup
      • Core Functions
      • Endpoint Summary
  • Developer Portal
Powered by GitBook
On this page
  1. Build your Project on Skynet
  2. Interact with AI service to create an Agent

SDK Initialization

SDK Initialization

import SkyMainNodeJS from '@decloudlabs/skynet/lib/services/SkyMainNodeJS';
import SkyEnvConfigNodeJS from '@decloudlabs/skynet/lib/types/types';
import dotenv from 'dotenv';
dotenv.config();

let initializedAppCrypto: SkyMainNodeJS;

const initializeSkyNodeCrypto = async (): Promise<SkyMainNodeJS> => {
    if (!initializedAppCrypto) {
        const envConfig: SkyEnvConfigNodeJS = {
            JRPC_PROVIDER: process.env.PROVIDER_RPC!,
            WALLET_PRIVATE_KEY: process.env.WALLET_PRIVATE_KEY!,
            STORAGE_API: {
                LIGHTHOUSE: {
                    LIGHTHOUSE_API_KEY: process.env.LIGHTHOUSE_API_KEY!
                },
                IPFS: {
                    PROJECT_ID: process.env.IPFS_PROJECT_ID!,
                    PROJECT_SECRET: process.env.IPFS_PROJECT_SECRET!
                },
                CLOUD: {
                    BUCKET_NAME: process.env.CLOUD_BUCKET_NAME!,
                    ACCESS_KEY_ID: process.env.CLOUD_ACCESS_KEY_ID!,
                    SECRET_ACCESS_KEY: process.env.CLOUD_SECRET_ACCESS_KEY!,
                    REGION: process.env.CLOUD_REGION!
                }
            }
        };
        initializedAppCrypto = new SkyMainNodeJS(envConfig);
        await initializedAppCrypto.init(true);
    }
    return initializedAppCrypto;
};

export const getSkyNode = async (): Promise<SkyMainNodeJS> => {
    return await initializeSkyNodeCrypto();
};
PreviousPrerequisitesNextAdding Balance to a Subnet

Last updated 20 days ago