So far Star Frame is my favorite Anchor alternative. Everything is optional so you can reject the evil of macros if you want to follow the one true path of traits
The best example is our on-chain game. There's hundreds of instructions and dozens of account types. If we were using anchor to build this it would be impossible due to the account data complexity.
That's why we started by modifying anchor and adding some abilities, but our next version is 10x more complicated. It would have taken us years to make the program in anchor vs the 6 months it took for our team to finish star_frame and make the game.
The primary advantage is complex account data with multiple lists, maps, sets, and lists of lists, all able to be accessed efficiently.
@XBGBICBOI@lagwafiscosmos@coinbureau You misunderstand what a quantum attack means, a quantum attack means the attacker can sign for any publickey. There is no recovery scenario if a quantum attack is successful.
Star Frame isn't designed for these simple cases, you should use other frameworks for that. In fact I bet the multiple of the examples could be even further optimized by writing raw assembly, but that doesn't scale. Star Frame is designed for large projects with many developers working with hundreds of instructions and dozens of complex account types.
A good explanation of why more complex projects need to exist even if a large portion of people don't see the use case: https://t.co/BmHsoEDilk. I wouldn't want to write Star Atlas programs using even anchor, that's why we heavily modified anchor when we were using it. Using a simpler framework would be even more difficult.
There are some easy wins to add, 120cus can be saved just by swapping to repr based ix discrimination and disabling the instruction name logging. @stegaBOB is already working on it.
@alessandrod I’ve been having little success with AI and rust code, most of the time in complex code bases it trips over itself. Have been successful with repetitive coding needs through tab programming.
@redacted_noah Realloc and memmove make these operations far easier, we had to bodge one list per account into anchor, now with our own framework we have multiple lists, lists of lists, and enums (data and unit) all working with zero copy
anyone using @solana/web3.js, versions 1.95.6 and 1.95.7 are compromised with a secret stealer leaking private keys. if you or your product are using these versions, upgrade to 1.95.8 (1.95.5 is unaffected)
if you run a service that can blacklist addresses, do your thing with FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx
Whether you're traversing the galaxy, advancing your intergalactic career or taking on enemies in the unknown, Star Atlas has something for you.
Start dreaming and we hope you enjoy this early work-in-progress gameplay sneak peek of the adventures that await you.
@magicblock How is this done without state fragmentation? Does the state get uploaded to the chain as well as the off-chain validator the account is locked to?