StarkNet Roundup #34
Weekly summary of all things StarkNet
Welcome to the 34th edition of my weekly comprehensive StarkNet summary. The previous update can be found here. 👇🏻
Would you like to sponsor this newsletter? Reach out to me.
If you enjoy this newsletter, don’t forget to subscribe. It’s free!
Let’s get into this week’s news! 💪
Protocol & dev tool updates
@qdqd___ - I released a new improved Cairo extension for VSCode that supports all the functionalities in the official extension plus 10 new cool features that will help you develop in Cairo - An improved VS Code plugin for Cairo
@OpenZeppelin - The latest beta release of OpenZeppelin Contracts for Cairo (v0.4.0b) is now available! - Highlights: Support for the latest Cairo v0.10.0, Migrated Account interfaces to camelCase
@Starknet_Intern - Shafi Goldwasser and the Amazing Untold Invention Story of ZK - The origins of Zero Knowledge and Interactive Proofs will be discussed by Professor Shafi Goldwasser with @EliBenSasson
@nostrafinance - Now you can listen to @davgarai, @yarmun1 and @0xToro - Introducing UNO, the first StarkNet-native USD stablecoin
@dolvenlabs - Cairo Dev's assemble!✨Your challenge has arrived, 👑Cairo Kings Arena is here🔥 - World’s first on-chain coding competition for Cairo, supported by StarkWare
@POKTnetwork - Happy to officially announce our support for #StarkNet - Starknet-Mainnet and Testnet are now allowlisted for node runners to service
@JediSwap - Jedi Community is thrill to announce #JediRobeContest. Design the best swag hoodie for JediSwap & win a chance to earn Mesh points! - The event ends on Tuesday 28th Sep 2022, 12:00 UTC
@threesigma_xyz - We are pleased to announce that Three Sigma has received a grant from @StarkWareLtd - for the development of tooling and infrastructure to ease the developer onboarding process into StarkEx.
@RampNetwork - With the help of #starknet wallet, powered by @StarkWareLtd, you are now able to purchase ETH by card via Ramp - StarkNet is now available on Ramp
@focustree_app - Hello world🎄 We are happy to announce 🔥 FOCUS TREE APP 🔥 built on #StarkNet - The first productivity app with WEB3 mechanics to fight smartphone addictions
@_Teandy - We've completed our integration of @MintSquareNFT's API ✅! - Users now have access to a more comprehensive overview of market activity on StarkNet via StarkSight!
@Orbiter_Finance - 🛸 #L2Data #RollupData 🚩 The TOP 5 rollups with the most new accounts in 7 days: - 1. @arbitrum 33,563 2. #StarkNet 24,369 3. @Optimism 9,469 4. @arbitrum Nova 7,686 5. @zksync 7,088
StarkNet Community & Shamans Highlights
StarkNet Community Call #23
STARK Struck Podcast | Episode 4 | Henri Lieutaud with Oskar & Jonas from Empiric
There has 2 been 2 much 2 debate about the current convention for external function naming. Much of that debate has happened earlier in the ecosystem’s development to a smaller audience, so, at the risk of beating a dead horse, I wanted to open the discussion more broadly here.
Starknet and Cairo have made it an explicit non-goal to provide evm compatibility, opting instead to design a platform around the unique constraints of zkstarks. An existing convention has formed to maintain a façade of compatibility through contract interface function naming. In the following, I’ll make a case that this convention doesn’t accomplish its goals, as well as propose some potential paths forward.
Through the EIP process, the Ethereum ecosystem, on top of which the Starknet blockchain operates, has standardized interfaces (ERC20, ERC721, ect) based on Solidity implementations. Solidity uses camelCase naming by convention. Cairo uses camel_case. As such, we’ve landed in the awkward spot where Solidity conventions are leaking into Cairo implementation, in an attempt to make interfaces compatible.
While the goal of compatibility is a reasonable one, function naming is just a human readable representation of a contracts interface. Ultimately, the compiled artifact is the interface for compatibility and Solidity and Cairo differ significantly in how function names are mapped to entry point selectors by the compiler.
Solidity supports argument dependent lookups, hashes function names with keccak, and uses the first four bytes as the selector:
Cairo does not support argument dependent lookups, hashes function names with keccak, and uses the first 250bits as the selector:
keccak("helloWorld") & 2^250-1
As a result, while function interface naming is the same, the lower level interpretation is different, and thus there isn’t a de facto “compatibility” as a result of sharing function naming conventions: any existing libraries would need to introduce some level of adaptation to support Starknet.
Nevertheless, it seems there is enough support for maintaining camelCase external interfaces.
Heavily discussed StarkNet Improvement Proposals
Useful links & articles
@trialityorg - We have an interactive learning module out to test your Cairo talents. - Many more modules to come
Dates and Events
@zkLend - ⭐️Full details now live for #StarkNet in Singapore! - Know more about this event - Date : Thu, September 29, 2022
@stark_con - StarkCon is coming to the capital of India, Delhi! 🎊 - Date : Thursday, 29th September 2022, 6:30 PM
@zksparkofficial - Super excited to be having our first AMA with the StarkNet Korea DAO - Date : Friday, 30th September, 21:00 PM KST
@Gammax_Exchange - 🔊 Join us for our fourth Community Call as we will share our latest project updates! - Date : Wednesday, September 28th, 16:00 GMT
@0xNurstar - 🫂🤗Join me, @0x_matteo & @nikron_eth to talk about @AstralyXYZ - Date : Tuesday, 27th September 2022, 14 UTC
@StarknetCC - The 2nd edition of StarkNetCC will be held in the heart of Lisbon 🇵🇹 - Date : Oct 31st & Nov 1st
@StarkNetNG - STARK Devs in Nigeria will be in @Web3Bridge Lagos Conference next month - Make sure to stop by and participate in their workshop if you want to learn more about StarkNet and Cairo - Date : October 6th - 8th
You can check out all of the past updates here.
None of the content of this newsletter is financial advice. Always do your own research.
Thank you for reading, and see you next week. ⏳
Would you like to sponsor this newsletter? Reach out to me.