{"id":25007953,"url":"https://github.com/spacemeshos/smapp","last_synced_at":"2025-04-12T17:13:13.293Z","repository":{"id":38083425,"uuid":"169250432","full_name":"spacemeshos/smapp","owner":"spacemeshos","description":"Spacemesh App (Smesher + Wallet) 🏦📊","archived":false,"fork":false,"pushed_at":"2025-03-26T16:37:20.000Z","size":345278,"stargazers_count":132,"open_issues_count":115,"forks_count":42,"subscribers_count":22,"default_branch":"develop","last_synced_at":"2025-04-12T17:12:51.413Z","etag":null,"topics":["dashboard","electron","javascript","react","wallet"],"latest_commit_sha":null,"homepage":"https://spacemesh.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spacemeshos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-05T14:03:04.000Z","updated_at":"2025-03-28T10:05:45.000Z","dependencies_parsed_at":"2024-01-02T13:46:20.744Z","dependency_job_id":"5a27b668-9a73-4bb7-959a-d0f5eeda62de","html_url":"https://github.com/spacemeshos/smapp","commit_stats":null,"previous_names":[],"tags_count":238,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacemeshos%2Fsmapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacemeshos%2Fsmapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacemeshos%2Fsmapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacemeshos%2Fsmapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spacemeshos","download_url":"https://codeload.github.com/spacemeshos/smapp/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602312,"owners_count":21131616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","electron","javascript","react","wallet"],"created_at":"2025-02-05T02:56:21.048Z","updated_at":"2025-04-12T17:13:13.274Z","avatar_url":"https://github.com/spacemeshos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Latest Release](https://img.shields.io/github/v/release/spacemeshos/smapp)\n[![CodeQL](https://github.com/spacemeshos/smapp/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/spacemeshos/smapp/actions/workflows/codeql-analysis.yml)\n[![Discord](https://img.shields.io/discord/623195163510046732?label=discord\u0026logo=discord)](http://chat.spacemesh.io/)\n[![made by](https://img.shields.io/badge/madeby-spacemeshos-blue.svg)](https://spacemesh.io)\n![GitHub License](https://img.shields.io/github/license/spacemeshos/smapp)\n\n\u003ch1 align=\"center\"\u003e\n  \u003cp align=\"center\"\u003eSmapp - the Spacemesh App 🏦📊\u003c/p\u003e\n  \u003cp align=\"center\"\u003eSmesher UI + Wallet\u003c/p\u003e\n  \u003cimg width=\"10%\" src=\"resources/transparentbg.gif\" /\u003e\n\u003c/h1\u003e\n\nThis 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 artifacts of this repo are the app and an app installer for all supported platforms.\n\n**Important note: Currently, Smapp does not support Hardware Wallets. This feature will be implemented in the future, but until then we highly recommend using [SMCLI](https://github.com/spacemeshos/smcli) to generate the necessary keys for your ledger setup.**\n\n**Also, the Wallet-only mode is temporarily disabled.**\n\n## Installation \u0026 Quick Start\n\nDownload the latest Smapp release from [Spacemesh Website](https://spacemesh.io/start/).\n\nFor the installation guide, [follow this link.](https://spacemesh.io/start/#spacemesh-app)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"80%\" src=\"resources/smapp_app_wallet.png\" /\u003e\n\u003c/p\u003e\n\n### Building from Source\n\nSmapp is written in TypeScript and bundled within Electron. You need Node.js (v12) and Yarn to build from the source. Make sure they are available on your system.\n\n1. Clone the repository\n2. Read `node/use-version` file: this is the version of `go-spacemesh` that should be used\n3. Download the specified version from [Go-spacemesh Releases](https://github.com/spacemeshos/go-spacemesh/releases)\n4. Put the binary in either `node/windows`, `node/mac`, or `node/linux` folder, depending on your platform\n5. Run `yarn` to install dependencies\n6. Run `yarn start` to start the application in development mode\n\nTo build and pack the application:\n\n1. Run `yarn build`\n2. Run one of the commands depending on your platform:\n   - `yarn package-win`\n   - `yarn package-mac`\n     set env variable `DONT_SIGN_APP=1` to skip notarizing the app,\n   - `yarn package-linux`\n\n### Arguments\n\nSmapp can be started with additional arguments:\n\n- `--discovery` (string)\n  _e.g._ `./Spacemesh --discovery=http://localhost:8000/networks.json`\n  Specifies custom url to a custom networks list. It makes it possible for Smesher to connect to custom networks.\n  Env variable alias: `DISCOVERY_URL`\n- `--pprof-server` (boolean)\n  _e.g._ `./Spacemesh --pprof-server`\n  It makes Smapp runs go-spacemesh with the `--pprof-server` flag.\n  Env variable alias: `PPROF_SERVER`\n- `--test-mode` (boolean)\n  _e.g._ `./Spacemesh --test-mode`\n  It runs Smapp and the Node under the hood in standalone mode, making it much easier to test and debug the application.\n  Env variable alias: `TEST_MODE`\n- `--check-interval` (number)\n  _e.g._ `./Spacemesh --check-interval=60` to check for updates every 60 seconds\n  Smapp checks every N seconds for the software updates and new config.\n  If a new config arrived — it automatically merges it with the custom User settings and\n  restarts the Node.\n  Default: `3600` seconds, or every hour\n\nTo run the application in dev mode with the same behavior set env variables instead:\n\n```\nPPROF_SERVER=1 DISCOVERY_URL=http://localhost:8000/networks.json yarn start\n```\n\n### Environment Variables\n\n#### Connect to custom networks:\n\n```\nDISCOVERY_URL=http://localhost:8000/networks.json yarn start\n```\n\nAlias for `--discovery` argument.\n\n\u003cdetails\u003e\n    \u003csummary\u003eDeprecated\u003c/summary\u003e\n\n\u003e To run the application against DevNet you have to set URL to the config file to env variable `DEV_NET_URL`:\n\u003e\n\u003e ```\n\u003e DEV_NET_URL=https://.../config.json yarn start\n\u003e ```\n\u003e\n\u003e To run the application against DevNet in the Wallet Only mode you have to also set the URL (or list of URLs separated by commas) to GRPC API provider to env variable `DEV_NET_REMOTE_API`:\n\u003e\n\u003e ```\n\u003e export DEV_NET_REMOTE_API=https://192.168.0.1:31030\n\u003e export DEV_NET_URL=https://.../config.json\n\u003e yarn start\n\u003e ```\n\n\u003c/details\u003e\n\n#### Profiling Node\n\n```\nPPROF_SERVER=1 yarn start\n```\n\nAlias for `--pprof-server` argument.\n\n#### Building Artifacts in CI\n\nSmapp uses two workflows. Both of them build an application for all supported platforms: Windows, macOS, and Linux.\n\n- **PR builds**\n  Triggered by open Pull Request and any further changes on the branch.\n  For testing and development purposes only.\n  Unsigned and can not be trusted.\n  Artifacts and links a temporary.\n  Links to artifacts posted by the bot in comments.\n- **Release builds**\n  Triggered by tag `v*`.\n  Public releases of Smapp.\n  Signed for macOS and Windows platforms.\n  Artifacts and links should be permanent.\n  CI prepares a draft release with links to the artifacts.\n\n---\n\n- [Roadmap \u0026amp; product details](https://product.spacemesh.io/)\n- [Platform documentation](https://platform.spacemesh.io/)\n- [Spacemesh improvement proposals](https://github.com/spacemeshos/SMIPS)\n\n### Run the Spacemesh app on Ubuntu\n\nWe recommend choosing AppImage as it is not possible to embed certain features in the .deb package.\nFor the Ubuntu platform Electron has an issue with setup, if you want to run it on the Ubuntu \u003e 22.04 platform, please provide ``--no-sandbox`` flag\n\n**command:**\n``/opt/Spacemesh/spacemesh_app --no-sandbox``\n\n---\n\n## Troubleshooting\n\n### The first thing to check if you encounter any issues with Smapp\n\n- Check the Release Notes on GitHub - you might find there the information about the known issues and workarounds to them.\n- We recommend visiting https://status.spacemesh.io/, to see if Spacemesh Team is already working on this issue.\n- Check the Smapp version -it should always come from the official source and be the latest released package, update it if needed.\n- If you have the latest version, restart Smapp and check if the issue remains.\n- The GPU drivers should be up to date; please check if you have the latest release. For NVIDIA, it should be version 525 (currently).\n- Check our [Discord](https://discord.com/channels/623195163510046732/691261757921951756) chats, the issue might have been discussed there.\n\nAdditionally:\n\n### Windows:\n\n- The following directories should be removed in case of reinstallation from scratch:\n\n  ``C:\\Users\\{USERNAME}\\AppData\\Local\\Programs\\Spacemesh`` or your installation path\n\n  ``C:\\Users\\{USERNAME}\\AppData\\Roaming\\Spacemesh``\n- Remove the PoS data directory if you want to remove/recreate PoS data:\n\n  ``C:\\Users\\{USERNAME}\\post\\{GENESIS_ID}`` or your PoS directory path\n\n  Where `{GENESIS_ID}` is first 8 chars from the HexString. Eg `7c8cef2b`\n- The latest Visual C++ Redist should be installed\n- Check the Firewall settings, and amend them if needed\n\n### Linux:\n\n- The following directories should be removed in case of reinstallation from scratch:\n\n  ``/opt/Spacemesh`` (deb) or ``~/Applications/Spacemesh-...`` (AppImage) or your installation path\n\n  ``~/.config/Spacemesh``\n- Remove the PoS data directory if you want to remove/recreate PoS data:\n\n  ``~/post/{GENESIS_ID}`` or your PoS directory path\n\n  Where `{GENESIS_ID}` is first 8 chars from the HexString. Eg `7c8cef2b`\n- We recommend using AppImage as some features cannot be embedded into a .deb package.\n- If you are using Ubuntu, check the OS version. We recommend at least 22.04\n- Glibc and other libraries should be up to date\n\n### macOS:\n\n- The following directories should be removed in case of reinstallation from scratch:\n\n  ``/Applications/Spacemesh`` or your installation path\n\n  ``~/Library/Application\\ Support/Spacemesh``\n- Remove the PoS data directory if you want to remove/recreate PoS data:\n\n  ``~/post/{GENESIS_ID}`` or your PoS directory path\n\n  Where `{GENESIS_ID}` is first 8 chars from the HexString. Eg `7c8cef2b`\n- Check if the incoming connections aren’t blocked for go-spacemesh\n\n## CLI-tools\n\nThese tools are created for debugging and development purposes.\nThey are not supposed to be used in the production (on real and valuable data).\nSo use it at your own risk.\n\n### `yarn script:composeTx`\n\nCompose the transaction (and sign if needed).\n\n### `yarn script:decomposeTx`\n\nDecompose the transaction (byte array) to the human-readable structure (JSON)\n\n### `yarn script:readSecrets`\n\nRead secrets from the wallet file.\nFor example, if you need to export private keys or mnemonics.\n\n### `yarn script:addViewAccount`\n\nAdd a public key to the wallet file.\nIt makes it possible to track someone else transactions and rewards.\nPay attention that Smapp does not fully support such kinds of accounts.\nSo in case you try to sign a message or publish a transaction — unhandled exceptions will occur.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacemeshos%2Fsmapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspacemeshos%2Fsmapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacemeshos%2Fsmapp/lists"}