#gum #attributes #session #instructions #gpl #control #macro

macro gpl-session-macros-attribute

GPL Session attribute and derive macro for instruction access control

1 unstable release

0.1.0 Apr 3, 2023

#9 in #gum

38 downloads per month
Used in 4 crates (via gpl-session-macros)

GPL-3.0-or-later

7KB
112 lines

Gum, at its core, is a decentralized social media protocol on Solana. It unbundles traditional social media into Social Legos similar to how Defi unbundled traditional finance into Money Legos.

Gum Social Legos

All the individual legos like profiles, posts, connections and reactions are stored on-chain on Solana using Account Compression. Merkelizing the objects individually via account compression allows us to store an individual’s social data for life for the price of a pack of gum.

Application developers can compose with Gum to build these features for any consumer apps like they are chewing g̶l̶a̶s̶s̶ gum.

Gum UI Components

Why Gum?

Crypto has been around for a while, and the ecosystem has grown exponentially over the last few years. The industry is filled with a ton of exciting projects being built and even more builders working on them.

Yet, the meme of crypto still being an industry of ‘dog coins’ and ‘monkey pictures’ stays relevant. We’re still far away from gaining considerable adoption, let alone going mainstream. Instead, we need to actively think about where the next ‘billion users' are going to come from, and the answer to that question is, Consumer Apps.

Consumers want applications that are fun and engaging to use and application developers want their users to keep coming back to their apps and maintain high retention rates, this is the common denominator across any consumer application be it web2, web3, web5 or any other Fibonacci version of the web.

In addition, unlike the web2 networks, web3 networks are inherently open, i.e. open protocol, open state and open source, users can exit to another app without losing much. So, not only is it imperative to build fun, engaging and useful applications but also to identify what makes them tick and deliver differentiated value.

On the other hand, a wallet as a unique user identifier across all applications is very powerful, everything the user has done with the wallet since genesis is available for all applications to use, but very few do. Turns out, the infrastructure for this doesn’t exist or if it does, it is not productized and widely available yet.

Our thesis is that this is the key ingredient missing from most consumer applications and Gum is here to solve that.

Documentation: https://docs.gum.fun/

NOTE:

All the code and artificats in this repo are unaudited and is shared publicly in the true spirit of opensource. So there could potentially be bugs, if you do spot them. Please raise an issue or send a PR in the same spirit.

Dependencies

~1.5MB
~37K SLoC