@chaingpt/smartcontractgenerator
v0.0.2
Published
SDK for Smart Contract Generator
Downloads
7
Readme
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();