@chaingpt/smartcontractgenerator
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

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();

Package Sidebar

Install

npm i @chaingpt/smartcontractgenerator

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

27 kB

Total Files

39

Last publish

Collaborators

  • shahroze
  • maxcgpt
  • cgptadmin