Near Social (anteriormente conocido como Social08) es un protocolo de datos sociales construido sobre el Protocolo NEAR.
Por favor, únete al grupo de Telegram de @NearSocial y sé parte de la conversación.
Mira la presentación de Near Social en el NEARCON22
Explora Near Social: near.social
Enlaces
Github: https://github.com/NearSocial
Twitter: @NearSocial_
Telegram: @NearSocial
Contrato de SocialDB:
- Fuente: https://github.com/NearSocial/social-db
- Mainnet: social.near
- Testnet: v1.social08.testnet
Standards: https://github.com/NearSocial/standards
Navegador de Near Social:
- Fuente: https://github.com/NearSocial/viewer
- Mainnet: https://near.social/
- Testnet: https://test.near.social/
Si estás buscando una red social basada en mastodon para usuarios .near, consulta el artículo sobre mastodon.near.social
SocialDB
SocialDB es un contrato inteligente que almacena datos en NEAR Protocol.
- Código Fuente: https://github.com/NearSocial/social-db
- API: https://github.com/NearSocial/social-db#api
- ID de la cuenta Testnet: v1.social08.testnet
- ID de la cuenta Mainnet: social.near
Obtener la API
Toma una lista de claves y devuelve un objeto JSON unido a los datos que coinciden.
- keys – una serie de patrones claves para regresar.
Leer un perfil de la cuenta self.social.near
Para leer todos los campos de forma recursiva para una ruta determinada, agrega el sufijo **.
Regresa el objeto JSON agregado.
Leyendo los nombres de todas las cuentas con perfiles.
Toma en cuenta que esta consulta itera sobre todas la cuentas y no se ajustará en el gas disponible para vistas en el futuro.
Claves de API
Toma una lista de claves y regresa un objeto JSON unido con las claves que coincidan con la solicitud.
- keys – una serie de patrones claves para regresar.
Regresa al objeto JSON agregado.
Obtener una lista de los widgets de las cuentas root.near
Obtener una lista de cuentas que tienen widgets.
Toma en cuenta que esta consulta itera sobre todas la cuentas y no se ajustará en el gas disponible para vistas en el futuro.
Standards
Los datos en SocialDB están organizados como un simple árbol JSON. La única regla aplicada es que las claves en la raíz son los ID de las cuentas que almacenan los datos. Esto se hace a propósito, para que el contrato de SocialDB no imponga ninguna estructura o esquema. De lo contrario, el contrato deberá ser modificado por cada cambio en el esquema. El control de los esquemas del contrato, puede llevar a las restricciones y a la centralización. En cambio, los Near Social Standards viven fuera del contrato de SocialDB.
En la actualidad, Standards on Github es el lugar predeterminado de los estándares, pero esto puede cambiar en el futuro.
Descripción del Esquema
- Bold quiere decir que la clave es requerida.
- Italic quiere decir que la clave es opcional
- [account_id] significa que la clave dinámica es un ID de una cuenta. Por ejemplo, alex.near como clave. Es usada, generalmente, para crear alguna ventaja sobre esa cuenta.
Esquema de Raíz
Cada cuenta debería seguir el Esquema de Raíz
Widgets
Los Widgets son componentes reutilizables y combinables para Near Social.
Puedes ver y crear widgets en near.social .
Por ejemplo, un widget para explorar datos te permite explorar datos en bruto de SocialDB.
Código abierto con control de versiones
El código fuente de cada widget está almacenado abiertamente en SocialDB. El dueño del widget tiene la habilidad de hacer mejoras al widget, mediante la actualización del código fuente. Pero como SocialDB está almacenado en una blockchain, todas las versiones previas del widget también estarán disponibles. Esto permite el control automático de la versión de cada widget.
Bifurcación
Si estás familiarizado con GitHub, sabes que puedes bifurcar cualquier repositorio público para crear tu versión local. De igual forma, puedes bifurcar cualquier widget directo desde la interfaz de usuario de near.social .
La bifurcación crea una copia de la fuente de código del widget, pero bajo tu cuenta. Permite a cualquier persona modificar el widget existente. Una vez que guardes el nuevo widget, estará disponible de inmediato. Y todos podrán ver y bifurcar tu versión del widget.
Se trata principalmente de una interfaz de usuario para crear un pull request, para que las personas puedan fusionar cambios de otras bifurcaciones. Actualmente, se debe hacer de forma manual.
Lenguaje de Programación
Los widgets están implementados en una versión limitada de JSX (un JavaScript con ReactJS). El código se ejecuta en una Virtual Machine personalizada para crear un espacio aislado y seguro. Esto garantiza que los widgets no puedan acceder al almacenamiento local ni a las cookies.