Grindery SDK for drivers and CDS development

Overview

This SDK contains the tools for drivers and CDS development. These tools include Nexus common utilities library and connector for Grindery Nexus. In addition, the SDK provides a series of use cases and examples for reference purposes. Such examples include a Web3 driver built on NodeJS and Web2 drivers built on Python.
But before we move on; it is important that you understand the concept behind CDS. Today, most successful Web2 SaaS companies have their own marketplaces for integrations and users can configure the integrations themselves. Zapier further empowered anyone to integrate and connect 5000+ Web2 applications.
Now, guess what? The same model can work for Web3 dApps; Grindery Nexus is the solution. Nexus empowers users with do-it-yourself (DIY) integrations. It allows you to define workflows and create a unified, seamless on-, off-, and cross-chain integration. Meanwhile, Grindery Nexus renders intuitive user interfaces for end users to create the workflows using what we call CDS (connector declaration schema), an enhanced ABI in JSON format. In a nutshell, the CDS file defines how the Grindery Nexus workflow engine interacts with external systems.
Tool
Description
Link/ Repository
Web3 CDS Gallery
Code gallery for Nexus CDS files built by developers
Grindery CDS Editor
Create and edit Connector for Web3 systems
Grindery Nexus common utilities library
-
Grindery Nexus Connector
Sample connector for Grindery Nexus
Examples
Description
Repository
Nexus Web3 connector
Web3 driver built on NodeJS
Web2 Connectors
Slack connector
Slack driver for Grindery Nexus
gSheet connector
Google Sheet driver for Grindery Nexus
Discord connector
Discord driver for Grindery Nexus
Airtable connector
Airtable driver for Grindery Nexus
Webhook connector
Webhook driver for Grindery Nexus

Quickstarts

1. Connector Schema Definitions

Connectors abstract web3 and web2 protocols into an interface of composable triggers and actions. In this documentation, you will see the full list of Grindery Nexus connector schema definitions.

2. Grindery CDS Editor

With our CDS editor, you can create and edit connectors. To learn how to create a connector, check out this guide.
Image without caption

3. Sample Grindery Nexus Connector

Development

A connector can contain any number of actions and triggers. To test the connector, we can use npm run local:action and npm run local:trigger commands. They accept two parameters namely key and fields. As example is shown below:
javascript
npm run local:action helloWorldAction '{"message":"Test"}'
javascript
npm run local:trigger helloWorldTrigger '{"interval":1000,"recurring":true}'
After deployment, the connector will be run as a WebSocket server. To test it in production setting, run npm run server.

Webhook

Grindery Nexus supports HTTP inbound webhook for connectors, the URL is looks like: https://orchestrator.grindery.org/webhook/:connector_key/:trigger_key/:path. You can handle webhooks with webhooks parameter in ConnectorDefinition, see src/connector.ts.

CDS file

You can check out the CDS file for this sample connector. Note that this file is read by Grindery Nexus frontend and engine so that they can interact with the connector.