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