Cesium v0.1.28 with data store plugin

A new release of Cesium is available here. Demo here

New features

A new plugin, called 'ES Data store`, is now fully integrated.

This plugin enable some new features:

  • Huge data storage capabilities (ElasticSearch has been design for cluster/BigData architecture)

  • Ultra speed full-text search (thank you Lucene !).

  • Users can give additional data, on a new profile page. Data are stored as a JSON document, in a ElasticSearch cluster (not yet P2P, but soon !) signed by the user pubkey.

  • Search on WoT will display avatar and friendly name (if profile data has been filled)

  • Search on WoT could match the friendly name (not only uid and pubkey). Advanced search (city, socials network) will be possible in the fuiture.

  • Identity screen display all profile’s data : avatar, name, socials networks, …

  • a registry for companies, groups, institutions… with :

  • a Market place (Ad and needs), with :

    • pictures (with dynamic resizing to optimize data storage and avatar size),
    • comments (with edition and deletion). Will be soon updated in real time (using WebSocket).
    • full text search, or advanced (by category, location, etc.)

What’s next ?

Blockchain indexation and WoT graphs

We plan to use ES Cluster indexation capability for blockchain:

  • advanced search on the blockchain : full text search on transaction and comments, filter by date
  • graphs on currency : monetary mass evolution, UD evolution, …Web of Trust graphs, and certification suggestions, using Neo4j + ES.

P2P cluster

Elasticsearch architecture has been design for cluster architecture,
not for a P2P network. But some plugins already exists to add HTTP or
WebSocket synchronization between remote nodes.

We plan to reuse/adapt this plugins to build a full P2P architecture,
to easily shared and retrieve all valid (signed) JSON documents,
between individual or entreprise clusters.

A plain use of the Duniter network stack (using the peer document) could be powerful.

Installation

As mobile application

As usual, Play store application has been updated.
A first build for Firefoxos has also been done. but need to be tested well !

As unhosted application

To install Cesium has a simple web application, simply download the web bundle here and unpack somewhere. See your web server documentation (apache, nginx, …) to learn how-to deploy HTML files.

Configuration

Cesium has a simple configuration config.js. Please edit this file to change default Duniter node address.
You can completely disable the new plugin (using ElasticSearch data store, market place…) just remove the JSON properties DUNITER_NODE_ES.

As ElasticSearch cluster

Duniter4j ElasticSearch plugin now encapsulate a preconfigured version of Cesium.

Follow the Duniter4j release notes for installation.

Please let me known your opinion about this release.
(And please help me to fix language mistake in this article !)

4 « J'aime »

Je n’ai que 2 choses à dire : félicitations ; maintenant je peux officiellement te rajouter ce ticket GitHub : retirer le Market Place et en faire une application à part.

:slight_smile:

2 « J'aime »

Félicitations pour ce travail énorme !

Pour bien comprendre l’architecture que tu mets en place, et qui, par souci de séparation des responsabilités, va évoluer, je me propose de faire un diagramme des composants impliqués et de leur interaction.

Avec l’outil plantuml. Stay tuned…

[edit]
Le diagramme en cours de construction est visible sur mon wiki :

http://vit.free.fr/yeswiki/wakka.php?wiki=ProjetUCoin

1 « J'aime »

Si tu parles de ce type de diagramme :
https://github.com/duniter/duniter/blob/master/doc/uml/functional_blocks.png

Je ne suis pas sur que ça soit faisable avec plantuml. Perso je préfère utiliser du Inkscape pour ceux-ci :slight_smile: Pressé de voir ce que tu peux nous sortir :wink:

@vit @cgeek merci pour ces remarques.

Dans les prochains mois, je vais donc revoir l’architecture pour avoir:

  • un client cesium de base (gestion des portefeuilles, de la WoT, etc.)

  • un plugin cesium-data-store qui enrichit le client sur l’accès à la WoT et l’accès à la BC : profil utilisateur (avatar, nom), recherche avancée dans la WoT (full text, par nom, ville, etc), et graphs. Ce plugin utilisera un cluster ElasticSearch avec un plugin compatible (ci-dessous).

  • Un plugin ES pour permettre les fonctions d’enrichissement de la WoT et de la BC vues ci-dessus : duniter4j-elasticsearch-plugin

  • un client ḡchange, indépendant de cesium (mais réutilisant si besoin ses lib) : qui fait un lien ou intégre Cesium (ou un autre client) pour effectuer les paiements.

  • un plugin ES pour stocker les données de ḡchange : ḡchange-elasticsearch-plugin

Il me reste donc : à créer ce projet ḡchange, trouver un logo, etc.
bref, dans 15 ans on sera pret, les zamis ! c’est pas merveilleux, non ?! :wink:

5 « J'aime »

Un travail incroyable @kimamila ! Une application phare du projet sans aucun doute.
Merci!

1 « J'aime »

Voilà c’est exactement cela.

Le must étant :

  • qui fait un lien ouvrant le client par défaut de l’utilisateur pour faire son opération
  • qui propose Cesium si l’utilisateur n’a pas de client par défaut
1 « J'aime »

un lien ouvrant le client par défaut de l’utilisateur

oui, c’est assez simple (sous Android en tous cas) avec des URI du type duniter://....
D’ailleurs le client (sur Android) pourra etre aussi DuniterApp :slight_smile:

:smiley:
Bravo à vous. Ca va envoyer.

Oui, les URI, c’est super pratique, on peux configurer le navigateur pour qu’il ouvre une URI dans le logiciel correspondant. Par exemple, on peux configurer que l’URI xmpp:// soit ouverte dans Gajim.

Hi !

A new version of Cesium v0.2.0 is available. Transactions will now be enable on Duniter node with the protocol in version 0.30.

WARNING : Format of settings, in browser local storage, has changed.

So please make sure to do this steps (only if you already used Cesium before) :

  • Go in “Settings” page
  • Disable “Enable local storage”
  • Then enable it again. Default settings should appear.

Enjoy !