标签: bitcoin

比特币钱包交易回调

比特币客户端(在服务器模式下运行)是否可以在收到交易并确认交易后发送 HTTP 请求?即发送到 PHP 脚本进行回调/确认。

php transactions http bitcoin

5
推荐指数
1
解决办法
1636
查看次数

刷新按钮/自动更新 GOOGLE 电子表格

我希望你可以帮助我。我已经尝试让它工作很长一段时间了。

我从网站获取 API,通过 importjson() 将其导入谷歌电子表格

ImportJSON(" http://api.796.com/v3/futures/ticker.html?type=weekly ")

https://gist.github.com/chrislkeller/5719258

我将 json 数据导入到 google 电子表格中没有问题,现在最困难的部分是进行数据更新,我真的很希望它能够自动更新,但即使是“立即更新”按钮也会很棒。

谢谢,这让我发疯。细菌病毒

api json google-apps-script bitcoin

5
推荐指数
1
解决办法
2万
查看次数

Bouncy Castle ECDSA 从私钥创建公钥

我正在尝试用 C# 签署比特币交易。我有 2 位代码正在尝试完成。我可以使用 Bouncy castle 创建一组私钥和公钥。我可以将其转换为钱包导入格式。

我还可以从 ECDSA 公钥生成比特币地址。

但是,我想签署一笔交易,而我拥有的只是我的私钥。我不想导入钱包并签名。那么,在仅给出私钥的情况下,如何生成公钥呢?

我发现了一个 javascript 方法可以做到这一点:

ecparams.getG().multiply(this.priv).getEncoded();
Run Code Online (Sandbox Code Playgroud)

我在 Bouncy Castle 中看到的唯一方法是生成随机对。

private static AsymmetricCipherKeyPair GenerateKeys(int keySize)
{
  ECKeyPairGenerator gen = new ECKeyPairGenerator();
  SecureRandom secureRandom = new SecureRandom();
  KeyGenerationParameters keyGenParam = new KeyGenerationParameters(secureRandom, keySize);
  gen.Init(keyGenParam);
  return gen.GenerateKeyPair();
}
Run Code Online (Sandbox Code Playgroud)

c# bouncycastle bitcoin ecdsa

5
推荐指数
1
解决办法
9619
查看次数

是否可以从原始交易中找到的“scriptSig”解码公钥?

7.  "in":[
8.    {"prev_out":
9.      {"hash":"2007ae...",
10.      "n":0},
11.    "scriptSig":"304502... 042b2d..."}],
Run Code Online (Sandbox Code Playgroud)

第 11 行包含汇款人的签名,

304502...

后面跟一个空格,然后是对应的公钥

04b2d...同样,这些都是十六进制的。

我可以将十六进制公钥解码为原始比特币地址还是不可能?谢谢 :)

transactions decode bitcoin

5
推荐指数
1
解决办法
2955
查看次数

如何通过Coinbase API获取交易费?

通过coinbase API发送交易之前如何获取交易费用?

或者如何通过coinbase API设置交易的交易费用?

cryptoapi bitcoin coinbase-api

5
推荐指数
1
解决办法
2071
查看次数

如何在 Python 密码学中为 ECDSA (secp256k1) 生成较短的私钥

我正在尝试按照本指南学习如何创建比特币地址。如果向下滚动,第一步(步骤 0)是拥有一个 256 位(64 十六进制)长的 ECDSA 密钥。我研究了 Python 密码学,并使用下面的代码来测试生成密钥,但保存的密钥始终是一个长(180 个字符)的 Base 64 字符串。

我尝试阅读文档并查看我在 Github 上调用的函数,但我看不到在哪里可以指定密钥应该有多长。在该文件的第 216 行,它表示 secp256k1 的密钥大小默认为 256 位。这是否意味着我导出错误?

0x1或者,我考虑过在 secp256k1,(到)的范围内生成一个长度为 64 个字符的随机十六进制字符串0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140,但我不知道在哪里可以从字符串或十六进制值创建私钥实例

gentest.py

from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.serialization import load_pem_private_key


def gen_key():
    private_key = ec.generate_private_key(
        ec.SECP256K1(), default_backend()
    )
    return private_key


def save_key(pk, filename):
    pem = pk.private_bytes( …
Run Code Online (Sandbox Code Playgroud)

python cryptography bitcoin python-cryptography

5
推荐指数
1
解决办法
3798
查看次数

Blockcypher 错误 非规范签名:长度标记错误

我尝试使用 blockcypher 签署比特币测试网交易,但是当我发送交易时出现错误:

\n\n
Error building input: Error generating scriptsig when building transaction: Invalid signature: Non-canonical signature: wrong length marker\n
Run Code Online (Sandbox Code Playgroud)\n\n

下面是我用来创建和签署交易的完整代码

\n\n
var bitcoin = require("bitcoinjs-lib");\nvar buffer = require(\'buffer\');\nvar keys = new bitcoin.ECPair.fromWIF(\'cMvPQZiG5mLARSjxbBwMxKwzhTHaxgpTsXB6ymx7SGAeYUqF8HAT\', bitcoin.networks.testnet);\n\nvar newtx = {\n    inputs: [{ addresses: [\'ms9ySK54aEC2ykDviet9jo4GZE6GxEZMzf\'] }],\n    outputs: [{ addresses: [\'msWccFYm5PPCn6TNPbNEnprA4hydPGadBN\'], value: 1000 }]\n};\n\n// calling the new endpoint, same as above\n$.post(\'https://api.blockcypher.com/v1/btc/test3/txs/new\', JSON.stringify(newtx)).then(function (tmptx) {\n    console.log(tmptx);\n    // signing each of the hex-encoded string required to finalize the transaction\n    tmptx.pubkeys = [];\n    tmptx.signatures = tmptx.tosign.map(function (tosign, …
Run Code Online (Sandbox Code Playgroud)

javascript bitcoin blockchain bitcoin-testnet blockcypher

5
推荐指数
1
解决办法
551
查看次数

比特币 RPC 身份验证问题 - regtest

我目前正在开发一个比特币应用程序,其中涉及运行完整的比特币节点。

当我测试我的源代码时,我决定使用比特币注册测试模式。

这就是我启动比特币节点的方式:

./bitcoind -regtest -rpcuser=a -rpcpassword=b -server -bind=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

这就是我与 regtest 节点交互的方式:

./bitcoin-cli -regtest -rpcuser=a -rpcpassword=b getnewaddress
Run Code Online (Sandbox Code Playgroud)

输出:

2N152jpoD9u52cpswsN7ih8RZ3P4DszaUGg
Run Code Online (Sandbox Code Playgroud)

这个例子按预期工作......但是!

一旦我尝试不使用bitcoin-cli,而是使用curl或python与比特币节点交互,我就会陷入困境:

curl --user a --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://192.168.178.200:18444/
Run Code Online (Sandbox Code Playgroud)

我被要求输入密码 => 我输入b

然后它说:

curl: (52) Empty reply from server
Run Code Online (Sandbox Code Playgroud)

同样适用于:

curl --user a:b --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://192.168.178.200:18444/
Run Code Online (Sandbox Code Playgroud)

和:

curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: …
Run Code Online (Sandbox Code Playgroud)

authentication rpc json bitcoin bitcoind

5
推荐指数
1
解决办法
1612
查看次数

通过Pandas DataReader获取比特币数据信息

我想问 Pandas DataReader 是否可以用于从 Blockchain.com 中提取比特币信息?

我知道我们可以将其与 Alpha Vantage API 密钥一起使用,通过以下方式提取股票:

import pandas as pd
import pandas_datareader as dr
reader = dr.DataReader('AAPL', 'av-daily', start = '2020-08-01', end = '2020-08-05', api_key = '')
print(reader)
Run Code Online (Sandbox Code Playgroud)

但是可以使用相同风格的函数/代码来提取比特币数据吗?我知道一种方法,但不太喜欢它:

cc = CryptoCurrencies(key='', output_format='pandas')
btc, meta_data = cc.get_digital_currency_daily(symbol='BTC', market='CNY')
print(btc)
Run Code Online (Sandbox Code Playgroud)

我对编码和 BTC 还很陌生,所以如果可能的话,希望有一些简单的东西,谢谢!

python pandas bitcoin alpha-vantage

5
推荐指数
1
解决办法
6944
查看次数

使用 OpenCL 为 secp256k1 从私钥生成公钥

我想从私钥计算公钥。它必须使用 OpenCL 工作。似乎 hashcat 有一个不错的库,但我不确定如何使用它。

其他库也是可能的。secp256k1-cl 似乎很难使用https://github.com/hhanh00/secp256k1-cl/blob/master/secp256k1.cl

请参阅下面的示例,了解它如何基于inc_ecc_secp256k1.cl工作。

我应该使用parse_public已知基点G来获取secp256k1_t对象中的坐标吗?后来用point_mul我的随机秘密通过传递k和基点G通过传递basepoint_precalculated得到PUBKEY的r

// 8+1 to make room for the parity
#define KEY_LENGTH_WITH_PARITY 9
// (32*8 == 256)
#define PRIVATE_KEY_LENGTH 8

// the base point G in compressed form
#define SECP256K1_G0 0x00000002
#define SECP256K1_G1 0x79be667e
#define SECP256K1_G2 0xf9dcbbac
#define SECP256K1_G3 0x55a06295
#define SECP256K1_G4 0xce870b07
#define SECP256K1_G5 0x029bfcdb
#define SECP256K1_G6 0x2dce28d9
#define SECP256K1_G7 0x59f2815b …
Run Code Online (Sandbox Code Playgroud)

opencl elliptic-curve bitcoin secp256k1

5
推荐指数
1
解决办法
654
查看次数