Skip to content

Commit a41890b

Browse files
committed
docs: updated README.md
1 parent ec447bb commit a41890b

1 file changed

Lines changed: 69 additions & 7 deletions

File tree

‎README.md‎

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,78 @@
11
# KDK
22

3-
<img src="assets/logo.png" />
3+
<div>
4+
<img src="assets/logo.png" />
5+
<p><i>Lambda inverted just to fit with letter K</i></p>
6+
</div>
47

58
A WIP development kit in Rust for microcontroller bitcoin wallet signers
6-
(mainly aimed to ESP32 or STM32) in Krux-style hardware signers
7-
based on past [proposition to redesign krux](https://github.com/selfcustody/krux/discussions/189).
9+
(mainly aimed to ESP32 or STM32) based on [selfcustody/krux](https://github.com/selfcustody/krux),
10+
for support microcontroller hardware signers with rust.
811

9-
In any way i want to compete with [kern](https://github.com/odudex/kern) or
10-
abandon [krux](https://github.com/selfcustody/krux), neither to redesign some
11-
basic aspect of krux (this will not be a product or other techinical aspects)
12-
or add another cryptocurrencies.
12+
## Motivation
1313

14+
The motivation came from a past discussion that maybe could not be accesible
15+
based on past [maybe could not be available for public](https://github.com/selfcustody/krux/discussions/189):
16+
17+
```
18+
Should a hardware device support signing Nostr events? Definitely.
19+
20+
Should Krux? I think it could make sense (if you view Krux as firmware for
21+
hardware signing _in general_), but not in its current form due to all the
22+
Bitcoin-specific assumptions being made about wallets, receive addresses, PSBTs,
23+
etc.
24+
25+
The way I see it, there are 3 options:
26+
27+
1) Add support for Nostr in the existing UI, but wrap a bunch of places in
28+
`if is_nostr()` style checks to hide or show certain UI elements (e.g.,
29+
`Scan Address`, `Wallet`, `Sign PSBT`, etc. don't make sense to show if using
30+
a Nostr key, and `Show Nostr public key`, `Sign Nostr event` don't make sense
31+
if using a Bitcoin key)
32+
2) Fork Krux, rip out the Bitcoin stuff entirely, and focus the fork on being
33+
exclusively a Nostr signer
34+
3) Don't fork Krux, but redesign it such that it can support different use cases
35+
or cryptocurrencies / elliptic curves.
36+
37+
Option 1, while it could work and is the "easiest" to do, would make the code
38+
harder to follow and maintain and begin to split Krux's focus. Not a fan of
39+
shoehorning it in like this.
40+
41+
Option 2 is a good short-term solution if people want something that works
42+
right now @odudex. Since my activity has dropped off the past few months,
43+
option 3 (my preference, see below) may take longer than desired to come to
44+
fruition; so I would be fine with a dedicated fork of Krux that focuses
45+
exclusively on Nostr if you want to take that up. (Of course, it's FOSS,
46+
so you can do what you want. Just giving my blessing :))
47+
48+
Option 3 is my long-term preference. I think there is a way we could eventually
49+
redesign Krux so that other users could write plugins for their preferred "crypto"
50+
(crypto in quotes since it could be a currency or something else entirely like
51+
Nostr) to customize the experience as needed for each one. The way I'm thinking
52+
it could be done would be similar to Ledger where the community can create their
53+
own "apps," only in this case the app would be in its own repo and would be
54+
selected + built into the firmware by the user. The existing Bitcoin "app"
55+
would be the default and is what I would continue to publish and sign as the
56+
official Krux release, but others could publish and sign the versions of Krux
57+
where the app is something else like Nostr, Ethereum, etc.
58+
59+
What do others think?
60+
```
61+
62+
> *Jeff Sun*, Krux's creator
63+
64+
### Disclaimer
65+
66+
In any way KDK wants to compete with [Kern](https://github.com/odudex/kern) or
67+
[Krux](https://github.com/selfcustody/krux), neither to redesign some basic
68+
aspects of krux, almost following a mix of `Option 1` and `Option 3`:
69+
70+
- keep based-bitcoin firwamre
71+
- `master` branch could accept `bitcoin-related` PRs as **features**, except
72+
altcoins (i.e., `nostr`, `liquid`, `pgp`, `crypto-primitives` could be accepted
73+
depending o context and review) -- they could share `traits`, `enums`, `structs`
74+
and `methods` with different parameters (e.g: `nostr` and `schnoor`)
75+
1476
> **⚠️ Experimental.** This software has not been audited. Do not use it
1577
> with real funds. See [`SECURITY.md`](SECURITY.md).
1678

0 commit comments

Comments
 (0)