@SolanaSensei@solana@solanamobile@toly@rajgokal@m_it@0x_diablo@SolanaJax@solflare@helium This is exactly the problem with the Solana phones imo. Most just use them as hardware wallets. The seeker is an improvement but it's riddled with bugs like the saga which makes it difficult to daily drive. People praise the phone then throw it in a drawer so bugs dont get fixed
Welcome to a cryptocurrency website
β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨
Featuring
πͺπͺπͺπͺπͺπͺπͺπͺπͺπͺ
A landing page nobody uses with a "Launch app" button that opens what you wanted in a new window
AND
ππππππππππ
Critical content that can't be seen without connecting your wallet
Today, we're announcing MetaMask USD ($mUSD) - MetaMask's native stablecoin. π¦
MetaMask is the first self custodial wallet to launch a stablecoin, and we have big plans for it. π§΅π
NOW LIVE: CROSSCHAIN SWAP
No more switching between apps, chains or wallets.
Swap any token to any other chain instantly.
Unify your liquidity across your entire portfolio.
Trade across every chain like the pros.
Today, @halo_usd announced the upcoming $HUSD - a stablecoin powered by M0 for the @hyperliquidx ecosystem.
This launch reinforces M0βs position as the universal stablecoin platform.
M^0βs stablecoin platform is live on @solana.
@KAST_official will be building the first stablecoin powered by M^0 on Solana, unlocking new digital dollar use cases for payments and savings.
Theyβre joined by integrators @spreefinance, @multisig, @jito_sol and @perena.
Each partner brings unique value to the M^0 ecosystem. Letβs break it down β¬οΈ
This week, we crossed $1 BILLION DOLLARS in total notional volume traded on Definitive, with $900M traded in just the last quarter.
Thank you to all our pro traders, partners, and EDGElords for being a part of the journey - your support made this milestone possible.
This is just the start, and a LOT more to come in Q1. We stay cookin' π§βπ³
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. https://t.co/VM5Dvb1RxD. 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 https://t.co/xo9UzvTtti? 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.
@0xShitTrader@ellipsis_labs this is pretty cool but you think you could convince protocols like pump to launch their tokens on it or just continue to use raydium
@ranger_finance@solana You guys have docs on how you determine routing? I don't really care to save a couple bps on execution just to pay double the funding rate