Avatar
bitcoinplebdev
8172b9205247ddfe99b783320782d0312fa305a199fb2be8a3e6563e20b4f0e2
Implementation: voltage.cloud Founder: plebdevs.com Contributor: frostr.org Plebdev: pleblab.dev

Running local private LLM’s makes me feel like an absolute off grid savage guerrilla pioneer Quaker Johnny Tremain

Happy new year nostr! Let’s keep building 🤝

Happy new year! 2026 we build

The male urge to come up with a brand and make hats (not by popular demand)

Prompt: “I turned around to see the voice that was speaking to me. And when I turned I saw seven golden lampstands, and among the lampstands was someone like a son of man, dressed in a robe reaching down to his feet and with a golden sash around his chest. The hair on his head was white like wool, as white as snow, and his eyes were like blazing fire. His feet were like bronze glowing in a furnace, and his voice was like the sound of rushing waters. In his right hand he held seven stars, and coming out of his mouth was a sharp, double-edged sword. His face was like the sun shining in all its brilliance.”Output:

To illustrate how bad kind0 is sometimes below is a real function I wrote (unfortunately) like 2 years ago to get users fields from their profile:

export const findKind0Fields = async kind0 => {

let fields = {};

const usernameProperties = ['name', 'displayName', 'display_name', 'username', 'handle', 'alias'];

const pubkeyProperties = ['pubkey', 'npub', '_pubkey'];

const findTruthyPropertyValue = (object, properties) => {

for (const property of properties) {

if (object?.[property]) {

return object[property];

}

}

return null;

};

const username = findTruthyPropertyValue(kind0, usernameProperties);

if (username) {

fields.username = username;

}

const avatar = findTruthyPropertyValue(kind0, [

'picture',

'avatar',

'profilePicture',

'profile_picture',

'image',

]);

if (avatar) {

fields.avatar = avatar;

}

const pubkey = findTruthyPropertyValue(kind0, pubkeyProperties);

if (pubkey) {

fields.pubkey = pubkey;

}

const lud16 = findTruthyPropertyValue(kind0, ['lud16', 'lightning', 'lnurl', 'lnurlp', 'lnurlw']);

if (lud16) {

fields.lud16 = lud16;

}

const nip05 = findTruthyPropertyValue(kind0, ['nip05']);

if (nip05) {

fields.nip05 = nip05;

}

return fields;

};

https://github.com/AustinKelsay/plebdevs/blob/d8bba02a2f6c02b4661007b4847a9472498d6f2d/src/utils/nostr.js

nostr:nevent1qqstjcgxmljvngnjktq6f2h0tranepj6akv2atx4e8zx8x7t99txrxgpzemhxue69uhhv6t5daezumn0wd68yvfwvdhk67ac8zg

AI dev course - coming soon

Damn… remember stackoverflow?

Frostr works with all of the nostr signing protocols today, but it’s still fragmented.

How do you unify them? Keep it all interoperable, and keep them connected? These are big problems to solve still!

Hey, so sorry for the late reply! You’re totally right we haven’t been that good about communicating the work that we’ve been doing the last six months. Honestly, we were hoping to finish the “full suite“ of our apps before we did big public announcement and have everything working at once. We are having delays on the mobile apps though so just trying to get everything out there now and update documentation and comms which is why I made @npub17uvdffljczhlpjfvfj0q30dmh4ugh8wlzm8u6w64y2v4ts7fqsqqj28tr4 (running frostr btw)

When it comes to protecting your shares, if they get compromised, it’s important to understand that the actual NSEC cannot be recovered unless you have the threshold of shares in custody LOCALLY. You cannot recover the NSEC remotely in any kind of way. It is still manual. However, depending on how your peer config is set up, it is possible that if someone steals a share, they can get a note signed in collaboration with another one of your shares (running on a signer)

Onto how to mitigate this (and your next question) right now there is very simple permissions that you can configure with peers. Basically each share can have its own peer config that simply says what shares in the keyset are allowed to make requests to it and what shares it makes requests to. In this set up, you can have a single primary share. That is the only one allowed to make request requests (this is only enforced on the networking layer right now)

Lots more updates and improved documentation coming soon!

Yeah both it and bifrost are still pretty narrow in functionality. We are getting close to doing a more full featured, generic rewrite of the protocol library (in rust btw). Would love to hear what you would like to have in it

Replying to Avatar Frostr

Happy Friday - Frostr can now run on Umbrel ❄️ 🤝 ☂️ https://plebdevs-bucket.nyc3.cdn.digitaloceanspaces.com/videos/random/igloo-server-umbrel-announcement.mp4

