Coinbase 正文格式
Coinbase body format
我的目标是使用 Coinbase API 发送 Post 请求。
在文档(coinbase)中,指定了请求的主体应该添加到消息签名的prehash字符串中。
我想知道我必须发送的这个正文的格式是什么。我认为我可以这样做的可能方式:
- 仅连接值
value1+value2+value3
key=value
与 &
分隔
- 其他方式?
正文应该只是分别添加到时间戳、方法和路径的字符串化 JSON。这是文档中的示例:
var crypto = require('crypto');
var secret = 'PYPd1Hv4J6/7x...';
var timestamp = Date.now() / 1000;
var requestPath = '/orders';
var body = JSON.stringify({
price: '1.0',
size: '1.0',
side: 'buy',
product_id: 'BTC-USD'
});
var method = 'POST';
// create the prehash string by concatenating required parts
var what = timestamp + method + requestPath + body;
// decode the base64 secret
var key = Buffer(secret, 'base64');
// create a sha256 hmac with the secret
var hmac = crypto.createHmac('sha256', key);
// sign the require message with the hmac
// and finally base64 encode the result
return hmac.update(what).digest('base64');
我的目标是使用 Coinbase API 发送 Post 请求。
在文档(coinbase)中,指定了请求的主体应该添加到消息签名的prehash字符串中。
我想知道我必须发送的这个正文的格式是什么。我认为我可以这样做的可能方式:
- 仅连接值
value1+value2+value3
key=value
与&
分隔
- 其他方式?
正文应该只是分别添加到时间戳、方法和路径的字符串化 JSON。这是文档中的示例:
var crypto = require('crypto');
var secret = 'PYPd1Hv4J6/7x...';
var timestamp = Date.now() / 1000;
var requestPath = '/orders';
var body = JSON.stringify({
price: '1.0',
size: '1.0',
side: 'buy',
product_id: 'BTC-USD'
});
var method = 'POST';
// create the prehash string by concatenating required parts
var what = timestamp + method + requestPath + body;
// decode the base64 secret
var key = Buffer(secret, 'base64');
// create a sha256 hmac with the secret
var hmac = crypto.createHmac('sha256', key);
// sign the require message with the hmac
// and finally base64 encode the result
return hmac.update(what).digest('base64');