Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bitceptron/bitceptron_iso
An air-gapped GUI suite for the coldest bitcoin custody.
https://github.com/bitceptron/bitceptron_iso
bitcoin bitcoin-wallet
Last synced: 3 months ago
JSON representation
An air-gapped GUI suite for the coldest bitcoin custody.
- Host: GitHub
- URL: https://github.com/bitceptron/bitceptron_iso
- Owner: bitceptron
- Created: 2024-09-29T04:53:47.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-15T16:38:42.000Z (3 months ago)
- Last Synced: 2024-10-16T22:48:19.546Z (3 months ago)
- Topics: bitcoin, bitcoin-wallet
- Language: Rust
- Homepage:
- Size: 190 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bitceptron ISO
This is currently a work in progress. Our target is to build a suite of easy-to-use bitcoin tools concentrated on bridging the gap between technical rigor and usability, via commonsensical abstractions.
We are using [Dioxus](https://github.com/DioxusLabs/dioxus) as our GUI.
# Collaboration
If you want to be part of this project, please do let us know by sending an email to [[email protected]](mailto:[email protected]).
# Usage
As the first part, we have started with tychentropy. You can throw an n-sided dice where n >= 2 and make entropy for your BIP39 mnemonic. You can mix your physical entropy with RNGs from ring and rand, two leading RNGs in rust ecosystem. Tychentropy also performs statistical tests (those which need at least 128 bits) on your entropy to see if there is any divergence from a random distribution those test can detect (By no means exhaustive).
You can download executables for Mac, Windows and Ubuntu Linux from the [Releases page](https://github.com/bitceptron/bitceptron_iso/releases/tag/v0.0.0-alpha.1.).
# Build from source
## Prerequisites
1. Install rust if you have not already: https://www.rust-lang.org/tools/install
2. Install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
3. Install the tailwind css cli: https://tailwindcss.com/docs/installation## MacOS and Linux
1. Install dioxus-cli by running the following command:
```bash
cargo install [email protected]
```2. Download this repository from github.
3. Enter into the downloaded repository's root folder.
4. Copy the contents of `Dioxus_mac_linux.toml` into `Dioxus.toml`.
5. Open a terminal and run the following command in the root of the project to start the tailwind CSS compiler:```bash
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
```6. To build bundled executables, open another terminal in the project root and run the following command:
```bash
dx bundle --release --platform desktop
```7. You can find the executables in the following path:
```bash
[repo root]/dist/bundle/
```## Windows
1. Install dioxus-cli by running the following command:
```bash
cargo install [email protected]
```2. Download this repository from github.
3. Enter into the downloaded repository's root folder.
4. Copy the contents of `Dioxus_windows.toml` into `Dioxus.toml`.
5. In `Cargo.toml` edit out the pre-release versioning in `[package]`, `[version]` section, e.g, edit `version = "0.0.0-alpha.1"` to `version = "0.0.0"`.
6. Run the following command in the root of the project to start the tailwind CSS compiler:```bash
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
```7. To build bundled executables run the following command:
```bash
dx bundle --release --platform desktop
```8. You can find the executables in the following path:
```bash
[repo root]/dist/bundle/
```# Development
1. Install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
2. Install the tailwind css cli: https://tailwindcss.com/docs/installation
3. Open a terminal and run the following command in the root of the project to start the tailwind CSS compiler:```bash
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
```4. Open another terminal in the project root and run the following command:
```bash
dx serve --hot-reload --platform desktop
```# TODO:
## Overall
1. Automate CI/CD for Mac/Linux/Windows bundling.
## Tychentropy
1. QR output for mnemonics. Not to scan but engrave.
2. Side channel protection.
3. Going constant-time is any good?
4. Select datum instead of entering via keyboard.
5. Maybe an option for a complete diehard test on RNGs for the truly paranoids (rational beings).