@circle-fin/smart-contract-platform
v5.0.0
Published
This SDK provides convenient access to Circle's Smart Contract Platform APIs for applications written in NodeJS. For the API reference, see the [Circle Web3 API docs](https://developers.circle.com/w3s/reference).
Downloads
926
Keywords
Readme
Circle's Smart Contract Platform NodeJS SDK
This SDK provides convenient access to Circle's Smart Contract Platform APIs for applications written in NodeJS. For the API reference, see the Circle Web3 API docs.
Installation
Install the package with:
npm install @circle-fin/smart-contract-platform --save
or
yarn add @circle-fin/smart-contract-platform
Usage
Generate an API key, if you haven't already, in the Web3 Services Console. This API key will be used for authentication and authorization when making requests to Circle's APIs.
Register an entity secret following Circle's Developer-Controlled QuickStart. This step ensures that your account is correctly set up to interact with Circle's APIs.
In your code, import the factory
initiateSmartContractPlatformClient
from the SDK and initialize the client using your API key and entity secret:const { initiateSmartContractPlatformClient } = require('@circle-fin/smart-contract-platform') const client = initiateSmartContractPlatformClient({ apiKey: '<your-api-key>', entitySecret: '<your-entity-secret>', })
or
import { initiateSmartContractPlatformClient } from '@circle-fin/smart-contract-platform' const client = initiateSmartContractPlatformClient({ apiKey: '<your-api-key>', entitySecret: '<your-entity-secret>', })
Interact with the client:
const response = await client.deployContract({ name: 'First Contract', description: 'My first hello world contract', walletId: '004735f6-d9fc-44f8-933c-672cdf3d240d', abiJson: "[\n\t{\n\t\t'inputs': [],\n\t\t'stateMutability': 'nonpayable',\n\t\t'type': 'constructor'\n\t},\n\t...", bytecode: '0x60806040523480156200001157600080fd5b50604051806040...', constructorParameters: ['TICK', 10000], feeLevel: 'MEDIUM', }) console.log(response.data)
We recommend reading through the official documentation and QuickStart guides mentioned above to ensure a smooth setup and usage experience.
Configuration
The client accepts the following configuration parameters:
| Option | Required | Description |
| -------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| apiKey
| [x] | Api Key that is used to authenticate against Circle APIs. |
| entitySecret
| [x] | Your configured entity secret. You can follow the QuickStart to set it up. |
| baseUrl
| [ ] | Optional base URL to override the default: https://api.circle.com
. |
| storage
| [ ] | Optional custom storage solution for persisting data. We will fallback to InMemoryStorage if none was provided. |
| userAgent
| [ ] | Optional custom user agent request header. We will prepend it to default user agent header if provided. |
Need help or have questions?
Here are some helpful links, if you encounter any issues or have questions about this SDK:
- 📖 Getting started: Check out our official Developer-Controlled Wallets QuickStart.
- 🎮 Join our Discord Community: Engage, learn, and collaborate.
- 🛎 Visit our Help-Desk Page: Dive into curated FAQs and guides.
- 📧 Direct Email: We're always a message away.
- 📖 Read docs: Check out our developer documentation.
Happy coding!