DODO API 教程:限价订单 API

2023-12-09分类:平台 阅读(


去中心化交易所(DEXs)如DODO是Web3世界的基石,允许用户以最新的价格交换加密货币。然而,对于许多专业的加密货币交易者来说,基本的现货交易并不能完全满足需求。为了满足这些更复杂的订单,DODO在其平台上增加了对限价订单的支持,允许用户提交只在代币价格低于指定金额时才会执行的订单。

什么是DODO限价订单API?

DODO上的限价订单API是一个简单的界面,允许用户在DODO DEX平台上创建限价订单。限价订单是一种购买资产的订单类型,只有在资产的价格低于指定的限定价格(称为限价)时才会执行。该API赋予用户创建限价订单的能力,以及获取挂单限价订单列表和取消特定订单的能力。

该API与DODO的智能交易和交易对数据API配合使用效果最佳,这些API允许用户获取关于DODO代币价格和汇率的信息。

发送请求

限价订单API可用于创建限价订单,这是一项不会产生任何Gas费用的操作。您可以通过向以下端点发送POST请求来实现:

https://api.dodoex.io/limit_order/create

创建限价订单的请求需要定义以下参数:

  • User-Agent(字符串标头):一个自定义的名称或ID,格式为“DODO-[USER]”,用于在需要技术支持的情况下识别用户的请求。
  • apikey(字符串):API密钥。
  • order(对象):限价订单信息。
  • signature(字符串):订单签名。
  • network(字符串):交易应该执行的区块链网络。可以是以下之一:“ethereum”、“bsc”、“polygon”、“arbitrum”或“gor”。

有关DODO API用户ID和API密钥的更多信息,包括如何获取您自己的密钥,请参阅我们的文档。订单对象本身包含以下参数:

  • makerToken(字符串):要出售的代币的地址。
  • takeToken(字符串):要购买的代币的地址。
  • makerAmount(字符串):要出售的代币数量。
  • takeAmount(字符串):要购买的代币数量。
  • maker(字符串):用户的钱包地址。
  • taker(字符串):限价订单机器人的合约地址。
  • expiration(整数):订单的过期时间,以Unix时间表示。
  • salt(字符串):用于订单的随机字符串。

本质上,这些参数定义了以给定数量的 takerToken 代币的价格购买的最小 takerToken 代币数量。如果没有这样的交易可用,taker 机器人会在订单过期之前不断尝试。可用于taker参数的限价订单机器人合约地址列表可以在DODO文档中找到。

对于我们的教程,让我们使用curl发送一个请求,在以太坊的Rinkeby测试网上创建一个基本的限价订单。不要忘记将 apikey 替换为您的API密钥,将 your_id 替换为您的自定义用户ID,并将 maker 替换为您的钱包地址。

curl — location — request POST ‘https://api.dodoex.io/limit_order/create?apikey=${apikey}' \

— header ‘User-Agent: DODO-${your_id}’ \

— data-raw ‘{

“order”:{

“makerToken”:”0xab0733588776B8881F7712f6AbCa98F510e6B63D”,

“takerToken”:”0x0aDCBAE18580120667f7Ff6c6451A426B13c67B7",

“makerAmount”:”3000000000",

“takerAmount”:”110000000",

“maker”:”0x709f0d38142e7f8d95a21529b9ad576555bd6755",

“taker”:”0x0adcbae18580120667f7ff6c6451a426b13c67b7",

“expiration”:1653234564456,

“salt”:”1832645"

},

“signature”:”0xd13b9ce1b72b606918bde9276d3bc10114f1b2dc743c996f…”,

“network”:”rinkeby”

}’

理解响应

根据我们上面发送的请求,我们预期收到类似于下面要分析的响应。返回的数据将包含有关订单的信息,包括创建时间和当前状态。返回的响应如下,以JSON格式显示:

{

“code”: 0,

“message”: “success”,

响应以 code 开头,这是一个状态码,如果订单成功创建,它将返回0。它伴随着 message,这是一个英文状态描述。

“data”: {

“createdAt”: “2022–09–08T15:20:40.670Z”,

“id”: 26743,

“network”: “rinkeby”,

在订单数据中,一些响应值包括订单创建时间(createdAt)、唯一ID(id)以及创建订单的区块链网络(network)。

“order”: {

“makerToken”: “0x0aDCBAE18580120667f7Ff6c6451A426B13c67B7”,

“takerToken”: “0xab0733588776B8881F7712f6AbCa98F510e6B63D”,

“makerAmount”: “30000000”,

“takerAmount”: “29700000”,

“maker”: “0xEeE13739763A1b0f062846eF4a102886673c89Bd”,

“taker”: “0xa2c1eA946dA567248c70F792b64D5F2551f29204”,

“expiration”: “4816250441”,

“salt”: “1134929404266”,

},

orader包含了我们为请求创建的订单信息(请参见上文)。

“progress”: “FRESH”,

“signature”: “0x878dee6df39f5666173d7aa39e47a8a866ae1ed558cbd47cf37f7418d9e8c24d5cbc271d635a21846d1714f27a1c9cff69476ef31ddcd2bb5727679bf2abc82a1c”,

“updatedAt”: “2022–09–08T15:20:40.670Z”,

}

}

progress 表示当前订单的状态,可以是“FRESH”(订单挂起)、“BROADCAST”(订单已发送)、“COMPLETE”(订单成功完成)或“FAILED”(订单未能执行)。 signature是订单的唯一签名, updatedAt是订单最后更新的时间。

总结

DODO限价订单API为加密货币交易者提供了更高级的交易选项。通过支持限价订单的创建,用户可以为他们的交易设置特定的价格阈值,确保只有在满足所需的价格条件时才执行。该API允许用户创建、监视和取消限价订单,为他们在交易策略中提供更大的控制和灵活性。通过将限价订单API与DODO的智能交易和交易对数据API相结合,用户可以获得实时市场信息,从而能够更明智地进行交易决策。

Tags: DODO