{"id":15146791,"url":"https://github.com/vtnerd/monero-lws","last_synced_at":"2025-04-05T20:07:01.150Z","repository":{"id":37007672,"uuid":"288854053","full_name":"vtnerd/monero-lws","owner":"vtnerd","description":"Monero Light Wallet Server (scans monero viewkeys and implements mymonero API). Fast LMDB backend.","archived":false,"fork":false,"pushed_at":"2025-02-25T00:44:29.000Z","size":722,"stargazers_count":84,"open_issues_count":19,"forks_count":32,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-29T18:07:35.937Z","etag":null,"topics":["cxx","cxx17","lmdb","monero","monero-wallet"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vtnerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-19T22:52:23.000Z","updated_at":"2025-03-12T07:02:53.000Z","dependencies_parsed_at":"2023-02-13T23:05:12.323Z","dependency_job_id":"3849f02c-6402-4298-974c-fbb5b311be96","html_url":"https://github.com/vtnerd/monero-lws","commit_stats":{"total_commits":121,"total_committers":9,"mean_commits":"13.444444444444445","dds":"0.44628099173553715","last_synced_commit":"62d34252777debbd33247c8f64860fe3e31f4e95"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtnerd%2Fmonero-lws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtnerd%2Fmonero-lws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtnerd%2Fmonero-lws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtnerd%2Fmonero-lws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vtnerd","download_url":"https://codeload.github.com/vtnerd/monero-lws/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931812,"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":["cxx","cxx17","lmdb","monero","monero-wallet"],"created_at":"2024-09-26T12:04:53.766Z","updated_at":"2025-04-05T20:07:01.124Z","avatar_url":"https://github.com/vtnerd.png","language":"C++","funding_links":[],"categories":["Tools"],"sub_categories":["Other Wallets"],"readme":"# monero-lws\n\n\u003e This project is **NOT** a part of the official monero \"core\" code, but will\n\u003e hopefully be merged into that project as a new repository seperate from the\n\u003e [`monero-project/monero`](https://github.com/monero-project/monero)\n\u003e repository.\n\n## Table of Contents\n\n  - [Introduction](#introduction)\n  - [About this project](#about-this-project)\n  - [License](#license)\n  - [Compiling Monero-lws from source](#compiling-monero-lws-from-source)\n    - [Dependencies](#dependencies)\n\n\n## Introduction\n\nMonero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so.\n\n**Privacy:** Monero uses a cryptographically sound system to allow you to send and receive funds without your transactions being easily revealed on the blockchain (the ledger of transactions that everyone has). This ensures that your purchases, receipts, and all transfers remain absolutely private by default.\n\n**Security:** Using the power of a distributed peer-to-peer consensus network, every transaction on the network is cryptographically secured. Individual wallets have a 25 word mnemonic seed that is only displayed once, and can be written down to backup the wallet. Wallet files are encrypted with a passphrase to ensure they are useless if stolen.\n\n**Untraceability:** By taking advantage of ring signatures, a special property of a certain type of cryptography, Monero is able to ensure that transactions are not only untraceable, but have an optional measure of ambiguity that ensures that transactions cannot easily be tied back to an individual user or computer.\n\n**Decentralization:** The utility of monero depends on its decentralised peer-to-peer consensus network - anyone should be able to run the monero software, validate the integrity of the blockchain, and participate in all aspects of the monero network using consumer-grade commodity hardware. Decentralization of the monero network is maintained by software development that minimizes the costs of running the monero software and inhibits the proliferation of specialized, non-commodity hardware.\n\n\n## About this project\n\nThis is an implementation of the [Monero light-wallet REST API](https://github.com/monero-project/meta/blob/master/api/lightwallet_rest.md)\n(i.e. MyMonero compatible). Clients can submit their Monero viewkey via the REST\nAPI, and the server will scan for incoming Monero blockchain transactions.\n\nDifferences from [OpenMonero](https://github.com/moneroexamples/openmonero):\n  - LMDB instead of MySQL\n  - View keys stored in database - scanning occurs continuously in background\n  - Uses ZeroMQ interface to `monerod` with chain subscription (\"push\") support\n  - Uses amd64 ASM acceleration from Monero project, if available\n\n\n## License\n\nSee [LICENSE](LICENSE).\n\n\n## Compiling Monero-lws from source\n\n### Dependencies\n\nThe following table summarizes the tools and libraries required to build. A\nfew of the libraries are also included in this repository (marked as\n\"Vendored\"). By default, the build uses the library installed on the system,\nand ignores the vendored sources. However, if no library is found installed on\nthe system, then the vendored source will be built and used. The vendored\nsources are also used for statically-linked builds because distribution\npackages often include only shared library binaries (`.so`) but not static\nlibrary archives (`.a`).\n\n| Dep          | Min. version  | Vendored | Debian/Ubuntu pkg    | Arch pkg     | Void pkg           | Fedora pkg          | Optional | Purpose         |\n| ------------ | ------------- | -------- | -------------------- | ------------ | ------------------ | ------------------- | -------- | --------------- |\n| GCC          | 4.7.3         | NO       | `build-essential`    | `base-devel` | `base-devel`       | `gcc`               | NO       |                 |\n| CMake        | 3.1           | NO       | `cmake`              | `cmake`      | `cmake`            | `cmake`             | NO       |                 |\n| Boost        | 1.70          | NO       | `libboost-all-dev`   | `boost`      | `boost-devel`      | `boost-devel`       | NO       | C++ libraries   |\n| monero       | 0.15          | NO       |                      |              |                    |                     | NO       | Monero libraries|\n| OpenSSL      | basically any | NO       | `libssl-dev`         | `openssl`    | `libressl-devel`   | `openssl-devel`     | NO       | sha256 sum      |\n| libzmq       | 3.0.0         | NO       | `libzmq3-dev`        | `zeromq`     | `zeromq-devel`     | `zeromq-devel`      | NO       | ZeroMQ library  |\n| Doxygen      | any           | NO       | `doxygen`            | `doxygen`    | `doxygen`          | `doxygen`           | YES      | Documentation   |\n| Graphviz     | any           | NO       | `graphviz`           | `graphviz`   | `graphviz`         | `graphviz`          | YES      | Documentation   |\n\nInstall all dependencies (except `monero-project/monero`) at once on Debian/Ubuntu:\n\n``` sudo apt update \u0026\u0026 sudo apt install build-essential cmake libboost-all-dev libssl-dev libzmq3-dev doxygen graphviz```\n\nFreeBSD 12.1 one-liner required to build dependencies:\n```pkg install git gmake cmake pkgconf boost-libs libzmq4```\n\n### Cloning the repository\n\nClone recursively to pull-in needed submodule(s):\n\n`$ git clone --recursive https://github.com/vtnerd/monero-lws.git`\n\nIf you already have a repo cloned, initialize and update:\n\n`$ cd monero-lws \u0026\u0026 git submodule init \u0026\u0026 git submodule update`\n\n### Build instructions\n\nMonero uses the CMake build system and a top-level [Makefile](Makefile) that\ninvokes cmake commands as needed.\n\n#### On Linux and macOS\n\n* Install the dependencies. The [`monero`](https://github.com/monero-project/monero)\n  dependency should be cloned and built according to the `README.md` of that\n  project.\n* Change to the root of the source code directory, change to the most recent develop branch, and build:\n\n    ```bash\n    cd monero-lws\n    git checkout develop\n    mkdir build \u0026\u0026 cd build\n    cmake -DMONERO_SOURCE_DIR=~/monero -DMONERO_BUILD_DIR=~/monero/build ..\n    make\n    ```\n\n    *Optional*: If your machine has several cores and enough memory, enable\n    parallel build by running `make -j\u003cnumber of threads\u003e` instead of `make`. For\n    this to be worthwhile, the machine should have one core and about 2GB of RAM\n    available per thread.\n\n    *Note*: The instructions above will compile the development release of the\n    Monero-lws software.\n\n* The resulting executables can be found in `build/src`\n\n* Add `PATH=\"$PATH:$HOME/monero-lws/build/src\"` to `.profile`\n\n* Run Monero-lws with `monero-lws-daemon`\n\nDependencies need to be built with -fPIC. Static libraries usually aren't, so you may have to build them yourself with -fPIC. Refer to their documentation for how to build them.\n\n* **Optional**: build documentation in `doc/html` (omit `HAVE_DOT=YES` if `graphviz` is not installed):\n\n    ```bash\n    HAVE_DOT=YES doxygen Doxyfile\n    ```\n\n## Running monero-lws-daemon\n\nThe build places the binary in `src/` sub-directory within the build directory\nfrom which cmake was invoked (repository root by default). To run in\nforeground:\n\n```bash\n./src/monero-lws-daemon\n```\n\nTo list all available options, run `./src/monero-lws-daemon --help`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtnerd%2Fmonero-lws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvtnerd%2Fmonero-lws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtnerd%2Fmonero-lws/lists"}