小弟请教大家一个用 php 进行比特币转账的问题?
参考的这篇文章 https://learnku.com/articles/49660 用的 bitwasp/bitcoin 库,测试了 1 开头的地址没问题,但是用 3 开头地址给其他人转账时就无法成功 不知道要怎么改了 有知道的大哥,可以指点一下吗?只要能解决 php 能进行 3 开头地址转账,红包感谢
1
x86 2022-03-04 14:20:57 +08:00
1 是传统地址,3 是什么隔离啥的忘了,可能因为这个
|
2
akaxiaok339 2022-03-04 14:44:20 +08:00
|
3
vvhhaaattt 2022-03-04 14:51:03 +08:00 via Android
1 是公钥地址,一般个人生成的用的最广的。
3 是脚本地址,一般用于多签地址,你要从 3 开头地址转出去,得理解这个地址是怎么运作。 上述这两个都是 base58 编码的。 还有 bech32 的一对呢…… |
4
cqtop OP 谢谢上面朋友的回复
试了下 2 楼给的方法,广播时还是报错,我是新手,好多不太明白 有没有已经实现过的朋友呀,加下 iwkk888 感谢,感谢 |
5
acess 2022-03-05 10:07:37 +08:00 via Android
@x86 3 开头是 P2SH ,以前大多是多重签名,然后隔离见证用的更多。
@akaxiaok339 一般用的最多的是 P2SH-P2WPKH 吧。P2SH-P2WSH 感觉比较鸡肋,不如直接用 P2WSH ( bc1 开头)。 P2SH 是 160bit 的哈希,在多重签名涉及多方参与的时候被认为抗碰撞强度可能不够高(生日攻击下只有 80bit 强度),所以 P2WSH 就改用 256bit 的哈希。 |
6
acess 2022-03-05 10:16:35 +08:00 via Android
话说现在 taproot 都激活了来着( bc1p 开头)。
隔离见证之前还发现有个手续费超付漏洞,也是 taproot 里彻底修正了(不用 taproot 也能修正,但对于冷钱包来说,需要在冷热端之间需要传更多交易数据。而且其实隔离见证激活之前就有开发者公开讨论过类似情况了,但当时没意识到严重性——虽然这个漏洞威胁其实也不大): https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd |
7
brader 2022-03-05 11:23:00 +08:00
我做过比特币、以太币、grin 、beam 等,你是要做离线签,进行广播吗?
|
8
brader 2022-03-05 14:06:32 +08:00
|
9
cqtop OP @brader 是的,大哥,我要做离线签名,然后广播,,我只有 3 开头的转账地址,wif ,和接收方地址,,用上面的教程,以及自己改了下里面的各种方式,依然广播提交时失败
|
10
brader 2022-03-23 09:24:29 +08:00
@cqtop 广播失败的话,是当时提交广播就不成功吗? API 返回什么提示信息? 或者是广播出去了,一直呆在交易池,迟迟得不到矿工确认? 各种情况的解决办法都不同,必须要明确问题先。
|
12
winner202201 2022-06-29 16:59:59 +08:00
@cqtop 可以分享下你的代码吗,使用 3 开头的地址转账无法成功
|