腾讯区块链实战(5)-区块链的Python-SDK部署

前情提要:

已经搭建好区块链,现在的应用场景是在ubuntu服务器上部署Python sdk用于操控区块链,其他系统centos及macos系统请看官方技术文档,这里不再赘余。官方技术文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/python_sdk/install.html

1:环境要求

1.1:首先安装依赖环境

Ubuntu: sudo apt install -y zlib1g-dev libffi6 libffi-dev wget git

#这一步会产生一个solc文件夹

1.2:python环境要求

python 3.6.3/3.7.x

2:linux环境初始化

2.1:拉取源码

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

#这一步产生一个python-sdk文件夹

2.2:配置环境(如果本身的python版本符合要求,可跳过这一步,因为这一步就是为了生成一个python 3.7.3的虚拟环境)

cd    python-sdk && bash init_env.sh -p

1

分析上图错误提示:

init_env.sh: line 29: pyenv: command not found

所以需要激活pyenv:

source ~/.bashrc

激活之后,重新运行配置环境的命令:

cd    python-sdk&&bash init_env.sh -p

bash init_env.sh -p主要功能是安装pyenv,并使用pyenv安装名称为 python-sdk 的python-3.7.3虚拟环境

2

2.3:激活python-sdk虚拟环境

source ~/.bashrc && pyenv activate python-sdk && pip install --upgrade pip

3

3:在虚拟环境安装python sdk的依赖

pip install -r requirements.txt

4

4:初始化配置

bash init_env.sh -i

5

5:配置channel通信协议

这一块的配置不明白的可以看官网详细的配置说明:https://fisco-bcos-documentation.readthedocs.io/zh_CN/lates删t/docs/sdk掉/python_sdk/co我nfiguration.html

5.1:配置channel信息

5.1.1:首先查看自己暴露的节点ip及channel端口(此处的暴露节点也就是与python sdk连接的节点)

vi  ~/agencyB/node/node_XXX_30301/config.ini

6

5.1.2:修改client_config.py文件

cd ~/python-sdk

vi  client_config.py

7

修改对应箭头指向的位置,因为我们使用channel通信,所以,client_protocol设置为channel;将remote_rpcurl置空,因为不采用rpc端口的方式;将channel_port修改为链内任意节点的物理机内网ip,端口号为对应的channel_port。

5.2:配置证书

将暴露节点的sdk中的sdk证书及私钥放到python-sdk的bin目录下

cp ~/agencyB/sdk/*  ~/python-sdk/bin/

8

5.3:配置证书路径

从节点拷贝过来的sdk证书路径,将client_config.py中把sdk证书和私钥的路径配置好。

channel_node_cert="bin/sdk.crt"# 采用channel协议时,需要设置sdk证书,如采用rpc协议通信,这里可以留空

channel_node_key="bin/sdk.key"# 采用channel协议时,需要设置sdk私钥,如采用rpc协议通信,这里可以留空

若sdk证书和私钥路径分别为bin/node.crt和bin/node.key,则client_config.py中相关配置项如下。

channel_node_cert="bin/node.crt"# 采用channel协议时,需要设置sdk证书,如采用rpc协议通信,这里可以留空

channel_node_key="bin/node.key"# 采用channel协议时,需要设置sdk私钥,如采用rpc协议通信,这里可以留空

9

5.4:测试一下,使用channel协议访问节点

在python-sdk目录下面,确保python版本号3.7的情况下,运行console .py 文件查询。

# 获取FISCO BCOS节点版本号

python console.py getNodeVersion

10

至此,已经成功在一台ubuntu服务器上部署好了python sdk,可用于部署及编译合约,还可以类似控制台做查询工作等。

喜欢我的文章,就给我点赞呀~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。