TELA-CLI
Installation Guide

TELA-CLI Installation Guide

Complete guide to installing and setting up TELA-CLI on your system.

📦

What is TELA-CLI? A command-line interface for managing TELA content - deploy applications, clone content, serve locally, and interact with the DERO blockchain.

Prerequisites

Required Software

1. Go Programming Language (1.19 or higher)

Check if Go is installed:

go version
# Should show: go version go1.19 or higher

If not installed, download from go.dev (opens in a new tab)

2. DERO Daemon (for blockchain operations)

3. DERO Wallet (for deployments)

  • Engram wallet (recommended) or dero-wallet-cli
  • Required for install-doc, install-index, rate commands
  • Not required for viewing/serving existing content

Installation Methods


Method 1: Install from Source

Best for: Most users - installs TELA-CLI globally so you can run it from anywhere.

Step 1: Install via Go

go install github.com/civilware/tela/cmd/tela-cli@latest

Step 2: Verify Installation

# Check if tela-cli is in PATH
tela-cli --help
 
# Should display TELA-CLI usage information

Step 3: Add to PATH (if needed)

If you get "command not found":

macOS/Linux:

# Add Go bin to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH=$PATH:$(go env GOPATH)/bin
 
# Apply changes
source ~/.bashrc  # or source ~/.zshrc

Windows (PowerShell):

# Add Go bin to PATH
$env:PATH += ";$(go env GOPATH)\bin"
 
# Make permanent via System Environment Variables

Step 4: Run TELA-CLI

tela-cli

Success! TELA-CLI is now installed globally. You can run tela-cli from any directory.


Method 2: Build from Source

Best for: Users who want to customize TELA-CLI or contribute to development.

Step 1: Clone Repository

git clone https://github.com/civilware/tela.git
cd tela/cmd/tela-cli

Step 2: Install Dependencies

go mod tidy
go mod download

Step 3: Build Executable

go build .

This creates a tela-cli executable in the current directory.

Step 4: Run TELA-CLI

# From the tela/cmd/tela-cli directory
./tela-cli
 
# Or move to system PATH for global access
sudo mv tela-cli /usr/local/bin/  # macOS/Linux

Method 3: Run from Source

Best for: Development and testing - no build files created.

Step 1: Clone Repository

git clone https://github.com/civilware/tela.git
cd tela/cmd/tela-cli

Step 2: Run Directly

go run .

This compiles and runs TELA-CLI without creating a binary file.

Note: You must be in the tela/cmd/tela-cli directory to use this method.


Verify Installation

After installing using any method, verify TELA-CLI works:

# Check help menu
tela-cli --help
 
# Should display:
# Usage:
#   tela-cli [options]
#   tela-cli -h | --help
# Options:
#   -h --help     Show this screen
#   --debug       Enable debug mode
#   --mainnet     Set the network to mainnet
#   --testnet     Set the network to testnet
#   --simulator   Set the network to simulator
#   ...

First-Time Setup

1. Start TELA-CLI

tela-cli

2. Connect to Network

# For beginners - simulator provides free DERO
» endpoint simulator
 
# For testnet
» endpoint testnet
 
# For mainnet
» endpoint mainnet

3. Verify Connection

» info
 
# Check status indicators:
# [D:▲] - Daemon online
# [G:▼] - Gnomon offline
# [W:0]  - No wallet connected

4. Optional: Start Gnomon Indexer

» gnomon start
 
# Wait for sync...
# Check status: [G:▲] - Gnomon online

5. Test with Search

» search all
 
# Should display TELA content from the network
🎉

Setup Complete! You're ready to start using TELA-CLI.


Advanced Installation Options

Install with Specific Version

# Install specific version/commit
go install github.com/civilware/tela/cmd/tela-cli@v1.2.3
 
# Install from specific commit
go install github.com/civilware/tela/cmd/tela-cli@abc123def

Build with Custom Flags

# Build with optimizations
go build -ldflags="-s -w" .
 
# Build for specific OS/architecture
GOOS=linux GOARCH=amd64 go build .
GOOS=windows GOARCH=amd64 go build .
GOOS=darwin GOARCH=arm64 go build .

Development Installation

# Clone for development
git clone https://github.com/civilware/tela.git
cd tela
 
# Install dependencies
go mod tidy
 
# Make changes to source code...
 
# Test your changes
cd cmd/tela-cli
go run .
 
# Build when ready
go build .

Configuration

Data Storage Locations

TELA-CLI stores data in these locations:

macOS/Linux:

~/.local/share/tela/
├── datashards/
│   ├── clone/           # Cloned TELA content
│   ├── tela/            # Served TELA applications
│   ├── gnomon_*.db      # Gnomon indexer database
│   └── settings.db      # TELA-CLI preferences

Windows:

%APPDATA%\tela\
├── datashards\
│   ├── clone\
│   ├── tela\
│   ├── gnomon_*.db
│   └── settings.db

Database Options

TELA-CLI supports two database types:

# GravDB (default, recommended)
tela-cli --db-type=gravdb
 
# BoltDB (alternative)
tela-cli --db-type=boltdb

Startup Flags

