mert

72.8K posts

mert banner
mert

mert

@mert

ceo @helius — Solana RPCs, APIs, and HFT: https://t.co/J2To2MzHwd — physics, capitalism, satire — il faut cultiver notre jardin

Inscrit le Eylül 2020
2.5K Abonnements391.4K Abonnés
Tweet épinglé
mert
mert@mert·
you can build literally anything on solana with just helius cli btw I built prediction markets, spot/perps dex (UI), forensic tracing, PnL tracking, an explorer, and a full wallet using nothing but this (and cf + supabase) npm i helius-cli
English
96
26
500
58.8K
mert
mert@mert·
no one understands product more than the guy with 7 users
English
44
2
138
6.5K
Bernie Sanders
Bernie Sanders@BernieSanders·
Jeff Bezos, worth $234 billion, plans to replace 600,000 Amazon workers with robots. Now, he wants to spend $100 billion to fully automate not just his warehouses, but factories in the U.S & other countries. Oligarchs are waging all out war against workers. FIGHT BACK.
English
3.6K
3.4K
17K
1.3M
mert
mert@mert·
@StableIDs @BernieSanders i grew up in middle eastern slum villages and then on food stamps, will keep in mind
English
1
0
8
293
mert
mert@mert·
@redacted_noah @jacobvcreech @SolPlay_jonas it has users but the revenue from those users wouldn't be enough to justify the effort instead what you do is go a level higher in abstraction and surface trade feeds or prices etc for the verticals people actually pay for
English
1
0
3
156
Noah 🎈
Noah 🎈@redacted_noah·
Starting to wonder if 15 is even your problem. If there was money to be made indexing anchor accounts and surfacing them as queryable with graphql or something, @mert would have done it already. It's not even something I'd use anymore, given we're on indexers now. So maybe it's a product with no users?
English
2
0
1
106
Noah 🎈
Noah 🎈@redacted_noah·
It's been about a year, so I think it'd be fun to look back and see which of these complaints has been solved. 1. IDL infrastructure is even more of a mess now. There's now two sources of truth, the original PDA and now a metadata program. Unfortunately, the metadata program was built without first class support for IDL versioning. So, next time IDLs change major versions, expect more pain. 2. Parsing historical programs given the lack of IDL versioning/history is still a problem now, and with the added metadata program it's now slightly worse. 3. The read layer has improved substantially. Most rpc providers heavily index gPA, so it's not as bad (still bad). Indexers have gotten unbelievably reliable now, such that I trust running an entire UI off of indexed data. It's heavier, you have devops costs, but at least it works and you can customize to your heart's content. 4. Running an API powered by indexers is still somewhat pricey 5. Transaction sending and landing is more or less solved. I haven't had to think about this in months. Smooth as butter. 6. Anchor has gotten faster and they've fixed a lot of the issues that blow out memory. There's still a lot of improvements to be made here, and new frameworks/anchor v2 are coming. 7. CPI depth limit is set to be increased. So this will not be an issue for much longer. 8. TX size limits are set to be increased. So this will not be an issue for much longer. 9. Rent costs have gone down because SOL price shit the bed. Yay? They are also going to actually cut rent costs soon™ 10. All of the cNFT issues described still exist. These have mostly been solved by just not using cNFTs. Use core or token metadata nfts instead. 11. Errors have, for the most part, gotten better. There are still quite a few useless errors, though. 12. All of the top wallets are still closed source. No progress made there, and seems like no one cares. 13. Rust anchor client still sucks. 14. Explorers still have issues, but thanks to claude I built my own that solves most of the issues (explorer.chewing.glass) 15. The base RPC spec still sucks, but if you're okay with vendor lock-in, Helius has a ton of useful APIs. Transaction history. Ability to only fetch accounts that have changed since a given slot. Etc. 16. I actually haven't had a dependency hell issue in a few months, I also haven't upgraded anything. Maybe it's getting better? 17. I haven't had issues with preflight disabled transactions in a while. Not sure if they fixed these issues, or I just started simulating more often. 18. Running programs on a cron is largely fixed. I wrote tuktuk for this, and it's been running reliably for almost a year. Largely things seem to be getting better. I've noticed that a lot of the pain goes away if you shove all of your solana-related stuff into an API, and use that API from your various clients web2 style. You can leverage indexers for complex queries. You can change your program and IDLs without breaking all clients. You can record your own transaction history. Etc. I always had a dream that blockchain dev was a way to avoid devops costs and burden by running everything on decentralized infrastructure. We seem to have moved far from this ideal, web3 is just web2 with another kind of database. Doesn't look great for protocols outliving their parent companies, but as we've seen that almost never happens anyway.
Noah 🎈@redacted_noah

