1
acess 2021-04-11 02:18:17 +08:00
python 不是有 pip 可以安装 libsecp256k1 么
|
2
h4de5 2021-04-15 09:36:56 +08:00
精通比特币这本数里面就是用的 python 做示例。可以参考他的示例代码。github
|
3
acess 2021-04-16 22:51:49 +08:00
@h4de5
摘自 solidot: "著名的《 Mastering Bitcoin 》(《精通比特币》)一书中有段 Python 代码有误( key-to-address-ecc-example.py ),这段代码被广为流传。这个错误有极高的概率会根据一个正确的私钥生成一个错误的压缩公钥,从而产生一个错误的比特币收款地址,如果使用这个地址会导致比特币资金丢失。” |
4
yangbin9317 2022-05-13 15:36:50 +08:00
```
def public_key(private_key: int, compressed=True) -> bytes: private_key = private_key.to_bytes(32, byteorder='big') public_key = ecdsa.SigningKey.from_string( private_key, curve=ecdsa.SECP256k1).get_verifying_key() public_key = public_key.to_string() if compressed: mid = len(public_key) // 2 x = public_key[:mid] y = public_key[mid:] prefix = b'\x02' if y[-1] & 1 == 0 else b'\x03' return prefix + x else: return b'\x04' + public_key ``` 我这个行吗 |
5
yangbin9317 2022-05-13 15:37:19 +08:00
@yangbin9317 额 为什么刷到了去年的
|