Connect to Alchemy Data in CloverDX (formerly CloverETL)
The CData JDBC Driver for Alchemy enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Alchemy as sources. In this article, you will use the JDBC Driver for Alchemy to set up a simple transfer into a flat file. The CData JDBC Driver for Alchemy enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Alchemy as sources. In this article, you will use the JDBC Driver for Alchemy to set up a simple transfer into a flat file.
Connect to Alchemy as a JDBC Data Source
- Create the connection to Alchemy data. In a new CloverDX graph, right-click the Connections node in the Outline pane and click Connections -> Create Connection. The Database Connection wizard is displayed.
- Click the plus icon to load a driver from a JAR. Browse to the lib subfolder of the installation directory and select the cdata.jdbc.api.jar file.
- Enter the JDBC URL.
Start by setting the Profile connection property to the location of the Alchemy Profile on disk (e.g. C:\profiles\Alchemy.apip). Next, set the ProfileSettings connection property to the connection string for Alchemy (see below).
Alchemy API Profile Settings
Alchemy uses API key authentication. The API key is supplied in the request URL path. To obtain an API key:
- Sign in to your Alchemy account at https://dashboard.alchemy.com.
- Open an existing app or create a new one.
- Copy the app's API key from the API Key dialog.
After obtaining your API key, set the following connection properties:
- AuthScheme: Set this to APIKey.
- Network: Optional. The blockchain network slug for NFT API requests (for example, eth-mainnet, base-mainnet, polygon-mainnet). Defaults to eth-mainnet.
Set the following in the ProfileSettings connection property:
- APIKey: Set this to your Alchemy app API key.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Alchemy JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.api.jarFill in the connection properties and copy the connection string to the clipboard.
A typical JDBC URL is below:
jdbc:api:Profile=C:\profiles\Alchemy.apip;AuthScheme=APIKey;Network=eth-mainnet;ProfileSettings='APIKey=your_api_key';
Query Alchemy Data with the DBInputTable Component
- Drag a DBInputTable from the Readers selection of the Palette onto the job flow and double-click it to open the configuration editor.
- In the DB connection property, select the Alchemy JDBC data source from the drop-down menu.
- Enter the SQL query. For example:
SELECT Address, Name FROM ContractsForOwner WHERE Owner = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
Write the Output of the Query to a UniversalDataWriter
- Drag a UniversalDataWriter from the Writers selection onto the jobflow.
- Double-click the UniversalDataWriter to open the configuration editor and add a file URL.
- Right-click the DBInputTable and then click Extract Metadata.
- Connect the output port of the DBInputTable to the UniversalDataWriter.
- In the resulting Select Metadata menu for the UniversalDataWriter, choose the ContractsForOwner table. (You can also open this menu by right-clicking the input port for the UniversalDataWriter.)
- Click Run to write to the file.