As requested, all my current complaints in no particular order: 1. Uploaded IDL on-chain management is a mess. It has no versioning history, and when IDLs have breaking changes (like anchor 0.30+) all old clients currently looking at the on-chain IDL break. Why can't I lock a client to an IDL major version? Why is every IDL producer slightly different? Anchor, shank, etc should all produce the same thing. Published IDLs are wonderful in that I can add an account that's referenced by a has_one or PDA without breaking existing TS clients. But they need proper versioning. 2. Related to 1, since there's no IDL history, parsing historic transactions on Solana is impossible. Contract endpoints change, IDLs change, there's no history of it. 3. Read layer. The read layer sucks. You can do a lot to structure your program code to optimize for point-queries using PDAs as a kind of index. Like a crappy redis. But the second you need to do list queries ("get me all governance proposals with this tag") you're hosed. gPA is a terrible thing to use. That means you need an indexer! 4. Indexers. I have spent literal years wrestling with indexing on Solana, trying to get it so you catch every anchor record and insert it into postgres. *Finally* I have a solution that works, thanks to @streamingfastio. But even one stream is ~$500/month. Not really accessible to a dev trying things out in their spare time. Fine for Helium. 5. Transaction sending and landing. This is arguably the ONE thing a blockchain should be good at. Why am I talking to like 5-10 different people to find the optimum way to restructure my tx builder+sender every 3 weeks? Prio fees, stake weight QoS, compute limits, jito, lookup tables, transaction vs VersionedTransaction (the most ugly interface ever in both ts and rust). There's just so much to unpack here. Wrap it all up and throw it in a black box I don't ever have to look at again. Please. 6. Anchor performance. Anchor hogs a bunch of memory, newest versions init_if_needed almost always causes it to blow the heap. It also uses a bunch of CUs. It's the most used framework for smart contracts, let's pour all the resources we have into making it better. Native solana code is seriously so ugly to read it's a security hazard. There's no reason anchor, which is all pretty macros, can't be made to be just as fast. 7. CPI call depth limit. It's arbitrary, and low. Sometimes for composability you need more. CPIs are also super expensive. @blockiosaurus has some nice posts on why composability is a lie. 8. Tx size limits. This is actually the least of my problems, I can almost always find a way to work around this. 9. Rent is TOO DAMN HIGH. Sol is mooning, so rent is getting crazy high. I work for a company with funding, so it's not an issue for me. But if I were trying to do Solana in my spare time, $3000 to deploy a smart contract is ridiculous. 10. cNFTs continue to cause issues. If you need to mint a cNFT, then do something with that cNFT, you need to wait for the cNFT to be indexed so you can get its proof so you can construct the subsequent transaction _doing_ something with that cNFT. Huge headache. I wish Core NFTs had existed when we migrated helium, I would have used those instead. 11. Errors. Solana errors are notoriously unhelpful. #L277" target="_blank" rel="nofollow noopener">github.com/anza-xyz/agave…. This entire list should tell you which account the error came from. This is actively being worked on by Solana devrel. 12. Wallets. Of the top 3 wallets (Phantom, Solflare, Backpack) none of them are open source. One is source available, but usually pretty out of date. Wtf. 13. Rust clients suck. Using things like anchor from typescript are a breeze, because there's dynamic account resolution of has_one's and PDAs. Every time I have to use rust, it's like going back to the stone age. 14. Explorers suck. Why am I still using explorer.solana.com? Because it's the only one that consistently doesn't have broken IDL parsing, and has all the information that I need, and works with localnet devnet and mainnet. But it's notably missing things like seeing all txs on a program and filtering by instruction type. 15. The base RPC spec is missing tons of functionality. For one, it sucks at priority fees. Second, it's missing read level functionality enterprise web apps usually make use of, like incremental updates. I shouldn't need to waste data refetching accounts if they haven't changed. But there's no way to say "getMultipleAccounts that have changed past block x" 16. Dependency hell. ALWAYS with the dependency hell. Semver is never followed, especially on rust clients. So upgrading dependencies is always a nightmare. 17. Error handling when you turn off preflight checks is horrendous. Often times, if you've messed up the tx (too large, don't have enough sol, etc) it'll just hang forever. Hanging forever has to be the least desirable outcome for anything. 18. No ability to easily run txs at a specified time/on a schedule without deploying your own workers/crons. RIP clockwork (dw, I'm building a solution to this) I'm sure there's more, but my build finished to it's back to work. This is just top of mind.

