Skip to main content

How to obtain an SSL certificate for a node?

Congratulations! Now you have a started and functional node, responding by http. Now, let's set up https! Follow the steps below:

  1. Ensure that you use root account. It is necessary for further steps.

  2. Install by running the following command. Please, specify your real e-mail address:

    apt-get install socat
    curl | sh -s

    where — your active e-mail. Make sure, you have replaced it with your e-mail address.

  3. Log out of the system.

  4. Log in again.

  5. Obtain the certificate. To do this, run the following command:


    If you have reached the threshold, try another server. Use the link for more information.


    Here you may receive the "Timeout" error.

    The reason is in closed tcp/80 port.

    The solution is to open this port or turn the firewall off. --issue --standalone -d

    If you have the following error: command not found


    source ~/.bashrc
    warning is an example. Replace it with your node link.

  6. Install the certificate by running the following command: --install-cert -d \
    --cert-file /opt/thepower/db/cert/ \
    --key-file /opt/thepower/db/cert/ \
    --ca-file /opt/thepower/db/cert/
    warning is an example. Replace it with your node link.

After you've installed the certificate, you can get the certificate status by running the following command: --info -d

where — your node address link. Replace it with your node link.

  1. Stop your node and restart it:

    1. Docker:

      1. docker stop tpnode
      2. docker rm tpnode
      3. docker rmi thepowerio/tpnode
      4. docker run -d \
        --name tpnode \
        --restart unless-stopped \
        --mount type=bind,source="$(pwd)"/db,target=/opt/thepower/db \
        --mount type=bind,source="$(pwd)"/log,target=/opt/thepower/log \
        --mount type=bind,source="$(pwd)"/node.config,target=/opt/thepower/node.config \
        --mount type=bind,source="$(pwd)"/genesis.txt,target=/opt/thepower/genesis.txt \

        <!--The commands below specify all necessary local ports.
        In this example ports `api`, `apis`, and `tpic` are used.
        Specify the port of your chain from `node.config` file.-->

        -p 1800:1800 \
        -p 1080:1080 \
        -p 1443:1443 \
    2. Source:

      1. systemctl stop tpnode.service
      2. Create a file tpnode.service under /etc/systemd/system directory. The file must contain the following:

        Description=tpnode service

        ExecStart=/opt/thepower/bin/thepower start
        ExecStop=/opt/thepower/bin/thepower stop

      3. Run the following command to rerun all generators , reload all unit files and recreate the entire dependency tree. While the daemon is being reloaded, all sockets systemd listens to on behalf of user configuration will stay accessible:

        systemctl daemon-reload
      4. Run the following command to enable the service after reboot:

        systemctl enable tpnode.service
      5. Start the node using the following command:

        systemctl start tpnode.service