{"id":15567474,"url":"https://github.com/peterzen/kohola","last_synced_at":"2025-04-24T00:04:32.537Z","repository":{"id":38986136,"uuid":"233960110","full_name":"peterzen/kohola","owner":"peterzen","description":"Multi platform dcrwallet frontend for power users","archived":false,"fork":false,"pushed_at":"2024-03-15T13:49:38.000Z","size":23222,"stargazers_count":4,"open_issues_count":28,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T00:04:22.545Z","etag":null,"topics":["dcrwallet","decred"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterzen.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-01-15T00:01:07.000Z","updated_at":"2022-02-22T23:46:38.000Z","dependencies_parsed_at":"2025-03-06T22:41:39.927Z","dependency_job_id":null,"html_url":"https://github.com/peterzen/kohola","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterzen%2Fkohola","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterzen%2Fkohola/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterzen%2Fkohola/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterzen%2Fkohola/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterzen","download_url":"https://codeload.github.com/peterzen/kohola/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535098,"owners_count":21446508,"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":["dcrwallet","decred"],"created_at":"2024-10-02T17:11:24.033Z","updated_at":"2025-04-24T00:04:32.514Z","avatar_url":"https://github.com/peterzen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Kohola Decred Wallet \n\n\u003cabbr title=\"'Kohola' means 'whale' in Hawaiian\"\u003eKohola\u003c/abbr\u003e (\"whale\" in Hawaiian) is a multi platform Decred wallet application for power users running wallets in dedicated, secure environments.  It connects to existing `dcrwallet` instances; it is particularly tailored to expert users that are familiar with operating advanced setups.  For new users, [Decrediton](https://github.com/decred/decrediton) is a better choice.\n\n## Differences to Decrediton\n\n * It connects to remote `dcrwallet`, does not keep wallet data on the local machine\n * Stores all its configuration in an encrypted form, protecting the user's privacy\n * Supports multiple wallet connections\n * Essential wallet features only\n * Solo staking support\n * Tighter desktop UI integration (OS notifications)\n * No Electron bloat\n\n## Features\n\n![Accounts overview](docs/Screenshot_kohola_2024-01-01_2.png)\n### Coin control\n\n### Security and privacy\n\nKohola protects connection credentials (RPC certificate) and all other connection information by storing its configuration in encrypted form (using AES).  This is optional, but highly recommended, along with a choosing a long, strong passphrase.  The passphrase is prompted when the application is started.\n\n### Solo staking, governance\n\n![Accounts overview](docs/Screenshot_kohola_2024-01-01_1.png)\n\n\n### UTXO and transaction metadata\n\nUnspent transaction outputs (spendable coins) can be labelled individually in order to keep tabs on the observers associated with a transaction.\n\n### Market overview\n\n![Accounts overview](docs/Screenshot_kohola_2024-01-01_3.png)\n\n\n## Implementation\n\nKohola is a hybrid, cross platform application.  Its core that interacts with `dcrwallet` via gRPC is coded in Golang, while the user interface frontend is implemented in TypeScript, using the React and Redux frameworks.  The frontend and the backend communicate over a JSON RPC interface.\n\n## Installation\n\n### `dcrwallet` setup\n\nKohola connects to `dcrwallet` using GRPC, which can be enabled using the `grpclisten` option in `dcrwallet.conf`:\n\n```\ngrpclisten=\u003cIP:port\u003e\nnogrpc=0\nnolegacyrpc=1\n```\n\nBy default, `dcrwallet` listens on port 9111 (mainnet) or 19111 (testnet).  The specified IP and port must be accessible from the client machine.\n\n## Build\n\n### Linux (Debian, Ubuntu)\n\n##### Dependencies:\n\n * `yarn`\n * `golang` 1.17\n * development packages:\n ```\n apt-get install libwebkit2gtk-4.0-dev \\\n\tlibgtk-3-dev \\\n\tlibcairo2-dev \\\n\tlibglib2.0-dev \\\n\tlibayatana-appindicator3-dev \n```\n\nOn Debian Buster, you'll need to install `libappindicator3-dev` instead of `libayatana-appindicator3-dev` for the time being.\n\n`./build-linux.sh`\n\nThere is an experimental `Dockerfile` to build without having to install the dev dependencies:\n\n`docker build -t user/kohola .`\n\n### MacOS\n\n`./build-macos.sh`\n\n\n### Windows\n\nTODO - [contribution welcome](https://github.com/peterzen/kohola/issues/8)\n\n## Development\n\n1. Clone repo\n\n`git clone https://github.com/peterzen/kohola`\n\n2. Build and run React frontend \n\n```\ncd frontend \u0026\u0026 yarn\nyarn start\n```\n\n3. Open another terminal, and build and run app binary\n\n`cd app \u0026\u0026 go build \u0026\u0026 ./kohola`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterzen%2Fkohola","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterzen%2Fkohola","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterzen%2Fkohola/lists"}