Keith Mukai Profile picture
Sep 19 10 tweets 4 min read
#ProofOfWork for @SeedSigner (funded by @HRF):

First, get caught up on what you've missed in the last few months:
Throughout this MicroPython R&D I've had to figure out which dev boards to use and slowly start to appreciate what each has to offer.

I started documenting them here.

I really wanted this board to work out.

I had previously gotten camera data working on this old board (left) that has an integrated camera.

But had to figure out how to add a camera module to any random dev board. As w/everything in this process: so many unknowns for me to fight through.
And after incredible struggles, I finally have an esp32-S2 w/a camera module running live camera data on the Waveshare display hat!

Throughout this process I've been steadily building up more and more github repos for all these pieces.

But during R&D you tend to desperately try plenty of terrible things, finally get a break through, and then sprint further ahead.

It's REALLY hard to keep clear notes.
So it took most of this week to get organized and clean everything up.

In theory, everything I've done thus far to build a custom MicroPython firmware is collected here and should all compile.

It has to manage 7 other repos!

github.com/kdmukai/microp…
It's frustrating because there's so little coding in this phase; it's mostly wiring & configuration & banging my head on things.

But spending this morning looking back at how far we've come is pretty invigorating. And not too many R&D hurdles remain.

We're getting there.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Keith Mukai

Keith Mukai Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @KeithMukai

Sep 19
MEGA recap of the last ~4 months for @SeedSigner:

* v0.5.x has been out since April. It's f'n awesome and still gaining more features.
* But the Raspi Zero is near-impossible to find.
* We must port to alternate hardware.
* Begin MicroPython R&D hell.

Strategy:
Focus on easily-sourced microcontrollers (MCUs) instead of Pi-like single-board computers (SBCs).

The Pi Zero was an amazing cheat to get @SeedSigner off the ground quickly, but an MCU always made more sense (e.g. waiting 45s for linux to load is ridiculous).
The most popular MCU afaik is the STM32 line. But they're in supply chain hell. "See you in 2023" is not an option.

community.st.com/s/question/0D5…
Read 13 tweets
Feb 7
#ProofOfWork for @SeedSigner Week 4:

v0.5.0 PSBT flow getting so close to a complete first draft!

Nothing is final, but we've figured out solutions for so many of the challenging UI and complex tech problems in this area.

Not final. Not perfect. But getting REALLY F'N GOOD!
But first a side note: A ton of work went into this @SpecterWallet release.

You'll see me continue to contribute to Specter where I can. I am full-time SeedSigner, but guess how I spend my evenings and weekends? More coding!

I have no life, y'all.

Back to @SeedSigner: As the project keeps growing we have to keep stepping up our documentation and tutorial game.

My English teacher background makes these tasks actually strangely enjoyable.

Read 13 tweets
Feb 7
ALMOST through the hardest parts of @SeedSigner's PSBT review screens.

BIG breakthrough: realizing we can confirm change addrs much more easily than previously thought!

We can instantly provide assurances that single sig change addrs are legit. Multisig requires a 2nd step.
"35c5d905: change #0" means:

* For the seed that we selected to sign this psbt (ID'ed by its fingerprint)...
* The addr from the psbt was confirmed to match the seed's first (#0) change addr.

This is undeniably my seed's correct change addr. My change is not being stolen.
And, yes, probably the "confirmed address for seed" label could be improved. So f'n hard to convey complex concepts in limited real estate!

"confirmed change address"?

"confirmed from seed"?

"seed ownership confirmed"? (meh)

I really want the word "confirmed" in there.
Read 5 tweets
Feb 6
Experimenting with this @SeedSigner PSBT warning screen.

If your coordinator software gives you an evil PSBT that steals your change output, this would call that out.

But legit txs can obv be a full spend, too.

So too scary or confusing for noobs? Better wording ideas?
Obv a noob could misconstrue "input value" with "OMG is it stealing my WHOLE WALLET?!!"

But I think noobs are unlikely to ever construct a tx that spends exactly a whole utxo (and so wouldn't see this warning) unless they're actually sweeping their whole wallet.
The other possibility is that they're trying to sign with the wrong key.

(though me may be able to prevent this from happening, too)

Read 5 tweets
Feb 6
Learning a lot more about what info @SeedSigner can pull out of a #Bitcoin PSBT.

What if you try to sign a PSBT w/the wrong seed? How do we detect that it is the wrong seed? Should we try to stop you or are there edge cases where it's better to let you try?

Live demo thus far!
@SeedSigner IF it makes sense to still offer the "Sign PSBT" button on what looks like the wrong seed, how should that be indicated?

The added question mark isn't super helpful, but there isn't much room to work with either.
And how does the seed/PSBT check work? We check each input utxo's `bip32_derivations` list which is generated by the `embit` library.

IF we find derivations AND the fingerprint within at least one of them matches our seed, THEN we know it's a valid seed for that PSBT.
Read 4 tweets
Jan 17
Been collecting random easy-to-source metal plates to try to work out a super low budget, under-the-radar version of the awesome @SeedSigner SeedQR plates that @SeedMint21 has been testing.

My improvised versions obv won't be as nice nor as durable, though.
These credit card-sized bottle openers (wha..., why?) make the best impression of the bunch. Thicker and studier than they look. Shiny, smooth, w/nice rounded edges.

No indication of what grade of stainless steel. Assume meh.

But only $1.25 each!

amazon.com/gp/product/B08…
Also testing a new QR template using dot targets instead of the inner grid, as suggested by @SeedMint21.

I think the dot targets are a bit better; there's less visual clutter. The overall scale on these plates is pretty small, but it's all easier on my eyes than I expected.
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(