美文网首页
如何较为安全的启动Tron超级节点

如何较为安全的启动Tron超级节点

作者: LaxChan | 来源:发表于2018-06-28 10:14 被阅读0次

    启动tron的超级节点时需要指定一个账号(此账号为申请超级节点时使用的账号);该账号将作为超级节点的受益者,获取超级节点的收益。

    启动命令

    官方的启动命令可以参考:https://github.com/tronprotocol/java-tron
    以编译成jar包后,启动为例:

    java -jar java-tron.jar -p yourself private key --witness -c yourself config.conf
    Example:
    java -jar java-tron.jar -p 650950B193DDDDB35B6E48912DD28F7AB0E7140C1BFDEFD493348F02295BD812 --witness -c /data/java-tron/config.conf
    

    很明显,这种方式将会在服务器上留下相关记录(对服务器不做其他安全设置,使用默认的配置);
    目前官方主网的版本是支持KeyStore文件来启动节点方式,此方式可以避免在系统中留下秘钥信息;
    修改配置文件config.conf中的localwitnesskeystore配置项,修改为将秘钥对应的KeyStore文件名(注意:该项的值为相对于服务目录的路径),如:

    localwitnesskeystore = [
    "keystore.json"
    ]
    

    启动流程如下:

    1. 启动命令  
       java -jar java-tron.jar --witness -c /xxx/xxx/config.conf  
    2. 终端提示输入密码
       Please input your password.
       password:
    3. 输入密码,启动进程
    

    此方式,进程启动了,使用history也无法查看输入的密码信息;但进程并非以后台进程的方式运行;如果退出终端,则该进程将退出。
    若要以后台进程运行,第一反应是使用nohup&等方式;但使用这种方式,进程启动后的输入密码的交互则无法进行。

    编写启动脚本,启动Tron进程

    我们的目标简单:以后台进程启动Tron节点,并在系统中不暴露秘钥信息。
    如上述分析,如果只是简单的使用命令来启动,是存在这样那样的问题,故笔者尝试使用脚本的方式来启动Tron进程。

    • 依赖环境
      expect
      安装命令如下:
    1. CentOS
    yum install -y expect
    2. Ubuntu
    apt-get install expect
    备注:以root权限执行
    
    • 编写脚本
    1. 节点启动脚本:startTron.sh
    #!/usr/bin/expect -f
    #获取传递过来的密码
    set password [lindex $argv 0]
    #启动节点进程 
    spawn setsid java -jar java-tron.jar --witness -c /xxx/xxxx/config.conf
    #监听进程输出关键字password:
    expect "password:"
    #输入密码至进程
    send "$password\r"
    expect eof
    exit
    
    1. 服务启动脚本:start.sh
    #!/bin/bash
    #交互输出提示
    echo -n "Enter password:"
    #读取输入密码
    read pwd
    #启动节点
    ./startTron.sh ${pwd}
    
    • 启动Tron节点
    1. 启动  
    sh start.sh
    2. 提示交互输入
    Enter password:
    3. 输入密码,启动节点  
    spawn setsid java -jar java-tron.jar --witness -c /xxx/xxx/config.conf
    Please input your password.
    password: 
    
    • 校验
    1. 查看进程  
    ps -ef|grep java  
     24632     1 26 10:05 ?        00:00:23 java -jar java-tron.jar --witness -c /xxx/xxx/config.conf  
    2. 退出终端,再登录查看进程是否存活  
       命令如步骤1
    3. 查看日志是否在同步区块/出块
    

    相关文章

      网友评论

          本文标题:如何较为安全的启动Tron超级节点

          本文链接:https://www.haomeiwen.com/subject/bwwwyftx.html