# uCoin-app : Android client app

**URL:** https://forum.duniter.org/t/ucoin-app-android-client-app/114
**Category:** Mobile apps
**Created:** [30 December 2014 11:23 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114 "2014-12-30T11:23:27Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [16 April 2015 10:41 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/21 "2015-04-16T10:41:05Z")

</div>

Merci pour tes réponses claires. ca roule ! 😉

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [18 April 2015 17:44 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/22 "2015-04-18T17:44:21Z")

</div>

OK, c’est déployé sur [metab.ucoin.io](http://metab.ucoin.io). Quelques exemples, ça m’évite d’écrire de la doc :smile: :

- Historique complet d’une clé publique  
Transactions Envoyées / Reçues / En cours d’envoi / En cours de réception  
[http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk](http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk)

- Historique complet d’une clé publique entre les blocks 0 et 400 (inclus)  
Transactions Envoyées / Reçues _uniquement_  
[http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/blocks/0/400](http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/blocks/0/400)

- Historique complet d’une clé publique entre le 14 avril 2015 et maintenant  
Transactions Envoyées / Reçues _uniquement_  
[http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/times/1428962400/1429378937](http://metab.ucoin.io/tx/history/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/times/1428962400/1429378937)

Et comme demandé, tu trouveras _pour chaque transaction_ le n° de block et la date/heure du block.

Allez, plus qu’à attendre l’appli Android ! 🕶

---

<div class="post-metadata">

### Author: ![Inso](https://forum.duniter.org/user_avatar/forum.duniter.org/inso/32/1229_2.png) [@Inso](https://forum.duniter.org/u/Inso)
#### Post date: [19 April 2015 19:14 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/23 "2015-04-19T19:14:24Z")

</div>

Est-ce prévu pour être une API disponible pour tout les noeuds ou être une API “haut niveau” ?

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [19 April 2015 20:58 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/24 "2015-04-19T20:58:32Z")

</div>

Pour tous les noeuds.

---

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [23 April 2015 05:09 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/25 "2015-04-23T05:09:54Z")

</div>

YahooOOo !  
I will integrate that as soon as possible. Thanks !

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [23 April 2015 07:33 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/26 "2015-04-23T07:33:28Z")

</div>

Il manque juste une méthode pour visualiser ce qui est en attente (envoi et/ou réception) _sans_ avoir a récupérer tout l’historique. Je la publierai ce soir si j’ai le temps 🙂

---

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [12 May 2015 22:26 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/27 "2015-05-12T22:26:33Z")

</div>

Salut @cgeek  
J’ai pu inétgrer l’historique en partie dans l’App.  
Il me manque les UD… as tu possibilité de les ajouter dans l’historique ? Sinon, avec les IN/OUT de la WoT, pas facile de savoir rapidement les retrouver, avec les dates, etc.

Merci Merci !

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [13 May 2015 07:23 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/28 "2015-05-13T07:23:37Z")

</div>

Pour les dividendes, il faut regarder de ce côté : [http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk](http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk)

---

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [13 May 2015 10:58 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/29 "2015-05-13T10:58:54Z")

</div>

@cgeek oui, j’ai déjà essayé comme ca, mais les UD qui ont été consommés par des transactions n’y sont pas. Cela ne permet pas de reconstituer l’historique des opérations… (et par ailleurs, il y manque le “time”).

Désolé d’être aussi exigeant, mais avec les smartphones ont a des connexions limitées, alors il faut tout optimiser sinon les perfs sont vraiment mauvaise. (Pour arriver je bricole déjà bcp… et ca commence à être parfois long)

---

<div class="post-metadata">

### Author: ![Inso](https://forum.duniter.org/user_avatar/forum.duniter.org/inso/32/1229_2.png) [@Inso](https://forum.duniter.org/u/Inso)
#### Post date: [13 May 2015 11:01 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/30 "2015-05-13T11:01:35Z")

</div>

Sur cutecoin on ne parse pas les DU non plus, l’api ne le permettant pas.

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [13 May 2015 11:34 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/31 "2015-05-13T11:34:08Z")

</div>

Dans le même temps, si l’écran développé est “historique des transactions”, alors il n’y a pas lieu d’afficher les DU vu que ce ne sont pas des transactions.

Si par contre vous voulez développer un écran “flux monétaires” ou mieux “historique du solde”, je comprendrais le besoin. Dans ce cas, je pourrais ajouter le champ `time` dans [http://metab.ucoin.io/tx/sources/[pubkey]](http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk), ainsi que d’ajouter les URLs:

- [http://metab.ucoin.io/tx/sources/[pubkey]/tx](http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/tx) pour n’afficher que les sources transactionnelles
- [http://metab.ucoin.io/tx/sources/[pubkey]/ud](http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk/ud) pour n’afficher que les sources de dividendes

afin de vous laisser le choix de filtrer les données à rapatrier.

Qu’en pensez-vous, @kimamila, @Inso ?

---

<div class="post-metadata">

### Author: ![Inso](https://forum.duniter.org/user_avatar/forum.duniter.org/inso/32/1229_2.png) [@Inso](https://forum.duniter.org/u/Inso)
#### Post date: [13 May 2015 11:43 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/32 "2015-05-13T11:43:43Z")

</div>

Les sources étant changeantes de block en block, je ne pense pas que ça soit une solution.

Il faudrait l’équivalent de ‘tx/history’… Par exemple, ‘du/history’ 🙂

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [13 May 2015 12:09 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/33 "2015-05-13T12:09:09Z")

</div>

Disons que si vous avez l’historique des transactions, alors vous avez nécessairement les DU consommés, donc non présents dans /tx/sources.

Mais bon, je comprends bien la volonté de disposer d’une API qui vous facilite la vie. Je ne vous en veux pas ! 🙂

---

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [13 May 2015 12:26 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/34 "2015-05-13T12:26:45Z")

</div>

> [@cgeek](#):
>
> Si par contre vous voulez développer un écran “flux monétaires” ou mieux “historique du solde”

Oui, c’est ca plutot 🙂  
En gros le besoin c’est de récupérer un DIFF des changements sur le compte. Après c’est à nous de recouper le truc si on veut.

Pour la solution, moi je suis pas trop fan d’avoir plein de fonctions différentes : chaque appel HTTP est long (établissement de la connection, parsing du résultat, etc). Il vaut mieux en avoir moins (même s’ils ont légèrement plus de données).

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [13 May 2015 15:20 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/35 "2015-05-13T15:20:19Z")

</div>

> [@kimamila](#):
>
> chaque appel HTTP est long (établissement de la connection, parsing du résultat, etc). Il vaut mieux en avoir moins (même s’ils ont légèrement plus de données).

Oui je comprends, après je ne peux pas partir du principe que mes clients sont tous des mobiles, j’ai besoin d’un minimum de cohérence dans l’API. Et rien n’empêche une autre API de voir le jour plus tard, focalisée sur les besoins mobiles.

Bref, un /ud/history comme évoqué par @Inso, ça te va aussi ?

---

<div class="post-metadata">

### Author: ![Galuel](https://forum.duniter.org/user_avatar/forum.duniter.org/galuel/32/577_2.png) [@Galuel](https://forum.duniter.org/u/Galuel)
#### Post date: [14 May 2015 09:45 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/36 "2015-05-14T09:45:15Z")

</div>

> [@kimamila](#):
>
> Désolé d’être aussi exigeant, mais avec les smartphones ont a des connexions limitées, alors il faut tout optimiser sinon les perfs sont vraiment mauvaise

C’est une mauvaise idée de demander au serveur de faire plus en terme de calculs et de puissance, sous prétexte que le client mobile ne le peut pas. Ce n’est pas une approche modulaire.

Une approche modulaire serait de se dire : le mobile est plus proche d’un terminal passif que d’un serveur, étant donné l’écart de puissance. DONC, la solution, qui existe d’ailleurs dans quantité d’autres domaines, c’est de mettre en place un AMPLIFICATEUR intermédiaire pour les mobiles.

De la même façon que la difficulté pour gérer soi-même son propre serveur a une solution intermédiaire qui est l’hébergement mutualisé.

Donc tu peux très bien imaginer un serveur intermédiaire qui fait les calculs nécessitant de la puissance, connecté au réseau P2P uCoin, sur lequel ton mobile se connecte afin de donner des informations rapides à l’utilisateur. Serveur intermédiaire qui peut ensuite être pensé soit comme mutualisé soit comme individuel au choix de l’utilisateur.

Et tes problèmes sont résolus par modularité plutôt que se référer encore et toujours à la source (ce qui revient à une approche provoquant la centralisation). Le réseau P2P devrait lui être le plus light possible.

---

<div class="post-metadata">

### Author: ![vit](https://forum.duniter.org/user_avatar/forum.duniter.org/vit/32/2775_2.png) [@vit](https://forum.duniter.org/u/vit)
#### Post date: [14 May 2015 10:19 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/37 "2015-05-14T10:19:01Z")

</div>

Je pense qu’on s’achemine vers un réseau p2p avec des noeuds “pauvres” en API qui se concentreront sur la création des blocs et seront abandonnés par les applis clientes et des noeuds “riches” en API, qui utiliseront Elasticsearch et seront utilisés par les applis clientes.

Pour des raisons de sécurité, Elasticsearch doit être certifié et protégé par un noeud ucoin.  
Mais si on trouve un moyen (plugin Elasticsearch en java) de “certifier” un serveur ES comme étant de confiance, on pourra même se passer du noeud ucoin, et l’appli cliente pourrait attaquer directement ES.

---

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [14 May 2015 11:07 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/38 "2015-05-14T11:07:16Z")

</div>

> [@vit](#):
>
> Je pense qu’on s’achemine vers un réseau p2p avec des noeuds “pauvres” en API qui se concentreront sur la création des blocs et seront abandonnés par les applis clientes et des noeuds “riches” en API

J’approuve 👍

> [@vit](#):
>
> , qui utiliseront Elasticsearch et seront utilisés par les applis clientes.

ElasticSearch ou autre chose, d’ailleurs.

> [@vit](#):
>
> Pour des raisons de sécurité, Elasticsearch doit être certifié et protégé par un noeud ucoin.

Chaque noeud pouvant bénéficier de `n` interfaces réseau, toutes certifiées vu que le noeud signe cette déclaration d’interfaces, il peut très bien cibler _entre autres_ un serveur ElasticSearch.

Si je prend par exemple mon noeud, on peut imaginer qu’il dispose d’une interface ES :

```
Version: 1
Type: Peer
Currency: meta_brouzouf
PublicKey: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk
Block: 13878-000017F28765E1DFDF70BE3BCB1476C1C410FD94
Endpoints:
BASIC_MERKLED_API metab.ucoin.io 88.174.120.187 9201
ELASTIC_SEARCH elastic.metab.ucoin.io 80
JqUHLmSU6N7WFqnwU+p/bgCYwZdsYQQ2GPGkdv4qx5/AUoa4dFwGpSQUhZTMmvGOMt/5lEcGtJYSl/HGGkyfBg==

```

Est-ce que ça ne répond pas à la problématique ?

---

<div class="post-metadata">

### Author: ![vit](https://forum.duniter.org/user_avatar/forum.duniter.org/vit/32/2775_2.png) [@vit](https://forum.duniter.org/u/vit)
#### Post date: [14 May 2015 12:18 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/39 "2015-05-14T12:18:35Z")

</div>

> [@cgeek](#):
>
> Chaque noeud pouvant bénéficier de n interfaces réseau, toutes certifiées vu que le noeud signe cette déclaration d’interfaces, il peut très bien cibler entre autres un serveur ElasticSearch.

Parfait ça. On interroge un noeud ucoin qui renvoie sur un explorateur de blockchain disposant d’une API “haut niveau”.  
ES ou autre. J’achète ! :smile:

---

<div class="post-metadata">

### Author: ![kimamila](https://forum.duniter.org/user_avatar/forum.duniter.org/kimamila/32/185_2.png) [@kimamila](https://forum.duniter.org/u/kimamila)
#### Post date: [14 May 2015 21:16 UTC](https://forum.duniter.org/t/ucoin-app-android-client-app/114/40 "2015-05-14T21:16:12Z")

</div>

> [@Galuel](#):
>
> DONC, la solution, qui existe d’ailleurs dans quantité d’autres domaines, c’est de mettre en place un AMPLIFICATEUR intermédiaire pour les mobiles.

On est d’accord, c’est pourquoi j’ai monté commencé à travailler sur une API haut niveau (serveur ES : [http://data.ucoin.fr](http://data.ucoin.fr)).  
Mais chaque chose en son temps. Les premières versions des clients peuvent très bien exploiter l’API de base.

Malgré tout, justement pour simplifier l’API du réseau P2P, il me semble mieux (pour tous les clients d’ailleurs, pas que les smartphones) d’avoir une seule fonction d’historique qui renvoit toutes les opérations (dont les DU). Plus on fait de fonctionnalités différentes (ou découpées), plus ce sera dur à maintenir. Enfin je crois.

> [@cgeek](#):
>
> Bref, un /ud/history comme évoqué par @Inso, ça te va aussi ?

Bref, oui ca me va : je me vais débrouiller avec, t’inquiètes ! ;o)

Merci encore

[Previous page](https://forum.duniter.org/t/ucoin-app-android-client-app/114.md?page=1)

[Next page](https://forum.duniter.org/t/ucoin-app-android-client-app/114.md?page=3)