English
8
7
66
15K
mert
mert@mert·
wild that most of the world's political discourse and conspiracies are about a small piece of land the size of new jersey
mert tweet media
English
96
13
436
23.5K
Elizabeth Hagedorn
Elizabeth Hagedorn@ElizHagedorn·
State notified Congress today that it's greenlit the following sales: • UAE − F-16 Munitions and Upgrades • UAE − Counter-Unmanned Aircraft System – LIDS • UAE­ − Long Range Radar for THAAD • UAE − Advanced Medium-Range Air-to-Air Missiles • Jordan − Aircraft Repair, Return, and Spares • Kuwait − Air and Missile Defense Radars
English
20
185
685
145.1K
warp
warp@warplol·
@mert @soundsonacid hey man can you fix your us east node my rpc calls are timing out and its kinda annoyin
English
1
0
0
44
frank
frank@soundsonacid·
the real benefit of anti-mev chains is there’s no mev drama or politics
English
6
2
39
6.5K
טל
טל@meztalCS·
@mert what haradrim means honestly wondering
English
1
0
0
89
mert
mert@mert·
added a new graph-based counterparty tool basically, you can add several addresses on the graph and see which wallets they interact with in common all free to use for everyone, just to give you an idea of what you can now do with 0 indexing and pure chain reads
mert@mert

made a hacky little free public good a tool for tracing counterparties on solana searches all history and can filter by date range, amount, token, inflow/outflow nothing is ever indexed, all data via getTransactionsForAddress RPC endpoint from Helius haradrim(.)net

English
23
6
110
19.1K
mert
mert@mert·
@luminaries you will be hearing from my lawyers
English
25
0
272
10.8K
Luminaries
Luminaries@luminaries·
my brain at 3 am when i’m trying to sleep:
English
44
2
254
16.9K
Akshay BD
Akshay BD@akshaybd·
Energy lockdowns?
English
6
1
35
4.1K
rachaelsacks.eth
rachaelsacks.eth@RAnSacks·
Founders, go be memed into oblivion - this one goes out to you @mert
English
5
0
27
1.3K
mert
mert@mert·
this is a troll but it's a fun thought experiment the current loyalty program structure is: spend -> earn rewards -> use those rewards for future spend but what if it was the opposite using that company's stock? i) you hold Uber stock in your Uber app ii) depending on how much you hold you either get a better USD rate for the Uber ride OR you can actually pay with the stock itself at a preferred rate in effect, each spend is a share buyback (this one is probably not possible due to tax) iii) your loyalty points aren't worthless anymore, you can cash them out or Uber could strike a deal with Starbucks or something to allow for preferential rates of buying each other's stock but since they're not imaginary anymore, they can also go down and make you lose money, which is the risk but there's some mitigations for this: the company could just honor a redemption rate as sort of a put option if it thinks the net value gained from customer loyalty is above the costs of underwriting
Pedr◎@Pedromiranda

Excited to unveil that the Solana Foundation has built a programmable consumer investing app powered by tokenized stocks When a user buys from Starbucks, Apple, Nike, Uber, or any supported brand, the app automatically buys a small amount of that company’s tokenized stock using predefined user rules

English
17
3
71
14K
mert
mert@mert·
from the "rainy day" fund to the "rainy era" fund as the global order shifts, you need to reassess trust assumptions - do you trust European institutions with your capital? American ones? Southeast Asian ones? - what if they enact new processes citing "unprecedented conditions" around currencies, commodities, and conflicts? - there is no need for panic, but there is a need to re-assess your exposure to systems that rely on trust assumptions you forgot about because "nothing ever happens" is not true anymore - this is an asymmetric action. there is no downside to doing it, but there's huge potential downside to not doing it, albeit at a very low probability - everyone knows of the "rainy day" fund. a set of liquid money you set aside to cover for unplanned short-term expenses - the next step is a "rainy era" fund (there probably exists a better name for this idk, maybe "sovereignty insurance") - if you're in crypto, you probably already have a version of this. you probably hold some combination of btc, eth, sol, hype, zec, usdc/usdt, and probably gold - you also already know that the CEXes you use to custody or transact with these assets are also institutions, and thus are susceptible to wartime policy changes - this is all very basic stuff that's easy to forget, so I would simply recommend: i) audit where all your funds are stored and the trust assumptions and jurisdictions and policies for withdrawals for them. account for different time horizons. maybe this is over in two weeks, but maybe it gradually shifts boundaries for years. who knows, your job is to mitigate risk ii) *make sure you are not neglecting self-custodying your assets* iii) make sure your self custody setups are well thought out. MFA, hardware wallets, hot/cold wallet setups. a card or two for ensuring you can actually spend these or trusted OTC desks iv) this one is a bit more paranoid, but ensure you have assessed the risks due to a lack of privacy. there are scenarios where asset seizures or retroactive rent-seeking could happen as anything you do that's tied to a cex deposit/withdrawal can be traced trivially. you can be barred from moving your money across your own accounts, etc if they're in different spots. this likely won't happen, but again, it's asymmetric in risk management in that your downside for preparing is zero but your downside for not preparing is colossal this is why crypto exists. build your own sanctuary fund to secure your and your families assets in the case of further escalation that requires no reliance on institutions that will just do whatever they please
mert@mert

the global word order is collapsing all trust boundaries between nations and you are bearish crypto trillions

English
15
10
92
12.1K