V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cqtop
V2EX  ›  PHP

用 PHP 进行 BTC 转账问题?

  •  
  •   cqtop · 2022-03-04 13:58:58 +08:00 · 2981 次点击
    这是一个创建于 971 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟请教大家一个用 php 进行比特币转账的问题?

    参考的这篇文章 https://learnku.com/articles/49660 用的 bitwasp/bitcoin 库,测试了 1 开头的地址没问题,但是用 3 开头地址给其他人转账时就无法成功 不知道要怎么改了 有知道的大哥,可以指点一下吗?只要能解决 php 能进行 3 开头地址转账,红包感谢

    12 条回复    2022-06-29 16:59:59 +08:00
    x86
        1
    x86  
       2022-03-04 14:20:57 +08:00
    1 是传统地址,3 是什么隔离啥的忘了,可能因为这个
    vvhhaaattt
        3
    vvhhaaattt  
       2022-03-04 14:51:03 +08:00 via Android
    1 是公钥地址,一般个人生成的用的最广的。
    3 是脚本地址,一般用于多签地址,你要从 3 开头地址转出去,得理解这个地址是怎么运作。
    上述这两个都是 base58 编码的。
    还有 bech32 的一对呢……
    cqtop
        4
    cqtop  
    OP
       2022-03-04 18:19:37 +08:00
    谢谢上面朋友的回复
    试了下 2 楼给的方法,广播时还是报错,我是新手,好多不太明白
    有没有已经实现过的朋友呀,加下 iwkk888
    感谢,感谢
    acess
        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 的哈希。
    acess
        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
    brader
        7
    brader  
       2022-03-05 11:23:00 +08:00
    我做过比特币、以太币、grin 、beam 等,你是要做离线签,进行广播吗?
    brader
        8
    brader  
       2022-03-05 14:06:32 +08:00
    做这个,建议你还是要知其然,这个比特币地址和私钥怎么回事,可以看一下我的博客,上面还配有一些 PHP 版的源码教程。

    https://brad.9iqu.cn/bitcoin-segwit/
    cqtop
        9
    cqtop  
    OP
       2022-03-22 16:46:16 +08:00
    @brader 是的,大哥,我要做离线签名,然后广播,,我只有 3 开头的转账地址,wif ,和接收方地址,,用上面的教程,以及自己改了下里面的各种方式,依然广播提交时失败
    brader
        10
    brader  
       2022-03-23 09:24:29 +08:00
    @cqtop 广播失败的话,是当时提交广播就不成功吗? API 返回什么提示信息? 或者是广播出去了,一直呆在交易池,迟迟得不到矿工确认? 各种情况的解决办法都不同,必须要明确问题先。
    cqtop
        11
    cqtop  
    OP
       2022-03-23 17:20:19 +08:00
    @brader 谢谢回复,,就是构造裸交易数据没搞对,已经解决了!
    winner202201
        12
    winner202201  
       2022-06-29 16:59:59 +08:00
    @cqtop 可以分享下你的代码吗,使用 3 开头的地址转账无法成功
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1463 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 167ms · UTC 17:28 · PVG 01:28 · LAX 10:28 · JFK 13:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.