部署新一代区块链系统需要进行节点配置,包括主链服务器、智能合约服务器、预言合约服务器、账本服务器、级联账本服务器和私有账本服务器。账本服务器、级联账本服务器与主链服务器通常部署在同一个物理机中,要使用新一代区块链系统,至少需要配置并开启主链服务器、智能合约服务器和预言合约服务器。在整个区块链网络中,主链服务器和智能合约服务器仅能开启一台,其他服务器没有限制开启数量。

  1. 主链服务器部署 部署主链服务器需要配置节点类型、服务器名称、服务器IP地址、服务器端口号和智能合约服务器的名称、IP地址和端口号等信息。其中,节点类型表示服务器的类型,主链数据服务器的服务器名称可自定义,服务器IP地址为部署主链数据服务器的物理机的IP地址,端口号可自定义,只要不被占用即可。智能合约服务器的名称、IP地址和端口号为该系统中部署智能合约服务器的名称、IP地址和端口号,同时还可配置是否压缩数据库文件并重新建立索引和是否允许推荐服务,如果要使用系统的抽象推理函数,需要将是否允许推荐服务'allow_recommendation'的值设置为'yes'。

  2. 账本服务器部署 部署账本服务器需要配置节点类型、服务器名称、IP地址、端口号,并指定上链服务器的名称、IP地址和端口号,通常上链服务器指定为主链服务器。以及智能合约服务器的名称、IP地址和端口号等信息。其中账本服务器的服务器名称可自定义,IP地址为部署账本服务器的IP地址,端口号可自定义,只要不被占用即可。智能合约服务器的名称、IP地址和端口号为该系统部署智能合约服务器的名称、IP地址和端口号。

  3. 级联账本服务器部署 部署级联账本服务器需要配置节点类型、服务器名称、IP地址、端口号,并指定上链服务器的名称、IP地址和端口号,通常上链服务器指定为主链服务器。以及智能合约服务器的名称、IP地址和端口号等信息。其中级联账本服务器的服务器名称可自定义,IP地址为部署级联账本服务器的IP地址,端口号可自定义,只要不被占用即可。智能合约服务器的名称、IP和端口号为该系统中部署智能合约服务器的名称、IP地址和端口号。

  4. 智能合约服务器部署 部署智能合约服务器需要配置节点类型、名称、IP地址、端口号,并指定上链服务器的名称、IP地址和端口号等信息,通常上链服务器指定为主链服务器。其中,智能合约服务器的服务器名称可自定义,IP地址为部署智能合约服务器的IP地址,端口号可自定义,只要不被占用即可,同时可配置是否压缩数据库文件并重新建立索引。

  5. 预言合约服务器部署 部署预言合约服务器需要配置节点类型、服务器名称、IP地址、端口号,并指定上链服务器的名称、IP地址和端口号等信息,通常上链服务器指定为主链服务器,可以是部署在本地的主链服务器,也可以是部署在别的物理机上的主链服务器,与其名称、IP地址和端口号保持一致即可。其中预言合约服务器的名称可自定义,IP地址为部署预言合约服务器的IP地址,端口号可自定义,只要不被占用即可。同时可配置是否压缩数据库文件并重新建立索引和是否允许使用循环语句,如果要使用系统中的循环语句,需要将允许使用循环语句'while_for'的值设置为'yes',默认不开启循环语句。

在同一条主链上可同时开启多个预言合约服务器,各预言合约服务器之间互不干扰。通常一个完整的区块链系统会部署一个主链服务器、一个智能合约服务器和一个预言合约服务器,任何人都可以通过该预言合约服务器访问区块链。同时各用户也可根据自己的需求,定制自己的预言合约服务器,例如,若需要开启循环语句,便可在配置文件中设置'while_for'的值设置为'yes',并配置预言合约服务器的IP地址为本机IP,在本地部署自己的预言合约服务器,本地部署的预言合约服务器对其他用户使用预言合约服务器不会产生任何影响。

  1. 系统部署故障 在部署系统的时候,可能会出现一些故障,以下是常见的故障及解决方案。
  1. jvm故障 该故障是在启动服务器时,由于找不到jvm.dll配置文件,无法正常启动,故障弹窗如图4-4所示。

图4-4 jvm故障 此时请检查服务器是否正确配置了JAVA环境变量,若没有正确配置环境变量,需要将JDK目录对应的路径添加到PATH变量当中,若已配置好环境变量,则在启动的时候不要用双击的方式,而是通过点击鼠标右键,选择“以管理员身份运行”的方式启动即可。

  1. 启动故障 该故障代码为0xc000007b,应用程序无法正常启动,故障如图4-5所示。

图4-5 启动故障 该故障需要使用“DirectX Repair”工具进行修复,若修复成功仍启动失败,则将JDK更换成1.8版本。

  1. 连接错误故障 连接错误故障是由于主链数据服务器的配置文件出现错误,导致拒绝连接,该故障弹窗如图4-6所示。

图4-6 连接错误故障 此时请查看本机IP地址,检查主链数据服务器配置文件中的IP地址等信息是否配置正确,若连接的主链数据服务器不在本机,检查本机能否访问主链数据服务器的IP地址。

  1. Java服务端口被占用故障 该故障是由于服务端口被占用,导致在启动运行时出现java.net.BindException: Address already in use: bind异常,该故障弹窗如图4-7所示。

图4-7 Java服务端口被占用故障 此时需要将配置文件中的服务端口号修改为没被占用的端口号即可。

新一代区块链系统节点配置指南:主链、智能合约、预言合约服务器部署

原文地址: https://www.cveoy.top/t/topic/nIXt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录