smapp icon indicating copy to clipboard operation
smapp copied to clipboard

Spacemesh App (Smesher + Wallet) 🏦📊

Lint And Build Pass

 

Smapp - the Spacemesh App 🏦📊

Smesher UI + Wallet

Browse Gitcoin Bounties

This repo includes the source code for the Spacemesh App. A desktop application for Windows 10, OS X and Linux which includes a Smesher and a basic wallet. The main artifects of this repo are the app and an app installer for all supported platforms.

Installation & Quick Start

Download the latest Smapp release from Spacemesh Website.

Building from Source

Smapp is written in TypeScript and bundled within Electron. You need Node.js (v12) and Yarn to build from source. Make sure they are available on your system.

  1. Clone the repository
  2. Read node/use-version file: this is the version of go-spacemesh that should be used
  3. Download the specified version from Go-spacemesh Releases
  4. Put the binary in either node/windows, node/mac, or node/linux folder, depending on you platform
  5. Run yarn to install dependencies
  6. Run yarn start to start the application in development mode

To build and pack application:

  1. Run yarn build
  2. Run one of the commands depending on your platform:
    • yarn package-win
    • yarn package-mac set env variable DONT_SIGN_APP=1 to skip notarizing the app,
    • yarn package-linux

To run the application against DevNet you have to set URL to config file to env variable DEV_NET_URL:

DEV_NET_URL=https://.../config.json yarn start

To run the application against DevNet in the Wallet Only mode you have to also set URL (or list of URLs separated by commas) to GRPC API provider to env variable DEV_NET_REMOTE_API:

DEV_NET_REMOTE_API=https://192.168.0.1:31030 DEV_NET_URL=https://.../config.json yarn start
DEV_NET_REMOTE_API=https://192.168.0.1:31030,http://192.168.0.2:31035 DEV_NET_URL=https://.../config.json yarn start

To run Smapp on dev with turned on Sentry specify required env variables:

SENTRY_DSN='collection errors/logs url taken from sentry'
SENTRY_AUTH_TOKEN='special auth token for sentry cli integration'
SENTRY_LOG_LEVEL=boolean # enables debug information

Building Artifacts in CI

Smapp uses two workflows. Both of them builds an application for all supported platforms: windows, macOS, linux.

  • PR builds Triggered by open Pull Request and any further changes on the branch. For testing and development purposes only. Unsigned and can not be trusted. Artifacts and links a temporary. Links to artifacts posted by the bot in comments.
  • Release builds Triggered by tag v*. Public releases of Smapp. Signed for macOS and Windows platforms. Artifacts and links should be permanent. CI prepares a draft release with links to the artifacts.

Run Spacemesh app on Ubuntu

For Ubuntu plarform the Electron has an issue with set up , if u have a smapp version latter 2.0.5 and u want to run it on the Ubuntu > 22.04 platform , please provide --no-sandbox flag

command: /opt/Spacemesh/spacemesh_app --no-sandbox