我正在尝试使用sendmoney API使用下面的代码发送一些比特币.但我收到下面列出的错误 -
错误:
{"errors":[{"id":"authentication_error","message":"invalid signature"}]}
我正在使用的代码:
string message = time_epoch.data.epoch.ToString() + "POST" + "/v2/accounts/xxxx/transactions"+
"{type:send,to:xxxx,amount:0.0002,currency:BTC}";
string signature = HashEncode(HashHMAC(StringEncode("xxxxxx"), StringEncode(message)));
var _client = new RestClient("https://api.coinbase.com/v2/");
var request = new RestRequest("accounts/xxxxxx/transactions", Method.POST);
request.AddHeader("CB-VERSION", "2016-10-03");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Charset", "utf-8");
request.AddHeader("CB-ACCESS-KEY", "xxxxx");
request.AddHeader("CB-ACCESS-SIGN", signature);
request.AddHeader("CB-ACCESS-TIMESTAMP", time_epoch.data.epoch.ToString());
request.AddParameter("type", "send");
request.AddParameter("to", "xxxx");
request.AddParameter("amount", "0.0002");
request.AddParameter("currency", "BTC");
request.AddParameter("idem", "9316dd16-6c09");
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json;charset=utf-8"; };
var response = _client.Execute(request);
return _client.Execute(request).Content;
Run Code Online (Sandbox Code Playgroud) 我正在尝试在GDAX上发布帖子请求.但我总是收到"无效签名"的消息.用于创建请求+签名的GDAX API文档:https://docs.gdax.com/#creating-a-request
Preshash字符串返回以下内容:
1500627733POST /定单{ "价格": "1000.0", "大小": "0.02", "类型": "限制", "侧": "卖", "PRODUCT_ID": "BTC-EUR"}
我的签名方法:
public String generateSignature(String requestPath, String method, String body, String timestamp) {
try {
String prehash = timestamp + method.toUpperCase() + requestPath + body;
byte[] secretDecoded = Base64.getDecoder().decode(secretKey);
SecretKeySpec keyspec = new SecretKeySpec(secretDecoded, "HmacSHA256");
Mac sha256 = (Mac) Mac.getInstance("HmacSHA256").clone();
sha256.init(keyspec);
return Base64.getEncoder().encodeToString(sha256.doFinal(prehash.getBytes()));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
我的要求方法:
private boolean placeLimitOrder(String currencyPair, String side, String price, String size) …Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,允许人们查看他们的coinbase余额.现在,似乎他们必须单独授权我查看每个钱包的余额.有什么方法可以让用户授予我阅读所有coinbase钱包余额的权限吗?
我有很多编码经验,但Python对我来说是新的领域.
我正在使用CoinbaseExchangeAuth类来访问GDAX API的专用端点.我写了一些简单的代码......
api_url = 'https://public.sandbox.gdax.com/'
auth = CoinbaseExchangeAuth(API_KEY, API_SECRET, API_PASS)
Run Code Online (Sandbox Code Playgroud)
(注意我已经准确地定义了api密钥,秘密并在这些代码行之前正确传递 - 对于沙箱)
然后我写道:
r = requests.get(api_url + 'accounts', auth=auth)
Run Code Online (Sandbox Code Playgroud)
运行代码并得到此错误:
文件"a:\ PythonCryptoBot\Bot1.0\CoinbaseExhangeAuth.py",第16行,在call signature = hmac.new(hmackey,message,hashlib.sha256)文件"C:\ Users\Dylan\AppData\Local\Programs\Python\Python35-32\lib\hmac.py",第144行,在新的返回HMAC(key,msg,digestmod)文件"C:\ Users\Dylan\AppData\Local\Programs\Python\Python35-32\lib\hmac.py",第84行,在__init_ self.update(msg)文件"C:\ Users\Dylan\AppData\Local\Programs\Python\Python35-32\lib\hmac.py",第93行,更新自我.inner.update(msg)TypeError:必须在散列之前对Unicode对象进行编码
另请注意,我尝试过API_KEY.encode('utf-8')和其他人一样. - 似乎没有做任何事情.
当我的应用程序wallet:accounts:read permission使用 Coinbase API 的 v2请求时,用户会看到所有帐户的下拉列表,他只能在其中选择三个可能的钱包之一。如果我的应用程序想要使用所有三个钱包(例如 BTC、ETC、LTC),什么是优雅的解决方案?使用 OAuth 连接三次,每次请求用户授予对特定钱包的访问权限并不是一个干净的解决方法。应用程序如何通过单个请求请求所有帐户的权限?
我想合并Coinbase 商务,是否可以通过设置定期付款按钮并链接到我的 Coinbase 商务地址来实现?
我的要求是使用 Coinbase commece webhooks 来收到付款通知。
应如何生成签名参数以打开与 Coinbase Websocket 的经过身份验证的连接?我在任何地方都找不到任何简洁的描述。
对于GET/PUTAPI调用,我使用下面的代码成功生成了它,但是对于Websocket,既没有“方法”也没有“path_url”,那么什么应该包含“消息”?
timestamp = str(time.time())
message = timestamp + request.method + request.path_url + (request.body or '')
hmac_key = base64.b64decode(self.secret_key)
signature = hmac.new(hmac_key, message.encode('utf-8'), hashlib.sha256)
signature_b64 = base64.b64encode(signature.digest())
Run Code Online (Sandbox Code Playgroud) 我想使用这个api:https://github.com/coinbase/coinbase-ruby,第一步是初始化API,如下所示:
coinbase = Coinbase::Client.new(ENV['COINBASE_API_KEY'], ENV['COINBASE_API_SECRET'])
Run Code Online (Sandbox Code Playgroud)
我想知道放置此代码的最佳位置是什么,如果我把它放在那里,我将如何访问它?我希望这个变量(coinbase)可以在应用程序中随处访问.
谢谢!
我想知道有没有办法检查比特币地址是否有效?
我在铁轨上使用红宝石.也许我可以用coinbase api向账户发送一个satoshi,看看它是否解决了?
我正在使用Coinbase,但他们没有API调用来获取每个地址的比特币数量,而只是每个帐户,这是一个地址集合.
有没有人为此调用API?我宁愿不按照这个其他SO线程中的建议设置我自己的比特币服务器/守护进程来重新发明轮子: