比特币客户端(在服务器模式下运行)是否可以在收到交易并确认交易后发送 HTTP 请求?即发送到 PHP 脚本进行回调/确认。
我希望你可以帮助我。我已经尝试让它工作很长一段时间了。
我从网站获取 API,通过 importjson() 将其导入谷歌电子表格
ImportJSON(" http://api.796.com/v3/futures/ticker.html?type=weekly ")
https://gist.github.com/chrislkeller/5719258
我将 json 数据导入到 google 电子表格中没有问题,现在最困难的部分是进行数据更新,我真的很希望它能够自动更新,但即使是“立即更新”按钮也会很棒。
谢谢,这让我发疯。细菌病毒
我正在尝试用 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) 7. "in":[
8. {"prev_out":
9. {"hash":"2007ae...",
10. "n":0},
11. "scriptSig":"304502... 042b2d..."}],
Run Code Online (Sandbox Code Playgroud)
第 11 行包含汇款人的签名,
304502...
后面跟一个空格,然后是对应的公钥
04b2d...同样,这些都是十六进制的。
我可以将十六进制公钥解码为原始比特币地址还是不可能?谢谢 :)
根据其他问题的列表,我需要构建一个原始事务:
listunspent - 您将获得所有未花费的交易清单createrawtransaction创建输入/输出,从正在播放的交易列表中获取txid和vout,以及构成"货币供应"的交易列表.signrawtransaction对创建的事务进行签名sendrawtransaction送签交易但是有一个大问题 - listunspent显示实际已经花费的未支出金额,因此,我将来会有足够的资金错误或负余额......
例如:
创建地址15d8uY8uubNFnn3DXaoGN123ZCRkm3HJK9.
发送给它0.01 BTC.
后来从这个地址发送0.00400000,费用为0.00010714:
[
{
"account": "login_67",
"address": "15d8uY8uubNFnn3DXaoGN123ZCRkm3HJK9",
------> "category": "receive",
"amount": 0.01000000,
"label": "login_67",
"vout": 0,
"confirmations": 628,
"blockhash": "0000000000000000006bf20ac85a50d3e014a636b51231c78c6b27fe0a8e9223",
"blockindex": 2,
"blocktime": 1463753010,
"txid": "f37679b68c8ee3cd362b5bb15b2d8007af4eab173eee2d6269a132b9491a55ad",
"walletconflicts": [
],
"time": 1463752690,
"timereceived": 1463752690,
"bip125-replaceable": "no"
},
{
"account": "login_67",
"address": "1BeqRNunznfwuFHnufXLFRhaCDm1mrvMS6",
------> "category": "send",
"amount": -0.00400000,
"vout": 1,
"fee": -0.00010714,
"confirmations": 609,
"blockhash": "000000000000000000699cd44c4aed1eeb9c66181f6260bfe41473e66e1ece06",
"blockindex": 1614,
"blocktime": 1463767099, …Run Code Online (Sandbox Code Playgroud) 通过coinbase API发送交易之前如何获取交易费用?
或者如何通过coinbase API设置交易的交易费用?
我正在尝试在以下部分中实现该功能:Per-commitment Secret Requirements。
generate_from_seed(seed, I):
P = seed
for B in 47 down to 0:
if B set in I:
flip(B) in P
P = SHA256(P)
return P
Run Code Online (Sandbox Code Playgroud)
其中“flip(B)”替换值 P 中的第 B 个最低有效位。
根据这个定义,如果我们有seed=0x0101010101010101010101010101010101010101010101010101010101010101和I=1,我希望结果是
>>> from hashlib import sha256
>>> from binascii import hexlify
>>> hexlify(sha256(int(("00000001"*31)+"00000000",2).to_bytes(length=32,byteorder="big")).digest())
b'79356295f56e69998b9140cb77c63d3d80c93874259793a38d1dbd8678809ca9'
Run Code Online (Sandbox Code Playgroud)
因为flip函数执行一次,将第 0 个 LSB(最右边的位)设置为 0。
相反,结果是(测试向量):
>>> hexlify(sha256(int("00000000"+("00000001"*31),2).to_bytes(length=32,byteorder="big")).digest())
b'915c75942a26bb3a433a8ce2cb0427c29ec6c1775cfc78328b57f6ba7bfeaa9c'
Run Code Online (Sandbox Code Playgroud)
查看一个实现,很明显人们正在使用:
output[lp / 8] ^= (1 << (lp % 8));
Run Code Online (Sandbox Code Playgroud)
这在我看来是错误的,因为它正在改变字节的 LSB,如果 …
pseudocode endianness bitwise-operators bitcoin lightning-network
我正在尝试按照本指南学习如何创建比特币地址。如果向下滚动,第一步(步骤 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) 我使用 web3 和供应商主网。我按合同进行了 2 笔交易。首先是批准方法,另一笔交易是多次转账。我将第二个签名存储在数据库中。如果第一笔交易成功,我发送第二笔交易/。第二个事务几乎总是错误 nonce 太低`。我该如何解决这个问题
我需要从 Kucoin API 访问 kucoin Open-high-low-close 数据。
查看https://docs.kucoin.com/#get-trade-histories,我推断要访问 OHLC 数据(例如 BTC 与 USDT,带有每小时时间戳),地址应该是这样的:
https://api.kucoin.com/api/v1/market/candles?symbol=BTC-USDT&type=1hour
Run Code Online (Sandbox Code Playgroud)
这样做,我得到了数据的空列表{'code': '200000', 'data': []}
(根据 kucoin API doc,代码200000对应于一个好的请求)
我做错了什么?
ps:同样的方法在 kraken api 上效果很好(例如https://api.kraken.com/0/public/OHLC?pair=xbtusd)
非常感谢您的帮助!
bitcoin ×10
transactions ×3
api ×2
cryptoapi ×2
json ×2
bouncycastle ×1
c# ×1
coinbase-api ×1
cryptography ×1
decode ×1
ecdsa ×1
endianness ×1
ether ×1
ethereum ×1
http ×1
php ×1
pseudocode ×1
python ×1