2022-01-04 05:14:02 +00:00
|
|
|
|
安装说明
|
|
|
|
|
========
|
2021-09-24 17:43:11 +00:00
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
依赖环境的安装
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
1.安装Java1.8环境。
|
|
|
|
|
|
|
|
|
|
例如,在Ubuntu下使用apt-get进行安装:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
apt-get install openjdk-8-jre
|
|
|
|
|
|
|
|
|
|
在Centos环境下,使用yum进行安装:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
yum install java-1.8.0-openjdk
|
|
|
|
|
|
|
|
|
|
如果是离线环境,可先下载openjdk的安装包后进行离线安装。
|
|
|
|
|
|
|
|
|
|
Ubuntu下
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
dpkg -i jdk-8uxxxxx.deb
|
|
|
|
|
|
|
|
|
|
在Centos环境下,使用yum进行离线安装:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
yum localinstall jdk-8u271-linux-xxx.rpm
|
|
|
|
|
|
|
|
|
|
2.安装wget与unzip。 例如,在Ubuntu下使用apt-get进行安装:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
apt-get install unzip
|
|
|
|
|
apt-get install wget
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
网络拓扑说明
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
部署数瑞智能合约引擎最小仅需一个节点,此时可用作调试、测试,不能通过多节点模式来实现可信的计算。
|
|
|
|
|
单节点部署时,可通过配置账本实现“防抵赖”的计算,但不能实现“难篡改”的计算。
|
|
|
|
|
|
|
|
|
|
多节点部署时可参考下图,包含三种逻辑节点,同一虚拟机可安装一至三种节点。
|
|
|
|
|
|
|
|
|
|
1)账本节点。即数瑞图式账本。
|
|
|
|
|
|
|
|
|
|
2)合约节点。运行代码逻辑,并通过内存缓存实现高响应的模块。与其他合约节点组成可信计算网络。
|
|
|
|
|
|
|
|
|
|
3)路由节点。各个合约节点的路由信息。一般单个路由节点可支持最高1000合约节点。可视情况部署多个路由节点,并在路由节点之间配置实现更大规模的节点组网。
|
|
|
|
|
|
|
|
|
|
一般地,同一虚拟机下,会部署\ **合约节点与账本节点**\ 。
|
|
|
|
|
|
|
|
|
|
.. figure:: _static/imgs/deploytopology.png
|
|
|
|
|
:alt: deploytopology
|
|
|
|
|
|
|
|
|
|
deploytopology
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
智能合约节点安装
|
|
|
|
|
----------------
|
|
|
|
|
|
|
|
|
|
打开\ `安装包下载链接 <https://public.internetapi.cn/?dir=releases/bdcontract/newest>`__
|
|
|
|
|
其中,下载\ ``bdserver-lite.zip``\ 或\ ``bdserver.zip``\ ,其中,\ ``bdserver.zip``\ 包含更多示例和文档。
|
|
|
|
|
下载之后解压并启动。
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
unzip -d ./bdserver bdserver-lite.zip
|
|
|
|
|
cd bdserver
|
|
|
|
|
chmod +x *.sh
|
|
|
|
|
sh cmstart.sh
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
路由准入节点安装
|
|
|
|
|
----------------
|
|
|
|
|
|
|
|
|
|
打开\ `安装包下载链接 <https://public.internetapi.cn/?dir=releases/bdcontract/newest>`__
|
|
|
|
|
其中,下载\ ``bdserver-cluster.zip``\ 。 下载之后解压并启动。
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
unzip -d ./bdcluster bdserver-cluster.zip
|
|
|
|
|
cd bdcluster
|
|
|
|
|
chmod +x *.sh
|
|
|
|
|
sh ncstart.sh
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
文件说明
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
智能合约节点
|
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
.. figure:: _static/imgs/dirstructure.png
|
|
|
|
|
:alt: bdserver目录
|
|
|
|
|
|
|
|
|
|
bdserver目录
|
|
|
|
|
|
|
|
|
|
该目录下的文件说明:
|
|
|
|
|
|
|
|
|
|
1.cmstart.sh
|
|
|
|
|
该脚本用于启动合约引擎。合约引擎默认监听8080端口,可通过修改cmstart.sh来修改合约引擎的监听端口。
|
|
|
|
|
|
|
|
|
|
2.BDWareProjectDir 该目录存放了本节点的所有合约项目。
|
|
|
|
|
|
|
|
|
|
3.WebContent 该目录存放了本节点的前端代码。
|
|
|
|
|
|
|
|
|
|
4.cp, 该目录存放了yjs.jar,为启动合约实例所需的jar。
|
|
|
|
|
|
|
|
|
|
5.bdserver.jar 对外提供http/websocket的服务器逻辑。
|
|
|
|
|
|
|
|
|
|
6.updateContract.sh 用于升级的脚本。
|
|
|
|
|
|
|
|
|
|
路由准入节点
|
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
安装脚本会自动下载安装并解压为bdcluster目录。 该目录下的文件说明:
|
|
|
|
|
|
|
|
|
|
1.ncstart.sh
|
|
|
|
|
该脚本用于启动节点准入中心。默认监听1718端口。可通过修改ncstart.sh来修改监听的端口。
|
|
|
|
|
|
|
|
|
|
2.WebContent 该目录存放了准入中心的前端代码。
|
|
|
|
|
|
|
|
|
|
3.bdcluster.jar 准入中心的后端。
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
升级流程
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
合约节点
|
|
|
|
|
~~~~~~~~
|
|
|
|
|
|
|
|
|
|
在命令行中输入:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
sh updateContract.sh
|
|
|
|
|
|
|
|
|
|
亦可通过\ `public.internetapi.cn <https://public.internetapi.cn/?dir=releases/bdcontract>`__\ ,下载最新文件,单独升级yjs.zip/bdserver-jar.zip/AgentWebContent来升级。
|
|
|
|
|
|
|
|
|
|
.. _路由准入节点-1:
|
|
|
|
|
|
|
|
|
|
路由准入节点
|
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
sh updateCluster.sh
|
|
|
|
|
|
|
|
|
|
亦可通过\ `public.internetapi.cn <https://public.internetapi.cn/?dir=releases/bdcontract>`__\ ,下载最新文件,单独升级bdserver-cluster.zip/ClusterWebContent.zip来升级。
|
|
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
使用说明
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
通过参考界面使用
|
|
|
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
当保留了WebContent目录的情况下,可使用浏览器进行配置。
|
|
|
|
|
更多请使用见左侧文档\ `BDContract参考界面使用说明 <./IDEUsage.html>`__\ 。
|
|
|
|
|
|
|
|
|
|
BDWare OnlineIDE
|
|
|
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
打开\ `BDWare OnlineIDE <../OnlineIDE.html>`__\ 。
|
|
|
|
|
|
|
|
|
|
BDWare NodePortal
|
|
|
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
打开\ `BDWare NodePortal <../NodePortal.html>`__\ 。
|
|
|
|
|
|
|
|
|
|
如需组网,使用跨节点功能,则需安装路由准入中心。并按以下步骤进行配置。涉及两组公私钥。
|
|
|
|
|
第一组公私钥为合约节点的、有NodeManager权限的公私钥。
|
|
|
|
|
第二组公私钥为路由准入节点的、有CenterManager权限的公私钥。
|
|
|
|
|
|
|
|
|
|
1.打开NodePortal.html,复制该节点的NodeManager公私钥。
|
|
|
|
|
|
|
|
|
|
2.打开CenterPortal.html,点击右上角,将上述的NodeManager公私钥导入;并选择“NodeManager”进行身份认证。
|
|
|
|
|
|
|
|
|
|
3.在CenterPortal.html中切换CenterManager的公私钥,点左侧的“用户管理”,通过NodeManager的认证请求。
|
|
|
|
|
|
|
|
|
|
4.使用NodeManager权限的公私钥打开NodePortal.html,点击:“节点管理”菜单,并配置加入网络。
|
|
|
|
|
其中,加入网络的格式为:ws://centerportal的ip:端口+1。 |配置示例|
|
|
|
|
|
|
|
|
|
|
通过SDK使用
|
|
|
|
|
~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
基础知识
|
|
|
|
|
^^^^^^^^
|
|
|
|
|
|
|
|
|
|
`Websocket <https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API>`__
|
|
|
|
|
|
|
|
|
|
`Sm2加密的使用 <https://github.com/JuneAndGreen/sm-crypto>`__
|
|
|
|
|
|
|
|
|
|
SDK下载
|
|
|
|
|
^^^^^^^
|
|
|
|
|
|
|
|
|
|
1. Java版本的客户端下载:\ `BDWareJavaClient <_static/BDWareJavaClient.zip>`__\ 。具体使用说明请下载后解压,查看README.md,并参考\ `ContractAPI <./ContractAPI.html>`__\ 。
|
|
|
|
|
|
|
|
|
|
2.Javascript版本的客户端下载:\ `BDWareWebClient <_static/BDWareWebClient.zip>`__\ 。具体使用说明请下载后解压,查看README.md,并参考\ `ContractAPI <./ContractAPI.html>`__\ 。
|
|
|
|
|
|
|
|
|
|
3.配置工具\ `BDWareConfigTool <_static/BDWareConfigTool.zip>`__\ 。具体说明请下载后解压,使用以下命令查看帮助:
|
|
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
|
|
java -jar java-client.jar -h
|
|
|
|
|
|
|
|
|
|
.. |配置示例| image:: _static/imgs/config.png
|
|
|
|
|
|