Merci pour tes réponses claires. ca roule !
OK, câest dĂ©ployĂ© sur metab.ucoin.io. Quelques exemples, ça mâĂ©vite dâĂ©crire de la doc :
-
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 -
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 -
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
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 !
Est-ce prĂ©vu pour ĂȘtre une API disponible pour tout les noeuds ou ĂȘtre une API âhaut niveauâ ?
Pour tous les noeuds.
YahooOOo !
I will integrate that as soon as possible. Thanks !
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
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 !
Pour les dividendes, il faut regarder de ce cÎté : http://metab.ucoin.io/tx/sources/HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk
@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)
Sur cutecoin on ne parse pas les DU non plus, lâapi ne le permettant pas.
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], ainsi que dâajouter les URLs:
- http://metab.ucoin.io/tx/sources/[pubkey]/tx pour nâafficher que les sources transactionnelles
- http://metab.ucoin.io/tx/sources/[pubkey]/ud pour nâafficher que les sources de dividendes
afin de vous laisser le choix de filtrer les données à rapatrier.
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â
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 !
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).
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 ?
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.
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.
Jâapprouve
ElasticSearch ou autre chose, dâailleurs.
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 ?
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 !
On est dâaccord, câest pourquoi jâai montĂ© commencĂ© Ă travailler sur une API haut niveau (serveur ES : 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.
Bref, oui ca me va : je me vais dĂ©brouiller avec, tâinquiĂštes ! ;o)
Merci encore