Skip to content

patpatwithhat/dydx_nodejs_connector

Repository files navigation

DYDX NodeJS Connector

Hey there! This project is wip. It provides one DYDXConnector class, handling the communication with the dydx API and providing some convenience in usage
Not all functionality is included yet!

Later the goal will be, to implement different trading strategies for everyone to use.
This will take place in the following project: https://github.com/patpatwithhat/algo_trading_strategies

How to start

Setup environment

npm init -y
npm i dydx_nodejs_connector
npm install ts-node //needed for running

Provide all required keys / paths in a .env file. (check .env-template for format)
Eighter add your private eth key or enter your starkkeys for dydx.

Build this module

npm run build

Retrieving Starkkeys / API Keys

To retrieve starkkey/api key of dydx, do the following:

Get your Ethereum node

In addition, you need an Ethereum node like https://moralis.io/, which needs to be entered into the .env
The last step is to copy the ETH Address of your metamask wallet into the .env

Run example

First, try to get an account object to check if you provided all the necessary data.

import { DYDXConnector, NetworkID } from 'dydx_nodejs_connector'

async function main() {
    const connector = await DYDXConnector.build(NetworkID.RopstenTestNet)
    console.log(await connector.getAccount())    
}
main()

run with:

node --loader ts-node/esm usage-example.ts

Place a first order on ropsten test net:

import { DYDXConnector, NetworkID } from 'dydx_nodejs_connector'
import { OrderSide, OrderType, TimeInForce, Market } from "@dydxprotocol/v3-client"

async function main() {
    const connector = await DYDXConnector.build(NetworkID.RopstenTestNet)
    connector.createOrder(
        OrderSide.BUY,
        OrderType.MARKET,
        TimeInForce.IOC,
        undefined,
        "0.2",
        "10000",
        undefined,
        undefined,
        Market.ETH_USD
    )
}
main()

Check your order here: https://trade.stage.dydx.exchange

Security

The potential security vulnerabilities in the dependencies are known but remain on dydx side.
Fixing this could lead to new problems in the dydx API.

Sources:

DYDX https://trade.stage.dydx.exchange/
DYDX Docu: https://docs.dydx.exchange/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published