Execute the synchronizer client

Please make sure you have initialized the account and configured the BTC RPC node.

Simple Execution

You can start the Synchronizer Client with the following command:

yarn start-synchronizer

Since the Synchronizer Client requires the private key of the Synchronizer account (encrypted in the keystore file) to sign the transactions, you need to provide the keystore file's password at runtime. There are many ways to input the password:

  1. Using the --pwdFile parameter Save the password in a file, then pass the file path using the --pwdFile parameter when starting the client. For example, if the password 123456 is saved in /home/exsat/password, you can start the client with:

    yarn start-synchronizer --pwdFile=/home/exsat/password
  2. Storing it in the .env file Save the keystore password directly in the .env file. For example:

    SYNCHRONIZER_KEYSTORE_PASSWORD=123456

    Then directly start the Client:

    yarn start-synchronizer
  3. Inputting it during runtime Simply run the Client:

    yarn start-synchronizer

    The Client will prompt you to enter the keystore file password manually.

Considerations

  • Options 1 and 2 expose the keystore password directly, making them less secure.

  • Option 3 does not expose the password but requires manual input each time the client is restarted, which is complicated for auto execution.

Choose the password input method that best suits your security and operational requirements.

While running the Client directly is straightforward, it is rarely used in practice. This is because processes running on Linux can sometimes be terminated by the system for various reasons. To ensure the Client runs continuously over an extended period, it is recommended to use tools that keep programs running in the background. Common tools for this purpose include pm2 and screen.

Using pm2

PM2 is a process manager for Node.js applications on Linux, allowing you to easily manage, monitor, and keep applications running in the background. You could execute below command to run the Synchronizer client using pm2.

Please ensure that the password of the kesytore is properly configured.

pm2 start ecosystem.config.js --only synchronizer

Using Screen

The Screen command in Linux allows you to run commands in the background, keeping them active even after you disconnect from the terminal session.

You could execute below command to run the Synchronizer client , and manully input the password of the keystore. This approach helps prevent your password from appearing in plain text in configuration files or command lines, reducing the risk of password exposure.

screen -R synchronizer
yarn start-synchronizer
#input the password

You can also start the Synchronizer Client using Screen with the keystore password saved in a file or in the .env file. Take using --pwdFileparameter as an example:

screen -R synchronizer
yarn start-synchronizer --pwdFile=/root/.exsat/synchronizer/password

Verify Execution

If your Synchronizer Client is running correctly, the following logs should appear on your screen:

2025-02-28T12:34:59.176+00:00 info: ExsatApi initialized successfully.
2025-02-28T12:34:59.934+00:00 info: synchronizer[synctest.sat] client configurations are correct, and the startup was successful
2025-02-28T12:35:00.939+00:00 info: Upload block task is running
2025-02-28T12:35:00.942+00:00 info: Verify block task is running
2025-02-28T12:35:00.945+00:00 info: Parse block task is running

View Logs

Refer to this guide to learn how to save logs to file.

Last updated