安装#

安装 ccxt 库的最简单方法是使用内置的包管理器:

此库作为一个全功能模块实现,并且具有最小化的依赖和要求:

您还可以从 ccxt GitHub 仓库 克隆它到您的项目目录,并将文件手动复制到您的工作目录中,使用适合您环境的语言扩展名。

git clone https://github.com/ccxt/ccxt.git

另一种安装此库的方法是从源代码构建自定义捆绑包。在 exchanges.cfg 中选择您需要的交易所。

JavaScript(NPM)#

ccxt 的 JavaScript 版本可以在 Node 和 Web 浏览器中使用。需要 ES6 和 async/await 语法支持(Node 15+)。在使用 Webpack 和 Babel 编译时,请确保在您的 babel-loader 配置中不被排除ccxt加密交易库在npm上的链接

npm install ccxt
var ccxt = require('ccxt')

console.log(ccxt.exchanges) // 打印所有可用的交易所

JavaScript(用于<script>标签):#

包含依赖项的一体化浏览器捆绑包,从您选择的CDN提供:

  • jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.9/dist/ccxt.browser.js

  • unpkg: https://unpkg.com/ccxt@4.0.9/dist/ccxt.browser.js

  • ccxt: https://cdn.ccxt.com/latest/ccxt.min.js

您可以通过从URL中删除版本号(@a.b.c)或我们的CDN上的/latest/来获取捆绑包的实时更新版本 - 然而,我们不建议这样做,因为它可能会最终破坏您的应用程序。另外,请记住,我们对这些CDN服务器的正确运行不负责。

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.9/dist/ccxt.browser.js"></script>

我们还从3.0.35版本开始提供webpack压缩和树摇版本的库 - 访问 https://cdn.ccxt.com浏览我们分发的预打包版本。| 名称 | 大小 | |—————-|——–| | binance.min.js | ~300kb | | bitget.min.js | ~200kb | | bitmart.min.js | ~200kb | | bybit.min.js | ~300kb | | ccxt.min.js | ~3mb | | huobi.min.js | ~300kb | | kucoin.min.js | ~200kb | | mexc.min.js | ~200kb | | okx.min.js | ~250kb |

注意:文件大小可能会有变化。

<script type="text/javascript" src="https://cdn.ccxt.com/3.0.35/ccxt.min.js"></script>

在浏览器中使用 示例,使用我们 CD 镜像中的自定义的 Bybit Bundle。

<html>
<head>
<script type="text/javascript" src="https://cdn.ccxt.com/latest/bybit.min.js"></script>
<script>
async function update () {
    const bid = document.querySelector ('#bid')
    const ask = document.querySelector ('#ask')
    const updates = document.querySelector ('#updates')

    const bybit = new ccxt.pro.bybit ()
    window.bybit = bybit
    const ticker = await bybit.fetchTicker ('BTC/USDT:USDT')
    bid.innerText = ticker.bid.toFixed (2)
    ask.innerText = ticker.ask.toFixed (2)
    while (true) {
        const trades = await bybit.watchTrades ('BTC/USDT:USDT')
        // const trades = await bybit.fetchTrades ('BTC/USDT:USDT', 1)
        const trade = trades[0]

        const notify = document.createElement ('li')
        notify.innerHTML = `<strong>${trade.datetime.slice (11, 19)}</strong> &nbsp; ${trade.amount.toFixed (3)} btc was bought at ${trade.price.toFixed (1)}`
        notify.style = 'padding-top: 8px;'
        updates.appendChild (notify)
    }
}
</script>
</head>

<body onload="update()">
<h3>当前 Bybit 的比特币买单为 <span id="bid"></span><br><br>并且最佳卖单为 <span id="ask"></span></h3>
<ul id="updates" style="color: red;"></ul>
</body>
</html>

浏览器中的默认入口点是 window.ccxt,它创建了一个全局 ccxt 对象:

console.log (ccxt.exchanges) // 打印所有可用的交易所
```### 自定义 JavaScript 构建

加载所有脚本和资源需要时间。在浏览器中使用的问题是,整个 CCXT 库的大小达到了几兆字节,这对于 Web 应用来说是相当大的。有时对于 Node 应用来说也是很关键的。为了减少加载时间,您可能希望为您的应用程序创建一个仅包含您所需的交易所的自定义 CCXT 构建。CCXT 使用 webpack 来删除无用的代码路径,以减小包的大小。

请按照以下步骤进行操作:

```bash
# 1. 克隆仓库

git clone --depth 1 https://github.com/ccxt/ccxt.git

# 2. 进入克隆的仓库

cd ccxt

# 3. 安装依赖项

npm install

# 4. 根据您感兴趣的交易所编辑 exchanges.cfg 文件``````shell
node app.js

Python#

PyPI 上的 ccxt algotrading 库

pip install ccxt
import ccxt
print(ccxt.exchanges) # 打印所有可用的交易所类列表

该库支持 Python 3.5.3+ 的 asyncio 和 async/await 的并发异步模式

import ccxt.async_support as ccxt # 引用 ccxt 的异步版本

PHP#

可以通过 Packagist/Composer(PHP 7.0+)安装 ccxt 的可自动加载版本。

也可以从源代码中安装:ccxt.php它需要以下常见的PHP模块:

  • cURL

  • mbstring(强烈建议使用UTF-8)

  • PCRE

  • iconv

  • gmp(PHP 7.2+已内置此扩展)

include "ccxt.php";
var_dump (\ccxt\Exchange::$exchanges); // 打印出所有可用的交易所类的列表

该库支持使用RecoilPHPReactPHP中的工具进行并发异步模式。请阅读手册获取更多详细信息。

Docker#

您可以将CCXT与所有受支持的语言和依赖项一起安装在容器中。如果您想为CCXT做出贡献(例如运行构建脚本和测试,请参阅Contributing文档了解详细信息),这可能很有用。

如果您不打算开发CCXT,则不需要Docker镜像。如果只想使用CCXT,请将其作为常规软件包安装到您的项目中。

使用docker-compose(在克隆的CCXT存储库中):

docker-compose run --rm ccxt

或者:```shell docker build . –tag ccxt docker run -it ccxt


## Proxy
If you are unable to obtain data from CCXT due to some location restrictions, you can make read [proxy](https://github.com/ccxt/ccxt/wiki/Manual#proxy) section.