{"id":21528534,"url":"https://github.com/fibercrypto/fibercryptowallet","last_synced_at":"2025-10-15T15:58:49.387Z","repository":{"id":100093121,"uuid":"169017412","full_name":"fibercrypto/fibercryptowallet","owner":"fibercrypto","description":"Multi-coin cryptocurrency wallet","archived":false,"fork":false,"pushed_at":"2020-12-06T06:56:57.000Z","size":43280,"stargazers_count":29,"open_issues_count":86,"forks_count":15,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2025-09-07T03:37:01.187Z","etag":null,"topics":["bitcoin","cryptocurrency","cryptocurrency-wallet","cryptocurrency-wallets","ethereum","skycoin"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fibercrypto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.GPLv3","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":"2019-02-04T02:15:18.000Z","updated_at":"2024-11-12T18:25:20.000Z","dependencies_parsed_at":"2023-05-23T06:45:53.526Z","dependency_job_id":null,"html_url":"https://github.com/fibercrypto/fibercryptowallet","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fibercrypto/fibercryptowallet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibercrypto%2Ffibercryptowallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibercrypto%2Ffibercryptowallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibercrypto%2Ffibercryptowallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibercrypto%2Ffibercryptowallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fibercrypto","download_url":"https://codeload.github.com/fibercrypto/fibercryptowallet/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibercrypto%2Ffibercryptowallet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279090427,"owners_count":26101212,"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","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bitcoin","cryptocurrency","cryptocurrency-wallet","cryptocurrency-wallets","ethereum","skycoin"],"created_at":"2024-11-24T01:53:34.920Z","updated_at":"2025-10-15T15:58:49.371Z","avatar_url":"https://github.com/fibercrypto.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FiberCrypto wallet\n\n[![Build Status](https://travis-ci.org/fibercrypto/fibercryptowallet.svg?branch=develop)](https://travis-ci.org/fibercrypto/fibercryptowallet)\n[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE.GPLv3)\n[![Coverage Status](https://coveralls.io/repos/github/fibercrypto/FiberCryptoWallet/badge.svg?branch=develop)](https://coveralls.io/github/fibercrypto/FiberCryptoWallet?branch=develop)\n\nFiberCrypto wallet is a cryptocurrency software wallet aimed at:\n\n- Provide easy-to-use interactions to users\n- State\n- Out-of-the-box support for every SkyFiber token in a single place\n- Support other altcoins\n- Facilitate exchange of crypto assets\n- Buy and sell supported crypto assets using fiat (e.g. USD, GBP, EUR, ...)\n- Integrations with trading tools\n- Offer basic blockchain-specific tools\n\n## Development\n\n### Project folder structure\n\nProject files are organized as follows:\n\n- `main.go` : Application entry point\n- `CHANGELOG.md` : Project changelog\n- `Makefile` : Project build rules\n- `README.md` : This file.\n- `*.qrc` : QML resource index files.\n- `qtquickcontrols2.conf` : QT Quick controls configuration file.\n- `./resources` : Static resources.\n- `./resources/images` : Graphics resources needed by the application.\n- `./resources/images/icons` : Project and third-party icons\n- `./resources/fonts` : Font files needed to compile the application.\n- `./src` : Application source code.\n- `./src/ui` : QML definitions for application GUI components.\n- `./src/ui/Dialogs` : QML definitions for reusable dialogs.\n- `./src/ui/Delegates` : QML specs for partial views.\n- `./src/core` : Core go-lang interfaces.\n- `./src/main` : Project specific source code.\n- `./src/util` : Reusable code.\n- `./src/util/logging` : Event logging infrastructure.\n- `./src/models` : QT models linking coin-specific models to application GUI.\n- `./src/coin` : Source code for altcoin integrations.\n- `./src/coin/mocks` : Types implementing `core` interfaces for generic testing scenarios\n- `./src/coin/skycoin` : Skycoin wallet integration\n- `./src/coin/skycoin/models` : Skycoin implementation of golang core interfaces.\n- `./src/coin/skycoin/blockchain` : Skycoin blockchain API.\n- `./src/coin/skycoin/sign` : Skycoin sign API.\n- `./vendor` : Project dependencies managed by `dep`.\n\n### Architecture\n\nFiberCrypto wallet supports multiple altcoins. In order to cope with this complexity GUI code and QT models rely on strict interfaces which shall be implemented to add support for a given coin. Each such integration must have two main components:\n\n- `Models API`: Implements application core interfaces.\n- `Sign API` : Implements altcoin transaction and message signing primitives required by application code.\n- `Blockchain API` : Provides communication between application and altcoin service nodes to query for data via REST, JSON-RPC and other similar low-level client-server API.\n- `Peer-exchange API` (optional): Implements peer-to-peer interactions with altcoin blockchain nodes.\n\n### Build System\n\nThe build system is [Qt framework](https://www.qt.io/ \"The Qt Company\"). The front-end is programmed in [QML](http://doc.qt.io/qt-5/qmlapplications.html \"QML Applications\"), and the back-end in [Go](https://golang.org/ \"The Go Programming Language\"), using [therecipe/qt](https://github.com/therecipe/qt/ \"therecipe/qt\").\n\n#### Requirements\n\nWindows requires the command line tool `magick convert`, that comes with the open-source [ImageMagick](https://imagemagick.org) project in order to build the icons (not necessary as default icons are always provided)\n\n##### Qt version\n\n[Linux/X11 requirements](http://doc.qt.io/qt-5/linux.html)  \n[MacOS requirements](http://doc.qt.io/qt-5/macos.html)  \n[Windows requirements](http://doc.qt.io/qt-5/windows.html)  \n\nThe minimum Qt version required is [Qt 5.12.0 LTS](https://download.qt.io/archive/qt/5.12/5.12.0/ \"Qt Archive\"). However, is highly recommended using [Qt 5.12.1 LTS](https://download.qt.io/archive/qt/5.12/5.12.1/ \"Qt Archive\") or any later version of Qt5 due to some bugs:  \n- [QTBUG-68156](https://bugreports.qt.io/browse/QTBUG-68156 \"Incompatible version of OpenSSL on Ubuntu 18.04\")  \n- [QTBUG-72811](https://bugreports.qt.io/browse/QTBUG-72811 \"[Reg 5.11 -\u003e 5.12] QQC2 buttons not react to click when holding for about a second\")\n\nWe always recommend using the latest Qt version. See [Qt Archive](https://download.qt.io/archive/qt/ \"Qt Archive\").\n\n#### Make targets\n\nCommon actions are automated with the help of `make`. The following targets have been implemnented:\n\n```\ndeps                           Add dependencies\nrun                            Run FiberCrypto Wallet.\ninstall-deps-no-envs           Install therecipe/qt with -tags=no_env set\ninstall-docker-deps            Install docker images for project compilation using docker\ninstall-deps-Linux             Install Linux dependencies\ninstall-deps-Darwin            Install osx dependencies\ninstall-deps-Windows           Install Windowns dependencies\ninstall-deps                   Install dependencies\nbuild-docker                   Build project using docker\nbuild-icon-Windows_NT          Build the application icon in Windows\nbuild-icon-Darwin              Build the application icon in Darwin\nbuild-icon-Linux               Build the application icon in Linux\nbuild-icon                     Build the application icon (Windows_NT and Darwin systems)\nbuild                          Build FiberCrypto Wallet\nprepare-release                Change the resources in the app and prepare to release the app\nclean-test                     Remove temporary test files\nclean-build                    Remove temporary files\nclean                          Remove temporary files\ngen-mocks-core                 Generate mocks for core interface types\ngen-mocks-sky                  Generate mocks for internal Skycoin types\ngen-mocks                      Generate mocks for interface types\ntest-sky                       Run Skycoin plugin test suite\ntest-core                      Run tests for API core and helpers\ntest-data                      Run tests for data package\ntest-cover                     Show more details of test coverage\ntest                           Run project test suite\nrun-docker                     Run CMD inside Docker container\ninstall-linters                Install linters\ninstall-coveralls              Install coveralls\nlint                           Run linters. Use make install-linters first.\n```\n\nType `make help` in your console for details.\n\n## Releases\n\n### Update the version\n\n0. If the `master` branch has commits that are not in `develop` (e.g. due to a hotfix applied to `master`), merge `master` into `develop`\n0. Update `CHANGELOG.md`: move the \"unreleased\" changes to the version and add the date\n0. Update the files in https://github.com/skycoin/repo-info by following the [metadata update procedure](https://github.com/skycoin/repo-info/#updating-skycoin-repository-metadate),\n0. Merge these changes to `develop`\n0. Follow the steps in [pre-release testing](#pre-release-testing)\n0. Make a PR merging `develop` into `master`\n0. Review the PR and merge it\n0. Tag the `master` branch with the version number. Version tags start with `v`, e.g. `v0.1.0`.\n    Sign the tag. If you have your GPG key in github, creating a release on the Github website will automatically tag the release.\n    It can be tagged from the command line with `git tag -as v0.20.0 $COMMIT_ID`, but Github will not recognize it as a \"release\".\n0. Make sure that the app runs properly from the `master` branch\n0. Release builds are created and uploaded by travis. To do it manually, checkout the `master` branch and follow the [create release builds](#creating-release-builds) instructions.\n\nIf there are problems discovered after merging to `master`, start over, and increment the 3rd version number.\nFor example, `v0.1.0` becomes `v0.1.1`, for minor fixes.\n\n### Pre-release testing\n\nPerforms these actions before releasing:\n\n* `make test-sky` Run Skycoin plugin test suite\n* `make test-core` Run tests for API core and helpers\n* `make test-data` Run tests for data package\n* `make test-cover` Show more details of test coverage\n* `make test` Run project test suite\n\n### Creating release builds\n\nTravis should build Linux and MacOS builds and upload to github releases\n\nIf you do it manually, you must follow the next steps:\n\n* `make prepare-release` Change the resources in the app and prepare to release the app\n* `make clean` Remove temporary files\n* `make build` Build FiberCrypto Wallet\n* Compress the content in `deploy` folder and inside that folder \n\n\n## WIP\nThis is a Work-In-Progress.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffibercrypto%2Ffibercryptowallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffibercrypto%2Ffibercryptowallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffibercrypto%2Ffibercryptowallet/lists"}