Launch TELA-CLI with pre-configured settings:

Network Selection

# Mainnet (default)
tela-cli --mainnet
 
# Testnet
tela-cli --testnet
 
# Simulator (testing with free DERO)
tela-cli --simulator

Daemon Connection

# Connect to daemon on startup
tela-cli --daemon=127.0.0.1:10102
 
# Connect to daemon from stored preferences
tela-cli --daemon

Wallet Auto-Open

# Open wallet file on startup
tela-cli --wallet=./my-wallet.db
 
# With password (use carefully!)
tela-cli --wallet=./my-wallet.db --password=mypassword
⚠️

Security Warning: Using --password flag stores password in shell history. Only use in secure environments or scripts.

Gnomon Indexer

# Start with Gnomon enabled
tela-cli --daemon --gnomon
 
# With fastsync (loads at current chain height)
tela-cli --daemon --gnomon --fastsync=true
 
# Control parallel block processing
tela-cli --daemon --gnomon --num-parallel-blocks=3

Debug Mode

# Enable debug output
tela-cli --debug

Combined Flags

# Full development setup
tela-cli --simulator --gnomon --debug
 
# Production setup
tela-cli --mainnet --daemon=127.0.0.1:10102 --gnomon --num-parallel-blocks=1
 
# Quick testing
tela-cli --testnet --wallet=./test-wallet.db --gnomon

Updating TELA-CLI

Update from Source

# Update to latest version
go install github.com/civilware/tela/cmd/tela-cli@latest
 
# Verify update
tela-cli --help

Update from Git

# If you cloned the repository
cd tela
git pull origin main
cd cmd/tela-cli
go build .

Troubleshooting Installation

Issue: "go: command not found"

Solution: Install Go from golang.org (opens in a new tab)

# Verify installation
go version

Issue: "tela-cli: command not found"

Solutions:

  1. Check if installed:

    ls $(go env GOPATH)/bin/tela-cli
  2. Add to PATH:

    export PATH=$PATH:$(go env GOPATH)/bin
  3. Use full path:

    $(go env GOPATH)/bin/tela-cli

Issue: "cannot find package"

Solution:

# Clear module cache
go clean -modcache
 
# Reinstall
go install github.com/civilware/tela/cmd/tela-cli@latest

Issue: "build failed: missing dependencies"

Solution:

cd tela/cmd/tela-cli
go mod tidy
go mod download
go build .

Issue: "permission denied"

macOS/Linux:

# Make executable
chmod +x tela-cli
 
# Or install to user directory
go install github.com/civilware/tela/cmd/tela-cli@latest

Windows:

# Run as Administrator
# Right-click Command Prompt → Run as Administrator

Platform-Specific Notes

macOS

Apple Silicon (M1/M2/M3):

# Go should auto-detect arm64
# Verify architecture
go env GOARCH  # Should show: arm64
 
# Install normally
go install github.com/civilware/tela/cmd/tela-cli@latest

Intel Macs:

# Should work out of the box
go install github.com/civilware/tela/cmd/tela-cli@latest

Linux

Common distributions:

# Ubuntu/Debian
sudo apt update
sudo apt install golang-go
go install github.com/civilware/tela/cmd/tela-cli@latest
 
# Fedora/RHEL
sudo dnf install golang
go install github.com/civilware/tela/cmd/tela-cli@latest
 
# Arch Linux
sudo pacman -S go
go install github.com/civilware/tela/cmd/tela-cli@latest

Windows

PowerShell:

# Install Go from golang.org first
# Then install TELA-CLI
go install github.com/civilware/tela/cmd/tela-cli@latest
 
# Add to PATH (run as Administrator)
$oldPath = [Environment]::GetEnvironmentVariable('Path', 'Machine')
$newPath = $oldPath + ';' + (go env GOPATH) + '\bin'
[Environment]::SetEnvironmentVariable('Path', $newPath, 'Machine')

WSL (Windows Subsystem for Linux):

# Same as Linux installation
go install github.com/civilware/tela/cmd/tela-cli@latest

Post-Installation

Recommended Setup

  1. Install DERO Daemon:

    # Download from https://github.com/deroproject/derohe/releases
    # Run for your network
    derod --simulator  # or --testnet, or mainnet (no flag)
  2. Create Development Wallet:

    # For simulator/testnet
    dero-wallet-cli --wallet-file=./dev-wallet.db
  3. Test TELA-CLI:

    tela-cli --simulator --gnomon

Quick Start Commands

# Start TELA-CLI
tela-cli
 
# Connect to simulator
» endpoint simulator
 
# Start indexer
» gnomon start
 
# Search for content
» search all
 
# Serve an app
» serve [some-scid]

Uninstallation

Remove TELA-CLI

# Remove binary
rm $(go env GOPATH)/bin/tela-cli
 
# Remove data (optional - this deletes all cloned content!)
rm -rf ~/.local/share/tela/  # macOS/Linux
# or
rmdir /s %APPDATA%\tela  # Windows

Next Steps

🚀

Ready to Go! You now have TELA-CLI installed. Continue with the Launch Tutorial to deploy your first decentralized application!