Version 1.1.0 of igloo-server can now be added as an easy to run app on your Umbrel through the Community App Stores feature.

Just click on the ... in the top right of app store and add https://github.com/frostr-org/igloo-server-store as the url - then install and you'll be up and running in no time!

So stoked to release! Use your umbrel to help run your distributed nostr key setup 🙌

nostr:nevent1qqs05wl4yung9c7f87zshrrg4v93p97g3zw0q7rxckk7ta8lgl9dslspzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgpvtxg7

Replying to Avatar hodlbod

Are you planning anything that will allow for custodial storage of shards? I'm working on https://github.com/coracle-social/pomade (don't read it, it's a mess) and attempting to adapt bifrost to custodial signers with email based recovery for the normies. Unfortunately, it looks like there are too many assumptions baked in about how peers connect to do much more than build directly on top of bifrost. I pinged you yesterday too, but I'm very interested in any input you might have.

We don’t have anything for custodial signers yet but definitely thinking about it in the near future, this seems like a really cool design, though! Yeah, peering is still something that needs to be automated in bifrost otherwise it requires somewhat manual configuration still at this point. I do have a somewhat streamlined and simplified library that wraps bifrost (just a way of encapsulating the basic “igloo“ logic so all the different signers can share the same APIs) maybe this could help some? Going back to read your previous messages now though

https://github.com/frostr-org/igloo-core

Can’t stop thinking about Goose nostr:npub16l0ck0s5zened29dsaqtqm6z0t4fmk2mwtszw64fz7fppcnls8mss3yj9s

FROSTR RELEASE DAY ❄️

Igloo-server first stable release v0.1.7!

- Simple self-hostable frostr signer built with bun

- Lightweight, No DB, ENV vars only

- Web UI, Headless mode, API access, event streaming.

- Umbrel / Start9 coming soon tm

Igloo-desktop v0.1.2:

- Signed and notarized with Apple now

- Will be easier to install and update on OSX now

- They KYC’d me and made me pay $100 for this :(

Onward 🫡

https://frostr.org/apps

Imagine if we had like flexible round-optimized schnorr threshold signatures transmitted by relays?

That would be cool lmao

Lucky to be here! Thanks to all the OG’s who have helped me on my journey 🫡

nostr:note150dzeuu2fs32hfdtzh3g5jzu40ndmeys4qtxmhetp7vmnnsdefzsll4qrd

GO NERD SNIPE YOUR FAVORITE NOSTR DEV! HERE IS SOME AMMO

nostr:note1n7vg93yz6jdcxuuse7uykshslg9ulsucdc33jr5c43pn7306hrnsvuarqj

Woah people are using my software, thank you nostr:npub16g4umvwj2pduqc8kt2rv6heq2vhvtulyrsr2a20d4suldwnkl4hquekv4h !!

Just added anon zap tool!

Works for any note / profile format :)

https://video.nostr.build/f84647dc0f081c317cebae41fcfb8a0b812bf41cefd696034f5a2e5f3a48490d.mp4

nostr:note1etwe94r9njudd9ujtpkwynanfs20gehgadrzxrzpacsde8hzmnwqmtww9y

Thank you TGFN!

Check it out for a full technical deep dive into FROSTR!

nostr:note1gctd6mgl9n9ectxkqylt0s3jsd97tqzzmjjvfp0mu0v477s0ma2sejyly4

Shitcoins are just applied griftography

No I haven’t sorry! Am still down though! nostr:npub1gg5uy8cpqx4u8wj9yvlpwm5ht757vudmrzn8y27lwunt5f2ytlusklulq3 ?

Goated

nostr:note1dpqgqsy7988lvqf0u5t20ngdth5vhvhpx3zd5zs7y0fcqxak9mvq6502u7

Replying to Avatar bitcoinplebdev

Implement https://github.com/frostr-org/bifrost into your signing flow (as an option)

We are also working on nip46 frostr bridge soon (so that client devs will have less work to do to support)

https://github.com/frostr-org/frost2x is example for client devs wanting to support frostr in nip-07 signing flow

nostr:nprofile1qqsyy2wzruqsr27rhfzjx0shd6t4l20xwxa33fnj900hwf46y4z9l7gpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgqg3waehxw309ahx7um5wgerztnrdaksvr0zth

Implement https://github.com/frostr-org/bifrost into your signing flow (as an option)

We are also working on nip46 frostr bridge soon (so that client devs will have less work to do to support)

https://github.com/frostr-org/frost2x is example for client devs wanting to support frostr in nip-07 signing flow