Brainstorming: Links, badges and other relationship types #233
vrypan
started this conversation in
FIP Stage 1: Ideas
Replies: 1 comment 4 replies
-
|
I'm not sure we should overload Links, esp. if the user has to "accept" the badge. This actually feels similar to open ended attestations instead of the fixed ones we currently have with #199. One of the options we considered for attestations is to have it's own datatype (like Links or Verifications). With that you could do the required "counter-signature" from the fid providing the attesation/badge within the body of the same message. |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The following is triggered by a request to have some kind of badges that has been expressed in many occasions. I also think that Links can be used (or even extended) to express more relation types than "follow".
Treating badges as relationships.
A badge is a relationship between two entities. One entity offers the badge, and an other entity has to accept it in some way.
Using Links to express badges
One way to express this relationship on Snapchain, would be for
Linkmessage withtype="badge"andtarget_fid=FID2Linkmessage withtype="accbadge"(accept badge) andtarget_fid=FID1A client can represent this relationship as a badge, using
FID1.USER_DATA_TYPE_PFPon the profile page ofFID2.This approach is simple, in the sense that it does not require changes to the protocol. It should also work with
LinkCompactStateBodywithout changes.The limitation is that each badge requires a separate FID that offers it. So if Farcaster wanted to offer two badges, for
ProandProMax, each one of the badges would have to be offered by a separate FID.However, many existing groups and teams on Farcaster could use this from day one. For example, Purple could offer a badge to all Purple holders, and update the badge status whenever the NFT is transferred.
Possible extensions
(less-than-half-baked ideas, that may or may not be applicable)
type=badge, treat anytype=badge*as a badge. This would allow a single FID to offer multiple badges, asbadgepro,badgepro2, etc. But they will all have to be presented using the same icon (FID1.USER_DATA_TYPE_PFP)Linkmessage to include aniconproperty that contains the URL of the badge. This can be very tricky, and increase storage requirements, sharing it in case it triggers more ideas.Link.typeastype=badge<index>and introduce a newUSER_DATA_TYPE_BADGESthat accepts a list of image URLs.Beta Was this translation helpful? Give feedback.
All reactions