冠希们,平台想支持 btc 支付, Go 语言,尚无实现思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
b00tyhunt3r
V2EX    程序员

冠希们,平台想支持 btc 支付, Go 语言,尚无实现思路

  •  
  •   b00tyhunt3r 2021-01-28 14:10:41 +08:00 6509 次点击
    这是一个创建于 1765 天前的主题,其中的信息可能已经有所发展或是发生改变。

    查了一圈没查到好用的库啊,基本有的都是独立 2 进制程序,不好集成在网站里。

    冠希们有什么推荐吗(俺们都是 btc 小白 所以希望文档尽量详实点)谢过!!!

    38 条回复    2021-01-31 18:57:15 +08:00
    kennnnnnnnnnn
        1
    kennnnnnnnnnn  
       2021-01-28 14:13:31 +08:00   1
    我是吴彦祖
    OrangeM21
        2
    OrangeM21  
       2021-01-28 14:14:37 +08:00   1
    第三方对接啊 bitpay 接 SDK 就行了
    fiypig
        3
    fiypig  
       2021-01-28 14:15:39 +08:00 via iPhone
    第四方?
    unco020511
        4
    unco020511  
       2021-01-28 14:18:31 +08:00
    花钱买别人的服务
    dream4ever
        5
    dream4ever  
       2021-01-28 14:19:40 +08:00
    刘德华表示多上 GitHub 找找现成轮子吧,也可以看看别的语言的轮子
    unnamedhao
        6
    unnamedhao  
       2021-01-28 14:21:52 +08:00
    songjiaxin2008
        7
    songjiaxin2008  
       2021-01-28 14:22:03 +08:00
    b00tyhunt3r
        8
    b00tyhunt3r  
    OP
       2021-01-28 14:22:42 +08:00
    @unco020511
    主要现在 leader 想要自己实现这个功能。
    感觉 bitcoin 不像是 zfb 这种的,调几个函数就可以支持了
    btc 没有一个“官方 API”,不知道那些第三方怎么实现的啊
    b00tyhunt3r
        9
    b00tyhunt3r  
    OP
       2021-01-28 14:22:51 +08:00
    @unco020511
    主要现在 leader 想要自己实现这个功能。
    感觉 bitcoin 不像是 zfb 这种的,调几个函数就可以支持了
    bitcoin 没有一个“官方 API”,不知道那些第三方怎么实现的啊
    songjiaxin2008
        10
    songjiaxin2008  
       2021-01-28 14:23:22 +08:00
    @b00tyhunt3r #8 那你自己要搞全节点钱包了,技术含量挺高,主要还有风险。
    mdn
        11
    mdn  
       2021-01-28 14:25:00 +08:00
    去中心化,当然没有官方这么一说了
    mxT52CRuqR6o5
        12
    mxT52CRuqR6o5  
       2021-01-28 14:29:46 +08:00   1
    你接入支付宝,实际进行的是 RMB 交易啊,RMB 交易有官方 API 吗
    qwerthhusn
        13
    qwerthhusn  
       2021-01-28 14:34:02 +08:00   1
    宗瑞表示,还是用像 bitpay 这样的第三方平台吧,千万别自己搞,万一把老板的几个比特币给不小心弄没了,够喝一壶的。
    https://bitpay.com/api/#rest-api-overview-api-contracts
    devehx
        14
    devehx  
       2021-01-28 14:35:19 +08:00   3
    你要自己做不用第三方的话,
    首先要准备个服务器搭建一个 btc 节点同步所有的区块,
    搭建好了后,你可以看 btc 官方文档,
    可以通过 json rpc 来调用你搭建的这个节点来查询 btc 余额,转账之类的操作。
    比如你想转账你就发起一个 http 请求,将交易信息发给你搭建的节点服务器,
    你的节点服务器会广播给其它的节点,就完成转账了。
    b00tyhunt3r
        15
    b00tyhunt3r  
    OP
       2021-01-28 15:08:38 +08:00
    @devehx 谢谢胸弟!一下思路清晰了很多。
    请问“btc 官方文档”是指 developer.bitcoin.org/devguide/ 这里吗
    b00tyhunt3r
        16
    b00tyhunt3r  
    OP
       2021-01-28 15:18:11 +08:00
    @qwerthhusn 宗瑞大兄弟,这个 bitpay 怎么收费的啊 官网貌似没写 只给了 sales 的联系方式。

    而且还有个问题,如果我这个网站是像咸鱼那种,用户自己出售自己的物品, 钱也是买家直接付给卖家
    那 bitpay 可以实现这种功能吗?是否需要两方首先都要有一个 bitpay 账号? 谢谢!
    stramkismet
        17
    stramkismet  
       2021-01-28 15:54:09 +08:00
    接入三方 sdk 最方便;
    自己做的话需要找一个稳定的 btc 节点或者本地部署一个全节点的钱包;
    为付款人单独生成一个钱包地址;然后监听这个钱包是否有钱进入;判断是否到账
    ClaudeCode
        18
    ClaudeCode  
       2021-01-28 16:06:44 +08:00
    对不起 你认错人了
    oueryini
        19
    oueryini  
       2021-01-28 16:13:20 +08:00
    @kennnnnnnnnnn 收手吧阿祖,外面全是成龙
    devehx
        20
    devehx  
       2021-01-28 16:25:39 +08:00   1
    @b00tyhunt3r

    这里就是他的 rpc 文档,他里面有用 curl 调用的示例。

    https://developer.bitcoin.org/reference/rpc/
    devehx
        21
    devehx  
       2021-01-28 16:31:42 +08:00
    @b00tyhunt3r

    自己搭建节点弄的话其实比较麻烦的,
    你也可以用一些第三方的钱包,比如优盾钱包,好像这个第三方的比较贵,
    第三方的钱包的流程就是:
    你给你的用户创建一个 btc 钱包地址,用户往这个地址打钱了,第三方的服务会通过回调把充值信息告诉你,你就可以做充值成功的操作了。
    YouLMAO
        22
    YouLMAO  
       2021-01-28 16:32:38 +08:00
    我是张柏芝爸爸, 你不要来粤港澳, 小心我们新义安
    mwVYYA6
        23
    mwVYYA6  
       2021-01-28 19:08:51 +08:00
    天哪只有我认为 bitpay 很烂吗?各种蜜汁操作,能付款的货币手续费奇高,禁止部分交易平台

    coinpayments coingate 比它好用多了
    b00tyhunt3r
        24
    b00tyhunt3r  
    OP
       2021-01-28 19:21:55 +08:00
    @devehx
    老哥留步,这里有个疑点突然想不明白
    "首先要准备个服务器搭建一个 btc 节点同步所有的区块"

    为什么要搭建这个专有 btc 服务器? btc 不是去中心 p2p 的吗 用户自己就应该可以同步所有区块啊?
    Thiece
        25
    Thiece  
       2021-01-28 19:22:37 +08:00
    cumt21g
        26
    cumt21g  
       2021-01-28 19:48:39 +08:00
    @b00tyhunt3r 用户用你个 btc 还同步所有,疯了啊,刚随便查了下:
    2020 年 5 月 26 日 目前的全节点数据已经有 333GB
    niubee1
        27
    niubee1  
       2021-01-28 20:19:19 +08:00
    一次交易等半个小时个把小时,会疯吧
    kingwkb
        28
    kingwkb  
       2021-01-28 20:21:13 +08:00
    @niubee1 lightning
    chinvo
        29
    chinvo  
       2021-01-28 20:36:47 +08:00
    @b00tyhunt3r #23 因为你需要一个全量钱包当 RPC 服务用

    通过这个全量钱包,你可以用 bitcoin core 提供的 RPC 去查询和创建交易

    用户即使是有全量钱包,你没有可靠的查询手段,怎么确保用户真的转账了
    guokeke
        30
    guokeke  
       2021-01-28 21:14:23 +08:00
    为每一个用户创建一个 btc 充值地址。
    然后让用户打钱。
    然后监控关联地址余额。
    没了。
    guokeke
        31
    guokeke  
       2021-01-28 21:16:09 +08:00
    你就看各大交易所怎么冲币,然后抄就对了,说不定还能多支持几条链。
    Yc1992
        32
    Yc1992  
       2021-01-28 21:16:36 +08:00
    找第三方服务,不然一定会后悔
    ysc3839
        33
    ysc3839  
       2021-01-28 21:22:49 +08:00 via Android
    @b00tyhunt3r #24 “服务器”这个词有两种含义的,一种是提供服务的计算机,另一种是提供服务的程序。
    这里的意思是需要一台计算机安装 Bitcoin 程序,并不代表 Bitcoin 需要服务器。那给谁提供服务呢?给你的 Go 程序提供服务。
    Levi233
        34
    Levi233  
       2021-01-28 21:41:43 +08:00
    别瞎折腾了,没有区块链基础,累死累活不说,绝对会出问题的,而且 btc 的价格都是实时变动的,老老实实用第三方,现在很多接受虚拟货币支付的国外大厂基本都用的第三方服务,自己做的基本难用得要死,安全性还没法保证。推荐你用 CoinPayments
    treblex
        35
    treblex  
       2021-01-29 10:37:23 +08:00
    @oueryini #19 收手吧 成龙,由于 2020 的原因,外边的家具城都倒闭了
    treblex
        36
    treblex  
       2021-01-29 10:41:56 +08:00
    学到了,之前一直以为区块链是《硅谷》里边的那种,在用户设备上存一些数据碎片就可以构建网络,哈哈
    MaiKuraki
        37
    MaiKuraki  
       2021-01-29 12:58:37 +08:00
    有的飞机场支持比特币交易,然后你看看他们用的啥支付平台
    b00tyhunt3r
        38
    b00tyhunt3r  
    OP
       2021-01-31 18:57:15 +08:00
    @cumt21g
    哎啥意思? 比如这个用户想使用 btc 支付,那他肯定会有个钱包的啊
    那么钱包的客户端不应该早就完成初始化(同步主链)了吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1050 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:46 PVG 07:46 LAX 15:46 JFK 18:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86