交易身份验证
为了能够访问你的账户,通过市价单和限价单执行量化交易,查询余额、充值与提现等等,你需要 从每个你希望操作的交易所获取你的API key以进行身份验证。API key是交易所相关的,任何情况下 不同交易所的API key彼此都不能互换。
如果提供了正确的API key,交易所会自动进行身份验证。验证过程通常采用以下模式:
- 生成一个新的nonce。nonce是一个整数,通常是以秒或者毫秒计的unix时间戳。 nonce应当是单调递增的,因此没有两个请求会使用相同的nonce值。默认的nonce 是以秒计的unix时间戳。
- 将公开的api key和nonce追加到其他访问端结点参数之后,然后序列化以便进行签名
- 使用HMAC-SHA256/384/512 或 MD5 哈希序列化参数,然后用私钥签名
- 将16进制或base64编码的签名和nonce添加到HTTP头或请求内容中
不同的交易所上述过程可能有所区别。有些交易所可能要求其他编码格式的签名,有些则 使用不同的HTTP头参数名和格式,但是基本都是上述模式。
不要在多个线程、进程中同时运行的一个交易所的多个实例之间共享同一个API密钥对, 这可能会导致不可预料的行为。
ccxt已经为你处理了身份验证逻辑,因此你不需要手工进行任何操作,除非你在实现 一个新的交易所类,否则为了进行交易,你唯一需要做的就是提供正确的API密钥对。