🚀

Ecosystem Installation

Complete guide for installing ScyllaDB, Java 8, and enabling the Ecosystem Add-On

📖 Overview

This guide covers installing and configuring ScyllaDB (v5.4), Java 8, and enabling the Ecosystem Add-On for your Bicrypto platform. You'll also learn how to manually create a new ScyllaDB user and update your .env accordingly.

Requirements
  • CPU: With SSE 4.2 and PCLMUL support
  • RAM: 4GB minimum

1️⃣ Install ScyllaDB 5.4

1

Open the Root Terminal

Open the Root Terminal in Virtualmin (or SSH into your server).

Root Terminal in Virtualmin
2

Run Installation Commands

Execute the following commands to install ScyllaDB version 5.4:

sudo mkdir -p /etc/apt/keyrings sudo gpg --homedir /tmp --no-default-keyring --keyring /etc/apt/keyrings/scylladb.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys d0a112e067426ab2 sudo curl -L --output /etc/apt/sources.list.d/scylla.list https://downloads.scylladb.com/deb/ubuntu/scylla-5.4.list sudo apt-get update sudo apt-get install -y scylla
Terminal showing successful ScyllaDB installation

2️⃣ Install Java (Required for ScyllaDB Tools)

Install Java 8

Run the following commands to install Java 8:

sudo apt-get update sudo apt-get install -y openjdk-8-jre-headless sudo update-java-alternatives --jre-headless -s java-1.8.0-openjdk-amd64

This ensures Java 8 is installed and set as your default Java runtime for headless environment.

Terminal showing Java 8 installation

3️⃣ Edit ScyllaDB Configuration

1

Open Configuration File

nano /etc/scylla/scylla.yaml
2

Change API Port

Find api_port: 10000 and modify it to api_port: 10001. This avoids conflicts with Virtualmin's default port 10000.

Changing API port in scylla.yaml
3

Enable Password Authentication

Locate # authenticator: AllowAllAuthenticator and change it to:

authenticator: PasswordAuthenticator
Changing authenticator to PasswordAuthenticator
4

Save and Exit

Press Ctrl + X, type Y to confirm, then Enter to save.

Saving file in nano Exiting nano editor

4️⃣ Run Scylla Setup

⚙️

Initialize Scylla

sudo scylla_setup

Follow the on-screen prompts. The setup process includes multiple configuration steps:

Scylla setup step 1 Scylla setup step 2 Scylla setup step 3 Scylla setup step 4 Scylla setup step 5 Scylla setup step 6

5️⃣ Start and Enable Scylla Server

🚀

Start ScyllaDB Service

sudo systemctl start scylla-server sudo systemctl enable scylla-server

6️⃣ Enable Ecosystem Extension in Bicrypto

1

Navigate to Extensions

Go to your site's Admin side: System > Extensions.

Navigating to System > Extensions in Bicrypto Admin
2

Select Ecosystem Extension

Select the Ecosystem extension page.

Selecting Ecosystem extension
3

Verify License and Update

Verify your License: If it's your first time, you may need to verify the license or install the add-on manually by contacting support.

Verifying license

Check for Updates: Click Check for Updates, then Update. Refresh the page once it's done.

4

Enable Extension and Run Updator

Enable the Extension: If you're on the latest version, click Enable.

Enabling Ecosystem extension

Run PNPM Updator: Open the User Terminal, navigate to public_html, and run:

pnpm updator

7️⃣ Create a New ScyllaDB User

Here's how to create a new ScyllaDB user manually:

1

Open Root Terminal

Open the Root Terminal in Virtualmin (or SSH into your server).

Root Terminal in Virtualmin
2

Connect with Default Credentials

By default, ScyllaDB comes with cassandra:cassandra for the superuser. Run:

cqlsh -u cassandra -p cassandra
Logging into cqlsh with default credentials
3

Create New Superuser Role

Inside the cqlsh prompt, type:

CREATE ROLE IF NOT EXISTS new_username WITH PASSWORD = 'new_password' AND LOGIN = true AND SUPERUSER = true;
  • new_username = Your desired username
  • new_password = A strong password

Press Enter to execute. This will create (or update) a superuser role.

4

Test New Credentials

Exit cqlsh by typing exit or pressing Ctrl + D, then reconnect using your new credentials:

cqlsh -u new_username -p new_password

If you can run describe keyspaces; without errors, the new user is valid.

5

Update .env File

Go to File Manager and edit the .env file:

File Manager with .env file

In your .env file (within public_html or your project root), add or edit these lines:

SCYLLA_USERNAME="new_username" SCYLLA_PASSWORD="new_password"

Save and close the file. Make sure you have the correct syntax (use quotes if needed).

8️⃣ Generate and Encrypt a Passphrase (Optional KMS Setup)

If you need to set up an encryption passphrase for KMS (Key Management Service) within Bicrypto:

1

Navigate to Project Directory

Go to the User Terminal and enter public_html:

cd public_html
User terminal navigation
2

Generate Passphrase

Run the following command to generate a passphrase:

node ./scripts/kms/generate.mjs

This script will:

  • • Ask you to create a passphrase of at least 12 characters
  • • Generate a raw encryption key and encrypted encryption key
  • • Add ENCRYPTED_ENCRYPTION_KEY to your .env if not already set
  • • Warn you to securely store your passphrase

9️⃣ Finalize Changes by Updating the Backend

🔄

Update Backend

Still in the User Terminal, run:

pnpm updator:backend

This applies any new environment settings (e.g., .env changes, encryption keys) to your Bicrypto backend.

🔍 Verification & Final Steps

🔧 System Checks

ScyllaDB Status

Check systemctl status scylla-server

Check Logs

Use journalctl -u scylla-server or pm2 log

✅ Functionality

Ecosystem Features

Confirm advanced trading features work properly

Additional Modules

Test blockchain integration and wallet functionality

🔒 Security Considerations

Critical Security Warnings
  • Secure Credentials: Always secure your server and rotate credentials periodically
  • Monitor Logs: Regularly check logs for potential security issues
  • Backup Strategy: Maintain regular backups of your database and configuration
  • Access Control: Limit access to ScyllaDB and admin interfaces

🎯 Conclusion

Installation Complete!

By installing ScyllaDB, configuring Java 8, enabling password authentication, and integrating the Ecosystem add-on, your Bicrypto platform can leverage high-performance features and additional functionalities. Always secure your server, rotate credentials periodically, and monitor logs for potential issues.