Socket
Book a DemoInstallSign in
Socket

@chaingpt/smartcontractgenerator

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chaingpt/smartcontractgenerator

SDK for Smart Contract Generator

0.0.4
latest
npmnpm
Version published
Weekly downloads
0
-100%
Maintainers
4
Weekly downloads
 
Created
Source

ChainGPT Smart Contract Generator SDK

This library provides convenient access to the ChainGPT Smart Contract Generator REST API from TypeScript or JavaScript.

Installation

npm install --save @chaingpt/smartcontractgenerator
# or
yarn add smartcontractgenerator

Usage

Generate a smart contract as a stream:

import { SmartContractGenerator } from "@chaingpt/smartcontractgenerator";

const smartcontractgenerator = new SmartContractGenerator({
  apiKey: 'Your ChainGPT API Key',
});

async function main() {
  const stream = await smartcontractgenerator.createSmartContractStream({
    question: 'Write a smart contract that counts. It will have two functions. One for incrementing. Other for decrementing.',
    chatHistory: "off"
  });
  stream.on('data', (chunk: any) => console.log(chunk.toString()));
  stream.on('end', () => console.log("Stream ended"));
}

main();

Generate a smart contract as a blob:

import { SmartContractGenerator } from "@chaingpt/smartcontractgenerator";

const smartcontractgenerator = new SmartContractGenerator({
  apiKey: 'Your ChainGPT API Key',
});

async function main() {
  const response = await smartcontractgenerator.createSmartContractBlob({
    question: 'Write a smart contract that counts. It will have two functions. One for incrementing. Other for decrementing.',
    chatHistory: "off"
  })
  console.log(response.data.bot);
}

main();

Retrieve smart contract generation history:

import { SmartContractGenerator } from "@chaingpt/smartcontractgenerator";

const smartcontractgenerator = new SmartContractGenerator({
  apiKey: 'Your ChainGPT API Key',
});

async function main() {
  const response = await smartcontractgenerator.getChatHistory({
    limit: 10,
    offset: 0,
    sortBy: "createdAt",
    sortOrder: "DESC"
  })
  console.log(response.data.rows);
}

main();

Handling errors

When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), and error of the class SmartContractGeneratorError will be thrown:

import { Errors } from '@chaingpt/smartcontractgenerator';

async function main() {
  try {
    const stream = await smartcontractgenerator.createSmartContractStream({
      question: 'Write a smart contract that counts. It will have two functions. One for incrementing. Other for decrementing.',
      chatHistory: "on"
    });
    stream.on('data', (chunk: any) => console.log(chunk.toString()));
    stream.on('end', () => console.log("Stream ended"));
  } catch(error) {
    if(error instanceof Errors.SmartContractGeneratorError) {
      console.log(error.message)
    }
  }
}

main();

Manage Chat History :

  • If you want to save the user-specific history, you must pass the sdkUniqueId parameter along with the chat history. This applies to both streaming and blob cases.
import { SmartContractGenerator } from "@chaingpt/smartcontractgenerator";

const smartcontractgenerator = new SmartContractGenerator({
  apiKey: 'Your ChainGPT API Key',
});
const  uniqueUUid="907208eb-0929-42c3-a372-c21934fbf44f"   // your unique uuid of your specific user
async function main() {
  const response = await smartcontractgenerator.createSmartContractBlob({
    question: 'Write a smart contract that counts. It will have two functions. One for incrementing. Other for decrementing.',
    chatHistory: "on",
    sdkUniqueId:uniqueUUid
  })
  console.log(response.data.bot);
}

main();

Keywords

ai

FAQs

Package last updated on 15 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.