I went through @solanaturbine Builders program on purpose, with a background in blockchain and developer tooling already behind me.
Not to relearn the basics. To feel the gaps a newcomer feels, from the inside.
A thread on what I found, and why I'm grateful for it. 🧵
These two fledgling hawks have become my favorite story unfolding at the Queens Botanical Garden @queensbotanicl.
They're in that peculiar season where they know they're meant to fly, but nature still asks them to wait while the last flight feathers come in.
So they practice. They hop. They flap. They make short flights. They fail. They try again.
Watching them has been a nice reminder that learning @solana feels much the same.
Before anyone soars, they spend a while looking exactly like this.
@solanaturbine
The history of computing suggests that if you solve a difficult problem, you've merely uncovered a naming problem hiding underneath it.
I appear to have reached that phase @atdavidmurdoch .
The utility exists, the name does not.
Suggestions welcome @solana_devs
@mistor I wrote a utility to inspect a transaction to get a baseline capability. Turns out I need a registry/resolver to alias those accounts. It's still rough.
@ludo_txtx would this be a good fit for @surfpool_sol reports?
https://t.co/SuZQHc8rU4
@mistor I wrote a utility to inspect a transaction to get a baseline capability. Turns out I need a registry/resolver to alias those accounts. It's still rough.
@ludo_txtx would this be a good fit for @surfpool_sol reports?
https://t.co/SuZQHc8rU4
@Dola_porr@SolanaFndn@solanaturbine@solana_devs I’m still early in my Solana journey, intentionally starting from the beginning and documenting what I learn.
One rabbit hole I’m heading toward is comparing simulation with finalized execution to understand where the execution story changes.
I spent hours trying to prove the bug was mine.
The invariant held. The tests held. The evidence piled up.
Rare debugging moment: "it's not me, it’s you." 😅
@SolanaFndn@solanaturbine@solana_devs
So that's my takeaway from @solanaturbine : the writing half is in good hands. The understanding half is the opportunity.
I spent the program building toward it, and I'm going to keep going.
Thanks again to everyone who made it what it is.
I went through @solanaturbine Builders program on purpose, with a background in blockchain and developer tooling already behind me.
Not to relearn the basics. To feel the gaps a newcomer feels, from the inside.
A thread on what I found, and why I'm grateful for it. 🧵
Failures that explain themselves.
A transaction you can open up end to end: the call tree, the authorities, the state it moved.
Better testing. Better debugging. Better observability.
One of my 4am tweets mentions nonce reuse. I was speaking casually bc I was flabbergasted by just how fucking stupid this is. And nonce reuse is historically the stupidest thing so they got crossed in my heads.
I got the other one right, so I'll repeat it now:
These guys rolled their own crypto so fucking hard that anyone could get your private key from public information.
Cardano should stop obsessing over whether this is a Cardano hack and realize that THIS IS INSANE. Fucking up the nonces is common with ECDSA. It is NOT EdDSA/Ed25519. This shit was intentionally DESIGNED to eliminate the footguns that are common with EDCSA.
It took WORK for the developers of this wallet to accomplish this. Using the standard crypto libs—which are used by all wallets in a sane universe—would NOT result in this issue.
If you are building a wallet and cant get the bare minimum correct, you deserve to die a violent and bloody death.
NO ONE should not expect someone who cannot even walk to be able to run, jump, skip, hop, etc. And ALL of those skills are necessary when building a wallet in this adversarial ass space.
This must be the end of Emurgo/SecondFi/Yoroi. If you forgive and forget, you are sealing your own fate and being willfully fucking retarded.
Most people don't know that the --via-ir flag makes changes in the Solidity language. If using it to compile with, your code can do different things from compiling without it.
If using it, here's some things you should do: 1/3
Jack Dorsey put 1.3 million dollars into it.
Vitalik Buterin gave it 128 ETH.
You have never heard of it.
It is called SimpleX. It is a messenger. It does not need a phone number. It does not need an email. It does not need a username. It does not need a user ID.
Not a hidden ID. Not a hashed ID. None at all.
Signal needs your phone number. WhatsApp needs your phone number. Telegram needs your phone number. Every messenger you have ever called "private" knows the one thing your bank, your stalker, and your country use to identify you.
SimpleX knows nothing.
It was built by Evgeny Poberezkin, a London-based engineer. Before this he wrote Ajv, the JavaScript validator that runs in 300 million downloads every month. He could have built anything.
He built the messenger with no users on the server.
Here is the trick.
Every other messenger gives you an identity. SimpleX gives you a connection. Each chat is its own one-way pipe. The server never sees who you are talking to. It does not even know you exist as a user.
11,327 stars. AGPL-3.0. Version 7.0 beta released two days ago.
iOS. Android. macOS. Windows. Linux. Free.
A 4-person team in London is the last line of defense between your conversations and every government, every advertiser, and every database breach.
The most private messenger ever built is the one you have never heard of.
(Link in the comments)
TYVM for your testing and feedback @C4ngui , event decoding and the report interfaces wouldn’t have existed without your participation!
Genuinely happy it helped you ❤️
🧵I've built a Solana protocol that turns token vesting into tradeable NFTs.
Each vesting position is an mpl-core Asset transferable, usable as collateral, readable on-chain by any program.
Claim X%, sell the rest.
But the thing I want to talk about here is the testing.👇
This isn't specific to one program. I've opened a PR [1] to liteSVM that exposes structured execution data. If it lands, downstream tools can compose behavioral reports without touching the runtime.
@solana_devs@solanaturbine@dipesh_sukhani@ludo_txtx@b_migliaccio@exoaursen
1: https://t.co/bCxl9Otwa1
Most Solana test output answers one question:
Did the transaction succeed?
I'm interested in a different question:
What story did the program just tell?
A new capability I'm working on lets downstream tools reconstruct execution as a behavioral trace instead of log soup.
(Example: @C4ngui's vesting program)
🧵