LWS webapi文档 - bigbangcore/LWS GitHub Wiki

接口说明

一、概述

LWS(Light wallet service)是可扩展的轻钱包服务平台,作为BigBang核心网络和IOT 设备的中间服务层, 为了方便与应用程序的对接,提供了webapi接口。

三、部署方式

下载LWS最新release版本,下载webapi.tar.7z。 解压到合适目录

sudo -u pip3 install pymysql
sudo -u pip3 install requests
sudo -u pip3 install flask
vim conf.py
# 编辑好配置文件中的数据库连接方式和节点连接方式
python3 api.py

四、接口说明

  1. http://127.0.0.1:9902/utxo/forkid/addr

    查看指定分支下关于指定的地址的utxo列表

    返回json数据如下例所示

    {
        "sum": 68301930.52, 
        "unspents": [
        {
            "amount": 68301930.52, 
            "lockuntil": 0, 
            "out": 0, 
            "time": 1591440281, 
            "txid": "5edb7399b0d87ceb06a98f9aedf2f5c6da394dbb9d7480b9aaa1b653d1967bb1"
        }]
    }
    

    表示这个地址下在指定的分支下,utxo汇总金额为68301930.52,具体数据就一条utxo。
    转账的金额为68301930.52,无锁定块高("lockuntil": 0),为直接转账("out": 0),
    产生该utxo的交易时间戳为1591440281。
    交易的txid为:5edb7399b0d87ceb06a98f9aedf2f5c6da394dbb9d7480b9aaa1b653d1967bb1;

  2. http://127.0.0.1:9902/transaction/forkid/addr

    查看指定分支下关于指定的地址的交易id列表(包括转入和转出)

    返回json数据如下例所示

    [  
        {  
            "txid": "5ed4c041cf8728a5354d637a9e77ca891270a0a971f83ac9e8deed417ea84a5c"  
        },   
        {  
            "txid": "5ed4c758e18ea39a598620ac59d2e2f9096bbe907b45c6f6a4e4e771b854b7ac"  
        },   
        {  
            "txid": "5ed4cc3f3310e569d8cbe1464088c142051dc47cb65c510eb25b46fa801a7a9d"  
        }  
    ]
    

    该地址在指定分支下共有三条交易

  3. http://127.0.0.1:9902/transaction/txid

    查看指定交易id的详细信息

    返回json数据如下例所示

    {  
        "id": 1,   
        "jsonrpc": "2.0",   
        "result":   
        {  
            "transaction":   
            {  
                "amount": 100000.0,   
                "anchor": "0000000006854ebdc236f48dbbe5c87312ea0abd7398888374b5ee9a5eb1d291",   
                "blockhash": "000038a068ca5ab79d86b7e958c4b513fa61c58ee164fea96bc97a7bf70af5b3",   
                "confirmations": 10122,   
                "data":"010000ff9cb3d45eac1254540751c7be85a2a7b9f53352cafe6b7b15b14a77737b13cb39723800000000000000000000000000000000000000000000000000000000000000000000858001000000e10d42696742616e6743616d657261e204434349434301a40000c16ff2862300a540420f0000000000a610270000000000008700000000e82101498b63009dfb70f7ee0902ba95cc171f7d7a97ff16d89fd96e1f1b9e7d5f91dac991d2b15e9aeeb57483889873bd0aea1273c8e5bb8df436c2bd4e8506000000008a72380000010000019cb3d45e0000000000000000000000000000000000000000000000000000000000000000000000000001498b63009dfb70f7ee0902ba95cc171f7d7a97ff16d89fd96e1f1b9e7d5f91da0000c16ff286230000000000000000000d42696742616e6743616d657261000040dd411f943895c76c17615ab11b12e1301909df35c848f879575dfa26ca2817255d0d736bed516b5b80017e2417f3eb27ebdc7ff0f726141c9194e441a9d05100",   
                "fork": "0000000006854ebdc236f48dbbe5c87312ea0abd7398888374b5ee9a5eb1d291",   
                "lockuntil": 0,   
                "sendfrom": "1965p604xzdrffvg90ax9bk0q3xyqn5zz2vc9zpbe3wdswzazj7d144mm",   
                "sendto": "20c0519nhpsnma9kchat82ddjpb4z72hcp2xefy3deg3thfv4m1wzd5qe",   
                "sig":   "35a9e84a23bcb0487bf4baeb94e1dac3147153c5e5e3293bfd76c89a3fb50265a2d80e38f71cee87b81011fcb8078e22996cfddb6dcfc1faa5afeb285425b503",   
                "time": 1591000566,   
                "txfee": 0.05,   
                "txid": "5ed4bdf64fecd6db769f34de0eded820b22d89d660638123908bf4271f686c66",   
                "type": "token",   
                "version": 1,   
                "vin": [  
                {  
                    "txid": "5ed4b9a7eb1d8d5355d6948e07f5a854a44c27ced1efad1a93c2343993dfb627",   
                    "vout": 1
                }]  
            }  
        }  
    }  
    

    该交易表示 1965p604xzdrffvg90ax9bk0q3xyqn5zz2vc9zpbe3wdswzazj7d144mm 转给 20c0519nhpsnma9kchat82ddjpb4z72hcp2xefy3deg3thfv4m1wzd5qe 100000.0BBC,手续费为0.05BBC,该交易已经被确认了10122个高度.

  4. http://127.0.0.1:9902/sendrawtransaction/hexdata 广播交易,hexdata为交易的16进制数据,广播成功后返回交易的id.
    如果没有广播成功,返回错误码和错误的描述信息.

  5. http://127.0.0.1:9902/updata/base64_data
    上传base64数据 返回json数据如下例所示

    {
        "id": 5, 
        "state": "success"
    }
    

    成功的新增加了一条数据

  6. http://127.0.0.1:9902/getdata/5
    得到指定ID的数据

    {
        "data": "hello camera", 
        "state": "success"
    }
    

    成功返回id为5的数据,数据内容为hello camera