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

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

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

    查了一圈没查到好用的库啊,基本有的都是独立 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 节点或者本地部署一个全节点的钱包;
    为付款人单独生成一个钱包地址;然后监听这个钱包是否有钱进入;判断是否到账
    yaocai321
        18
    yaocai321  
       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   ·   我们的愿景   ·   实用小工具   ·   950 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:04 · PVG 06:04 · LAX 15:04 · JFK 18:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.