Avatar
A₿del fgu
b8f4c2e90f0dd667121533d7b8dafd77384b0b5051f8272e5493c58f7f93e14b
If you want to change the world, don't protest. Write code!

Interesting!

nostr:npub1chakany8dcz93clv4xgcudcvhnfhdyqutprq2yh72daydevv8zasmuhf02 you wanna contribute to a cool Bitcoin project in Zig ?

Any Zig dev over there ?

#Zig #Bitcoin

Starting Zig Bitcoin Community effort: https://github.com/zig-bitcoin

Zig language is still very much underrated IMO.

One thing that is awesome is the way you can use it progressively:

- First as a toolchain. You can replace a complex build system for your C/C++ with a simple build.zig that gives you easy portability and other great things.

- Then, you can seamlessly build new parts of your projects in Zig, and connect it natively with the rest of your codebase. So you don't have to engage in a big and complex migration.

I love how Zig is (similar to Go) idiomatic by default. Don't forget the fact that we read code more than 10x more than we write code. So the ability to read and understand code is extremely important.

Put it simply, in Rust, for one problem / thing, depending on the Rust dev who will work on it, you can have a lot of different possibilities / style / practices to solve it.

On Zig, this is drastically reduced, usually there is one obvious way to do one thing. Rust is getting more and more complex, and there are so many ways of doing the same thing.

So even Rust senior devs can be lost when working on a new code base.

I like the simplicity of Zig, communicate intent precisely, no macro and magic code.

Zig has to catchup the Rust ecosystem in terms of tooling and libraries but clearly this language has a very strong potential.

Those are some reasons why I want to start a Bitcoin Zig Community initiative. The goal is to build primitives, libraries and tooling in Zig for Bitcoin ecosystem.

It can be great educational content and way to onboard to Bitcoin ecosystem as a developer.

Also, it can help increase diversity of implementations. For instance, similarly to what Roasbeef is doing with btcd, which I think is great.

We start by those projects:

- bitcoin-zig: Core Bitcoin primitives implemented in Zig, including base58, bech32, and more.

- btczee: A full Bitcoin protocol implementation in Zig, including a node, wallet, and miner.

- coconut: A Cashu wallet and mint implementation in Zig

- libsecp256k1-zig: Zig bindings for the libsecp256k1 library, essential for Bitcoin cryptography.

So if you are a developer and you like Bitcoin and you are fan of Zig (or you don't know it yet), come and contribute to this open source initiative.

Was great spending time with a lot of Bitcoiners at Surfin Bitcoin in Biarritz.

One thing I realized is that sometimes it’s not easy to debate the idea themselves and that there is a more and more natural tendency to judge an idea based on who emit it. Which is a clear paradox when we want to build trustless (or at least trust minimized systems ).

This is somewhat inevitable in the sense that not everyone can understand and participate in highly technical and complex discussions, so the trust by delegation is pretty natural to some extent.

But still I think it’s important to keep this in mind and try to focus as much as possible on debating the ideas themselves.

Ready for Surfin Bitcoin starting today.

Replying to Avatar Rijndael

Hey nostr:npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29 have you checked out any of the DVM (data vending machine) NIPs? Feel like there could be something with a stark proving that the data you’re going to get is what you think it is

You can even try yourself with a Nostr extension .

You can submit a job, that will be picked by the DVM that will use STWO to generate the STARK proof and publish it in the job result.

Then with the frontend you can verify the STARK proof using STWO verifier (compiled as web assembly).

https://askeladd.org

I more than checked hehe.

I did a prototype with a Nostr DVM using STWO to prove the result of a Fibonacci.

https://github.com/AbdelStark/askeladd

Replying to Avatar Rijndael

Hey nostr:npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29 have you checked out any of the DVM (data vending machine) NIPs? Feel like there could be something with a stark proving that the data you’re going to get is what you think it is

Kinda feel sad for those two folks I saw on the street, wearing guns and bulletproof vests, risking their lives to transport worthless FIAT money that central banks and governments can print out of thin air.

If only there could be a way to transport unstoppable value simply with a cryptographic signature gossiped over a P2P network.

#Bitcoin fixes this. Bitcoin is for peace.

Replying to Avatar akiraonstarknet

nostr:npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29 ser, any suggestions of folks on follow here?

Browse the list of people I follow. There are many great folks

何も知らずに一生壁の中で過ごすなんて嫌だ!

I don’t want to spend my entire life inside these walls without knowing anything!

Summary of my fun week playing with Cashu, that I discovered recently.

This week I did:

- try and tested Cashu.me wallet and loved the UX from the user perspective (sending some sats to my Cashu wallet directly from my Nostr client was also very fun)

- read the Cashu docs

- implemented first step of BDHKE in Cairo and wrote an article about potentially ZKfying Cashu using STARK proofs

- implemented the full BDHKE in Zig

- contributed to Moksha Rust implementation to add criterion benchmarks

- realised that my Zig implementation was 10x slower

- moved to using the libsecp256k1 in C instead of Secp256k1 from the Zig std lib

- managed to have better perf than the Rust version

- contributed to CDK to add criterion benchmarks