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 as our GUI.
If you want to be part of this project, please do let us know by sending an email to [email protected].
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.
![Screenshot 1403-07-14 at 09 42 33](https://private-user-images.githubusercontent.com/139527025/373850683-7463600c-54c0-4c5b-9a34-5b3efd5f6bae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODg2NjcsIm5iZiI6MTczOTE4ODM2NywicGF0aCI6Ii8xMzk1MjcwMjUvMzczODUwNjgzLTc0NjM2MDBjLTU0YzAtNGM1Yi05YTM0LTViM2VmZDVmNmJhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQxMTUyNDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNWM1YjhiZDQ2ODJlOWM0ZTcxZWVjMGE4MzJkM2UzM2JmZTQwNGZmMTRkOWJjMGM1NWJhZmMxNzRhZDYxOWE4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.qhaBJN1B6Puifv551_EGI-Guq1j_Vq24g4YKePhEI-0)
![Screenshot 1403-07-14 at 09 42 54](https://private-user-images.githubusercontent.com/139527025/373850716-8ca70847-8c26-4f6d-b3b3-55f015c7ca54.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODg2NjcsIm5iZiI6MTczOTE4ODM2NywicGF0aCI6Ii8xMzk1MjcwMjUvMzczODUwNzE2LThjYTcwODQ3LThjMjYtNGY2ZC1iM2IzLTU1ZjAxNWM3Y2E1NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQxMTUyNDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMjRlNzJmMDM3NDJjOTRhZTU5OTdmZGFiMDUxMWE3NDAxYzk0ZGQ2OTQwODU4NzM5NWUyMjFmZWVlNTc2MWQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.zpdoUJKA86pZYdaBBGanLjQwWn06uLkJriV4SuboYKE)
![Screenshot 1403-07-14 at 09 44 38](https://private-user-images.githubusercontent.com/139527025/373850722-6abadac8-0a47-4599-a649-bbf3df05631d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODg2NjcsIm5iZiI6MTczOTE4ODM2NywicGF0aCI6Ii8xMzk1MjcwMjUvMzczODUwNzIyLTZhYmFkYWM4LTBhNDctNDU5OS1hNjQ5LWJiZjNkZjA1NjMxZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQxMTUyNDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYzJjYjM5NGZjZWNjODNiMmQ4MDBiZGFjMDc2NGZmMDE1Y2I2MDUxNWRhMTU1ZWVjMGI5MGViZWY1YmIzYjQwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.oR6a_iD7HOUwI3HbAUwl_qZAD-f1wNli6e7wjMwCPi4)
![Screenshot 1403-07-14 at 09 45 17](https://private-user-images.githubusercontent.com/139527025/373850734-9555e751-40f1-438d-85fd-b0e29fb21e67.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODg2NjcsIm5iZiI6MTczOTE4ODM2NywicGF0aCI6Ii8xMzk1MjcwMjUvMzczODUwNzM0LTk1NTVlNzUxLTQwZjEtNDM4ZC04NWZkLWIwZTI5ZmIyMWU2Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQxMTUyNDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02M2QyZTZhZWZlNjQ2YzE5MGUyOWY2NjgzYjA1MDRlMmY4NzI4NDM1NTRhY2ZlNzkwODU4ZTc4MzgxOTllNTdkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.eyB7Igjr5IYAW0TdRp2hOeqtytapcdBIwiQYsnO6wLs)
- Install rust if you have not already: https://www.rust-lang.org/tools/install
- Install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
- Install the tailwind css cli: https://tailwindcss.com/docs/installation
- Install dioxus-cli by running the following command:
cargo install [email protected]
- Download this repository from github.
- Enter into the downloaded repository's root folder.
- Copy the contents of
Dioxus_mac_linux.toml
intoDioxus.toml
. - Open a terminal and run the following command in the root of the project to start the tailwind CSS compiler:
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
- To build bundled executables, open another terminal in the project root and run the following command:
dx bundle --release --platform desktop
- You can find the executables in the following path:
[repo root]/dist/bundle/
- Install dioxus-cli by running the following command:
cargo install [email protected]
- Download this repository from github.
- Enter into the downloaded repository's root folder.
- Copy the contents of
Dioxus_windows.toml
intoDioxus.toml
. - In
Cargo.toml
edit out the pre-release versioning in[package]
,[version]
section, e.g, editversion = "0.0.0-alpha.1"
toversion = "0.0.0"
. - Run the following command in the root of the project to start the tailwind CSS compiler:
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
- To build bundled executables run the following command:
dx bundle --release --platform desktop
- You can find the executables in the following path:
[repo root]/dist/bundle/
- Install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
- Install the tailwind css cli: https://tailwindcss.com/docs/installation
- Open a terminal and run the following command in the root of the project to start the tailwind CSS compiler:
npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
- Open another terminal in the project root and run the following command:
dx serve --hot-reload --platform desktop
- Automate CI/CD for Mac/Linux/Windows bundling.
- QR output for mnemonics. Not to scan but engrave.
- Side channel protection.
- Going constant-time is any good?
- Select datum instead of entering via keyboard.
- Maybe an option for a complete diehard test on RNGs for the truly paranoids (rational beings).