Steem Deep Dive I - Communities Teil 1

in #deutsch5 years ago

GitHub ist für jeden Informatiker etwas bekanntes, es ist die erste Anlaufstelle für OpenSource Projekte und wenn man hierfür ein Verwaltungssystem braucht. Vereinfacht muss man sich GitHub so vorstellen das jede Version gespeichert wird, wird irgendwas am Code auf der Seite gemacht, wird einfach alles neu gespeichert, ohne die alte Version zu entfernen. Vorteil an diesem System ist es, dass man bei Problemen einfach auf eine ältere Version wechseln kann.
Wie fast jedes OpenSource Projekt ist Steem auch auf GitHub vertreten. Wer es sich einmal anschauen will, kann es hier machen.


Communites

Es gibt ein Dokument, in dem die Communites die Steemit Inc. den Nutzern zur Verfügung stellen will beschreibt. Hier kannst du es selbst lesen. In diesem Beitrag werde ich das ganze einmal durchgehen.

Communities sind Gruppen von Nutzern, die von einem gemeinsamen Thema zusammengebracht werden. Die Communities die wir auf dem Steem hoffentlich sehen werden, werden Frontends sein auf denen sich diese Gruppen austauschen können. Ähnlich wie heute auf Steemit oder Steempeak, nur das auf den Seiten dieser Communities nicht alles aus der Chain angezeigt wird, sondern nur einzelne Themen oder Gruppen. Auf Steemit und Steempeak sind jedoch alle Beiträge aus den Communities zu sehen.


Communtiy Typen

Es wird drei Typen von Communities geben. Der unterschied zwischen den unterschiedlichen Typen ist die Möglichkeit Content zu erstellen. Es wird unterschieden zwischen den Typen Topic, Journal und Council.

Topic

Bei einem Topic handelt es sich um ein Frontend wie Steemit oder Steempeak. Jeder mit einem Steemaccount kann einen Post oder Kommentar veröffentlichen, solange er nicht vom Frontend gebannt wurde.

Journal

Ein Journal ist eine Community welche es nur Nutzern mit dem Status eines Members(Ränge werden unten erklärt) erlaubt Posts zu erstellen. Jeder Nutzer kann jedoch Kommentare erstellen. @mattgroening hatte vor einiger Zeit die Idee Regionalzeitungen auf den Steem aufzubauen. Diese Art von Communities erlaubt es nur ausgewählten Autoren etwas zu veröffentlichen, ähnlich wie z.b. auf vielen Nachrichtenportalen.

Council

Bei einem Council handelt es sich um eine geschlossene Community, in welcher nur Member Posten und Kommentieren können. Man könnte diese Verschlüsseln und so eine geschlossene Community auf dem Steem schaffen oder man erstellt ein Fachforum, in welchem nur Fachleute diskutieren sollen, weshalb nur verifizierte Mitglieder sich an Diskussionen beteiligen sollen können.


Nutzerrollen

Es wird fünf Typen von Nutzerrollen in Communities geben. Jeder Typ erbt vom niedrigeren Typ alle Rechte.

  • Typ 0: Guest
    • einer Community folgen, so das ihre Beiträge im eigenen Feed erscheinen
    • die Möglichkeit einen Beitrag zu melden
    • in einem Journal oder Topic: Kommentare verfassen
    • in einem Topic: einen Post verfassen
  • Typ 1: Member
    • Alle Rechte vom Guest
    • in einem Council: Posts und Kommentare verfassen
    • in einem Journal: Posts verfassen
  • Typ 2: Moderator
    • Alle Rechte vom Member
    • einen Post anpinnen wie auf Steemit, so das ihn jeder Seitenbesucher sieht
    • einen Post muten, so das ihn niemand auf dem Frontend sieht
    • einen Titel vergeben, dieser kann frei gesetzt werden und gilt nur für den jeweiligen Nutzer
    • einen Nutzer zum Member oder Guest erklären. Es besteht auch die Möglichkeit einen Nutzer zu muten und so von der Communtiy auszuschließen.
  • Admin
    • Alle Rechte vom Moderator
    • Das Frontend einstellen
    • Die Rewardverteilung(Autor/Kuratoren) einstelllen
    • Moderatoren ernennen
  • Owner
    • Alle Rechte vom Admin
    • Kann Admins ernennen

Registrierung

Bei der Registrierung einer Community wird für diese Community ein Account erstellt. Dieser Account wird mit einem Numerischer Community Identifikator(NCI) definiert. Diese NCI wird nach dem Muster

/^hive-[1-3]\d{4,6}$/

definiert. Für nicht Informatiker/Mathematiker lässt sich das obere Benennungssystem wie folgt beschreiben:
Jede Community wird beschrieben mit einem hive- einer Zahl zwischen 1 und 3 und anschließend einer 4 bis 6 stelligen Zahl. Die ersten drei Zahlen geben den Typ der Community an, die letzten drei Stellen sind nur eine Identifizierungsnummer. Dieses System erlaubt die Communities hive-10000 bis hive-39999999999. Dies erlaubt eine Millionen Communities für jeden Typ zu erstellen. Dieses System ermöglicht es eine Community mit eindeutiger ID zu erstellen, ohne auf ein Namenssystem zurückgreifen zu müssen.

Warum keine Namen?

Wenn man eine Community erstellt, sollte der Name(URL) einige Eigenschaften besitzen:

  • Es sollte möglich sein einen Namen zu wählen, der die Eigenschaften der Community wiederspiegelt
  • Es sollte die Möglichkeit geben inaktive Namen neu zu vergeben
  • Die Möglichkeit einen Namen bei Markenproblemen neu zuzuweisen oder zu ändern
  • Wir arbeiten auf einer dezentralen Chain, niemand kann die Namensverwaltung übernehmen, welche die oberen Eigenschaften garantieren benötigen

Eine Namensvergabe mit menschenlesbaren Namen tendieren dazu ein interessantes Eigenleben zu führen, weshalb fürs Erste eine andere Lösung gefunden wurde. Die Community kann jedoch selbst eine Lösung für dieses Problem finden und sich so einen menschenlesbaren Namen als ID setzen.


Es gibt einige Überlegungen zu Communities

  • Rollenzuweisungen und Mutes sind nicht rückwirkend Wirksam
  • Posts in Communities können nicht rückwirkend editiert werden
  • es kann nur einen Owner geben
  • ein Nutzer kann nur eine Rolle gleichzeitig besitzen
  • Jeder kann eine Rolle annehmen, hat er jedoch nicht die Community abonniert wird er als Inaktiv angezeigt

In Teil zwei werde ich eine technischere Perspektive einnehmen und mir die Metadaten einer Community anschauen, über die sie definiert und eingestellt wird. Dieser Post soll nur einen allgemeinen Überblick bieten.

Sort:  

Du hast einen Vote von @portalvotes bekommen.