Near Social (anciennement connu sous le nom de Social08 ) est un protocole de données sociales construit au-dessus du protocole NEAR.
Veuillez rejoindre le groupe Telegram @NearSocial pour des discussions.
Regarder la présentation Near Social à NEARCON22
Explorez Near Social : near.social
Liens
Github : https://github.com/NearSocial
Twitter : @NearSocial_
Télégramme : @NearSocial
Contrat SocialDB :
- Source : https://github.com/NearSocial/social-db
- Réseau principal : social.near
- Réseau de test : v1.social08.testnet
Normes : https://github.com/NearSocial/standards
Navigateur du Near social :
- Source : https://github.com/NearSocial/viewer
- Réseau principal : https://near.social/
- Réseau test : https://test.near.social/
Si vous recherchez un réseau social basé sur mastodon pour les .near utilisateurs, consultez un article sur mastodon.near.social
SocialDB
SocialDB est un contrat intelligent pour stocker des données sociales sur le protocole NEAR.
- Code source : https://github.com/NearSocial/social-db
- API : https://github.com/NearSocial/social-db#api
- ID de compte Testnet : v1.social08.testnet
- ID de compte principal : social.near
Get API
Prend une liste de clés et renvoie un objet JSON joint avec les données correspondantes.
keys
– un tableau de modèles de clé à renvoyer.
Lecture d’un profil de compte self.social.near
Pour lire tous les champs de manière récursive pour un chemin donné, ajoutez un ** suffixe.
Renvoie l’objet JSON agrégé.
Lecture des noms de tous les comptes avec des profils
Notez que cette requête itère sur tous les comptes et ne rentrera plus dans le gaz d’appel de vue disponible à l’avenir.
API de clés
Prend une liste de clés et renvoie un objet JSON joint avec les clés correspondant à la requête.
keys
– un tableau de modèles de clé à renvoyer.
Renvoie l’objet JSON agrégé.
Obtenir une liste de widgets de comptes root.near
Obtenir une liste des comptes qui ont des widgets
Notez que cette requête itère sur tous les comptes et ne rentrera plus dans le gaz d’appel de vue disponible à l’avenir.
Normes
Les données de SocialDB sont organisées sous la forme d’un simple arbre JSON. La seule règle appliquée est que les clés de la racine sont les ID de compte qui stockent les données. Ceci est fait exprès, de sorte que le contrat SocialDB n’applique aucune structure ou schéma. Sinon, le contrat doit être modifié à chaque changement de schéma. La maîtrise des schémas contractuels peut conduire à la centralisation et aux restrictions. Au lieu de cela, les normes sociales proches vivent en dehors du contrat SocialDB.
Actuellement, Standards sur Github est l’endroit par défaut pour les normes, mais cela pourrait changer à l’avenir.
Description du schéma
bold
signifie que la clé est requise.italic
signifie que la clé est facultative.[account_id]
signifie que la clé dynamique est un ID de compte. Par exemple, alex.near comme clé. Il était généralement utilisé pour créer un avantage vers ce compte.
Schéma racine
Chaque compte doit suivre leschéma racine
Widget
Les widgets sont des composants composables réutilisables pour Near Social.
Vous pouvez afficher et créer des widgets sur near.social .
Par exemple, un widget d’explorateur de données vous permet d’explorer les données brutes de SocialDB.
Open source avec contrôle de version
Le code source de chaque widget est stocké ouvertement dans SocialDB. Le propriétaire du widget a la possibilité de mettre à jour le widget en mettant à jour le code source. Mais parce que SocialDB est stocké sur une blockchain, toutes les versions précédentes du widget sont également disponibles. Cela permet un contrôle de version automatique pour chaque widget.
Bifurcation
Si vous connaissez GitHub, vous savez que vous pouvez dupliquer n’importe quel référentiel public pour créer votre version locale. De même, vous pouvez bifurquer n’importe quel widget directement à partir de l’interface utilisateur near.social.
Forking crée une copie du code source du widget, mais sous votre compte. Il permet à chacun de modifier les widgets existants. Une fois que vous enregistrez le nouveau widget, il devient immédiatement disponible. Et tout le monde peut désormais voir et bifurquer votre version du widget.
Il s’agit principalement d’une interface utilisateur pour créer des demandes d’extraction, afin que les utilisateurs puissent fusionner les modifications d’autres forks. Actuellement, il doit être fait manuellement.
Langage de programmation
Les widgets sont implémentés dans une version limitée de JSX (un JavaScript avec ReactJS). Le code est exécuté dans une machine virtuelle personnalisée pour créer un bac à sable sécurisé. Cela garantit que les widgets ne peuvent pas accéder au stockage local ou aux cookies.