• bitcoined


    你给的官方文档是中文翻译的,不全,看看英文的:https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)

    0. 下载

    不解释了

    1. 运行

    此章节是中文wiki没有的。英文:https://en.bitcoin.it/wiki/Running_Bitcoin

    运行后,Bitcoin 会作为服务启动,就类似 httpd 或者 mysqld 一样,此时 bitcoind 会在 127.0.0.1 监听 8332 端口的请求。

    2. JSON-RPC

    中文链接有误。

    可以在下面链接查看 JSON-RPC:http://json-rpc.org/wiki/specification

    顺便在看看 JSON: http://json.org
    RPC(Remote Procedure Call)意思是远程过程调用,我们可以在本地直接调用远端的函数和功能,Procedure。调用的格式通常有:

    • XML-RPC: 所有的调用以 XML 格式进行,比较常见的就是 wordpress 的博客客户端,一般都是通过 XML-RPC 发布博客。

    • JSON-RPC:相比 XML 来说,JSON 更加轻量级,于是 bitcoind 使用 JSON-RPC 来和服务器端通讯。

    3. 通讯

    我们使用客户端操作 bitcoin 时(即和 bitcoin 服务器通讯),不需要引入 bitcoin 提供的任何类库,只需要对应语言的 JSON-RPC 库即可。或者再底层一些,只要有 HTTP 库即可。

    JSON-RPC 的官网只提供了 Python 包, 由于我没有使用过 Java 的 JSON-RPC 库,在此我就不推荐了。你可以自行去 github 或者 sourceforge 搜索。

    可以看看这个(英文,不过很好理解) http://json-rpc.org/wiki/specification,非常非常的简单,以至于你都不想使用 JSON-RPC 库了,或许一个 cURL 就已经绰绰有余力了。

    我大致翻译一下规范:

    请求 Request

    发送给服务器的请求包括 3 个参数

    • method - 你想要调用的方法
    • params - 方法参数
    • id - 不解释

    回应 Response

    回应也是 3 个值:

    • result
    • error
    • id

    示例

    比如服务器端有一个方法,两数相加:add(num1, num2)

    我们这样远程调用它

    我们向服务器发送一个 json:

    {
        "method": "add", 
        "params": [
            1, 
            2
        ], 
        "id": 1
    }
    

    服务器会返回:

     
    {
        "result": 3, 
        "error": null, 
        "id": 1
    }
  • 相关阅读:
    (一)linux 系统命令与文件
    python(1)- 初识python
    四、计算机硬件知识整理
    三、计算机硬件历史
    二、网络基础之网络协议
    jmeter while循环使用
    gitlab分支管理
    gitlab基本操作
    JAVA多种向influxDB中插入数据方式
    JAVA类变量和实例变量
  • 原文地址:https://www.cnblogs.com/hehe00/p/5985391.html
Copyright © 2020-2023  润新知