One binary for everything: the unified xe CLI

v0.4.1 folded four tools into a single xe command: run a node, hold a wallet, lease a machine and SSH into it, all from one binary.

1 min read

  • XE Protocol

Machine-readable: /blog/one-binary-for-everything.md

Until v0.4.1, working with XE meant juggling xe-node, cli, xe-tool and xe-lease-tool. They're now one binary, xe, with fifteen commands and no interactive REPL.

Shell
xe node        # run a node
xe wallet      # create or inspect a wallet
xe fund        # claim testnet XUSD
xe send        # send to another account
xe providers   # list machines with capacity
xe lease       # lease one
xe ssh         # and get a shell on it

A client you can reuse#

The HTTP client the CLI uses now lives in its own client/ package, so your own tools can talk to a node the same way the CLI does.

Quieter, safer nodes#

  • Network ID in every block hash. Blocks can't be replayed across networks, or leak between testnet epochs after a wipe.
  • Idle sync is silent. Periodic sync skips peers whose frontiers haven't changed: zero sync traffic at rest.
  • Block quarantine. A block that's permanently invalid is quarantined after the first rejection instead of being revalidated forever.
  • SSH end to end. The SSH gateway supports ProxyJump, so your client negotiates directly with the VM's sshd through the tunnel.

Install instructions and every command's flags are in the CLI docs.

  • Written by

    XE Protocol

    Core engineering

    The engineers behind the XE node: the lattice, consensus, and compute leasing.

    GitHub ↗

←All posts

Read more like this

Newsletter

New posts, straight to your inbox.

Releases, protocol deep dives and the occasional opinion. Nothing else, and you can leave any time.