zoukankan      html  css  js  c++  java
  • FISCO-BCOS-Python-SDK 在window系统的安装

    官网文档说明:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/python_sdk/install.html

    https://github.com/FISCO-BCOS/python-sdk

    1、环境要求

      Python:3.0 +

      Microsoft Visual C++ ,下载地址:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

      solc编译器,下载地址

    2、源码下载

    git clone https://github.com/FISCO-BCOS/python-sdk
    
    # 若因为网络问题导致长时间无法执行上面的命令,请尝试以下命令:
    git clone https://gitee.com/FISCO-BCOS/python-sdk

    3、配置solc编译器

       修改client_config.py.template,配置solc编译器路径,solc二进制下载请参考bcos_solc.py中的描述,

    # ---------runtime related--------------
    # path of solc compiler
    solc_path = "D:\Program Files (x86)\solidity-windows\solc.exe"

      将client_config.py.template拷贝为client_config.py

    4、安装Python-SDK依赖

    pip install -r requirements.txt
    
    #若网络失败,使用以下命令
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

    5、配置Channel信息以及证书

      将client_config.py 文件中channel_host为实际的IP,channel_portchannel_listen_port

      IP和端口在,在BOS部署机器的节点目录下config.ini 文件中获取 

     # ---------client communication config--------------
     client_protocol = "channel"  # or PROTOCOL_CHANNEL to use channel prototol
     # client_protocol = PROTOCOL_CHANNEL
     remote_rpcurl = "http://192.168.31.129:8545"  # 采用rpc通信时,节点的rpc端口,和要通信的节点*必须*一致,如采用channel协议通信,这里可以留空
     channel_host = "192.168.31.129"  # 采用channel通信时,节点的channel ip地址,如采用rpc协议通信,这里可以留空
     channel_port = 20200  # 节点的channel 端口,如采用rpc协议通信,这里可以留空

      将节点sdk目录下的所以文件拷贝到bin目录下

    6、验证

      到此python-sdk环境以搭建完成

      在此项目的目录下,打开cmd,可通过以下命令进行验证

    python console.py list

    输出结果如下说明成功:

    INFO >> user input : ['list']
    
     : RPC commands
        [getNodeVersion]
        [getBlockNumber]
        [getPbftView]
        [getSealerList]
        [getObserverList]
        [getConsensusStatus]
        [getSyncStatus]
        [getPeers]
        [getGroupPeers]
        [getNodeIDList]
        [getGroupList]
        [getPendingTxSize]
        [getTotalTransactionCount]
        [getPendingTransactions]
        [getBlockHashByNumber] [number]
        [getTransactionByHash] [hash] [contract_name]
        [getTransactionReceipt] [hash] [contract_name]
        [getCode] [contract_address]
        [getTransactionByBlockHashAndIndex] [blockHash] [transactionIndex] [contract_name]
        [getTransactionByBlockNumberAndIndex] [blockNumber] [transactionIndex] [contract_name]
        [getSystemConfigByKey] [tx_count_limit/tx_gas_limit]
        [getBlockByNumber] [blockNumber] True/False
        [getBlockByHash] [blockHash] True/False

    7、API说明

    接口名

    描述

    参数

    getNodeVersion

    获取区块链节点版本信息

    getBlockNumber

    获取最新块高

    getPbftView

    获取PBFT视图

    getSealerList

    获取共识节点列表

    getObserverList

    获取观察者节点列表

    getConsensusStatus

    获取区块链节点共识状态

    getSyncStatus

    获取区块链节点同步状态

    getPeers

    获取区块链节点的连接信息

    getGroupPeers

    获取指定群组的共识节点
    和观察节点列表

    getNodeIDList

    获取节点及其连接节点的列表

    getGroupList

    获取节点所属群组的群组ID列表

    getBlockByHash

    根据区块哈希获取区块信息

    区块哈希

    getBlockByNumber

    根据区块高度获取区块信息

    区块高度

    getBlockHashByNumber

    根据区块高度获取区块哈希

    区块高度

    getTransactionByHash

    根据交易哈希获取交易信息

    交易哈希

    getTransactionByBlockHashAndIndex

    根据交易所属的区块哈希、
    交易索引获取交易信息

    交易所属的区块哈希
    交易索引

    getTransactionByBlockNumberAndIndex

    根据交易所属的区块高度、
    交易索引获取交易信息

    交易所属的区块高度
    交易索引

    getTransactionReceipt

    根据交易哈希获取交易回执

    交易哈希

    getPendingTransactions

    获取交易池内所有未上链的交易

    getPendingTxSize

    获取交易池内未上链的交易数目

    getCode

    根据合约地址查询的合约数据

    合约地址

    getTotalTransactionCount

    获取指定群组的上链交易数目

    getSystemConfigByKey

    获取系统配置

    系统配置关键字
    如:
    - tx_count_limit
    - tx_gas_limit

    deploy

    部署合约

    合约binary code

    call

    调用合约

    合约地址
    合约abi
    调用接口名称
    参数列表

    sendRawTransaction

    发送交易

    合约地址
    合约abi
    接口名
    参数列表
    合约binary code

    sendRawTransactionGetReceipt

    发送交易
    并获取交易执行结果

    合约地址
    合约abi接口名
    参数列表
    合约binary code

    备注:

    sendRawTransaction ,在脚本中使用的是 sendtx ,详见 console_utils/cmd_transaction.py 

    sendtx [contractname] [address] [func] [args...]
    发送交易调用指定合约的接口,交易如成功,结果会写入区块和状态,address可以是last或latest,表示调用最近部署的该合约实例

  • 相关阅读:
    学期总结
    Sprint 2(第一天)
    学期总结
    实验四、主存空间的分配和回收
    阅读《构建之法》与链接有感.
    《构建之法》八、九、十章读后感
    Scrum领取任务
    实验三、进程调度模拟程序实验
    《构建之法》6-7章读后感
    实验二 作业调度模拟程序
  • 原文地址:https://www.cnblogs.com/luyilan/p/15104505.html
Copyright © 2011-2022 走看看