duniter issueshttps://git.duniter.org/nodes/typescript/duniter/-/issues2023-03-21T00:23:50+01:00https://git.duniter.org/nodes/typescript/duniter/-/issues/1437GVA: bug with some membres or past members balances2023-03-21T00:23:50+01:00pokaGVA: bug with some membres or past members balancesThis is the related thread: https://forum.duniter.org/t/bug-balance-db-gva/9805
Some membre wallets or past members have a negative balance..
We can see it easily on this page, when order by balance (Solde Ğ1 column): https://g1-stats....This is the related thread: https://forum.duniter.org/t/bug-balance-db-gva/9805
Some membre wallets or past members have a negative balance..
We can see it easily on this page, when order by balance (Solde Ğ1 column): https://g1-stats.axiom-team.fr/data/search.htmlhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1210Décrochage récurrent de nœud2020-10-04T18:45:03+02:00Cédric MoreauDécrochage récurrent de nœud*Created by: LeoBoudet*
Je ne sais pas si cela est lié à la version 1.6.14 mais depuis que je l'ai installée, mon nœud décroche sans arrêt et ne parvient pas à raccrocher les wagons. Régulièrement il perd toutes ses connexions aux autre...*Created by: LeoBoudet*
Je ne sais pas si cela est lié à la version 1.6.14 mais depuis que je l'ai installée, mon nœud décroche sans arrêt et ne parvient pas à raccrocher les wagons. Régulièrement il perd toutes ses connexions aux autres nœuds et ne les récupère pas de lui-même.
Séries de messages type :
**WS2P: Could not connect to peer D3krfq6J using `WS2P 77.152.31.154 20900: WS2P connection timeout`**
_Start/stop server_ n'améliorent pas le problème. Le dernier _reset data_ n'a rien donné non plus...
[duniter.log](https://github.com/duniter/duniter/files/1484498/duniter.log)2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1161Nœud isolé du réseau avec multiples erreurs2017-11-26T13:55:24+01:00Cédric MoreauNœud isolé du réseau avec multiples erreurs*Created by: LeoBoudet*
**Par ordre chronologique :**
- Sans aucune intervention préalable de ma part, j'ai d'abord eu de nombreux “Wrong endpoint” (à chaque vérification nodulaire), tous soldés par un échec ("error"). Cela a fait su...*Created by: LeoBoudet*
**Par ordre chronologique :**
- Sans aucune intervention préalable de ma part, j'ai d'abord eu de nombreux “Wrong endpoint” (à chaque vérification nodulaire), tous soldés par un échec ("error"). Cela a fait suite à un enchaînement de “Too high difficulty” après calcul d’un bloc.
Ce qui semble avoir entraîné une déconnexion du réseau (et donc arrêt de calcul de blocs) pendant deux jours.
-> Je remarque que les problèmes ont commencé à l’apparition d’un nouveau fichier de logs (que j'ai toujours actuellement).
Visiblement ma clé publique ou ma signature numérique a commencé à être rejetée :
**> WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE**
Les logs ne correspondaient d’ailleurs pas à ceux qui apparaissaient dans les logs en temps réel de l’interface.
- Et j’ai également ensuite eu ce message d’erreur :
**>WS2P OUT => Document detected 2 times: "version":10,"currency":"g1","status":"UP"...**
Après réinitialisation complète du nœud (qui m'a été automatiquement demandée au redémarrage du nœud, peut-être afin de rattraper tout le retard accumulé) et quelques bidouilles sur l’interface :
- enregistrement de ma clé seulement prise en compte après redémarrage de l'ordinateur (Duniter continuait d'utiliser la clé par défaut obtenue à l'installation).
- après un calcul dans le vide sans peer connecté, j'ai ouvert la BMA, cela a semble-t-il permis de connecter des nœuds. Un message d'erreur est cependant apparu m'indiquant que je n'étais plus visible sur le réseau (alors qu'à mon sens, il s'agissait du contraire), un simple clic sur "Automatic configuration" l'a fait disparaître tout en fermant la BMA mais en gardant la connexion aux nœuds.
... depuis mon nœud semble fonctionner normalement.
À noter que dans la version précédente, un bloc de plus avait été considéré comme calculé (16 au lieu de 15 après réinitialisation).
Désolé pour la forme, je ne sais pas ce qui a pu se passer, je manque de maîtrise de Duniter sur ce sujet.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1163Error: SQL error "undefined" on INIT queries "PRAGMA case_sensitive_like=ON"2017-12-14T21:38:35+01:00Cédric MoreauError: SQL error "undefined" on INIT queries "PRAGMA case_sensitive_like=ON"*Created by: KindlyFire*
Executing `./duniter.sh` yields nothing. Executing `./node bin/duniter` outputs the following:
```
2017-10-26T07:05:12+02:00 - debug: Plugging file system...
2017-10-26T07:05:12+02:00 - debug: Loading conf....*Created by: KindlyFire*
Executing `./duniter.sh` yields nothing. Executing `./node bin/duniter` outputs the following:
```
2017-10-26T07:05:12+02:00 - debug: Plugging file system...
2017-10-26T07:05:12+02:00 - debug: Loading conf...
2017-10-26T07:05:12+02:00 - warn: No configuration loaded
2017-10-26T07:05:13+02:00 - info: Checking UPnP features...
2017-10-26T07:05:13+02:00 - info: IPv6: <ipv6>
2017-10-26T07:05:13+02:00 - info: Local IPv4: <ipv4>
2017-10-26T07:05:13+02:00 - info: Remote IPv4: <ipv4>
2017-10-26T07:05:13+02:00 - info: UPnP: Yes
2017-10-26T07:05:13+02:00 - info: DNS: No
2017-10-26T07:05:13+02:00 - debug: Configuration saved.
2017-10-26T07:05:13+02:00 - debug: Opening SQLite database "/home/kindly/.config/duniter/duniter_default/duniter.db"...
2017-10-26T07:05:13+02:00 - error: Error: SQL error "undefined" on INIT queries "PRAGMA case_sensitive_like=ON"
at Error (native)
at Database.sqlite.exec (/home/kindly/Documents/duniter/app/lib/dal/drivers/SQLiteDriver.js:31:39)
at Database.replacement (/home/kindly/Documents/duniter/node_modules/sqlite3/lib/trace.js:20:31)
```
I am running the v1.5.9 release on Solus.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1216BMA UPnP configuration conflicts with WS2P2020-10-04T18:44:32+02:00Cédric MoreauBMA UPnP configuration conflicts with WS2PIt seems that a node having both BMA and public WS2P enabled with UPnP enabled only on WS2P, then UPnP just don't work for any API.It seems that a node having both BMA and public WS2P enabled with UPnP enabled only on WS2P, then UPnP just don't work for any API.2.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1207Planning the improvement of DUP protocol for duniter 2.02017-12-05T14:28:51+01:00ÉloïsPlanning the improvement of DUP protocol for duniter 2.0## Approved developments
- [ ] Pay to pubkey hash #1002
- [ ] Add function P2SH : Pay to script hash #1165
- [ ] Change handicap formula : replace the median by second tiercile #1169
## Developments under discussion
- [ ] Key ...## Approved developments
- [ ] Pay to pubkey hash #1002
- [ ] Add function P2SH : Pay to script hash #1165
- [ ] Change handicap formula : replace the median by second tiercile #1169
## Developments under discussion
- [ ] Key delegated to block computing #1208
2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1208Key delegated to block computing2017-12-15T04:20:38+01:00ÉloïsKey delegated to block computinghttps://forum.duniter.org/t/idee-cle-deleguee-au-calcul-de-blocs/2698/1
The idea of the delegated key is to be able to delegate the computation of blocks to a subkey, in order to put the main keychain in safety.
This subkey has the...https://forum.duniter.org/t/idee-cle-deleguee-au-calcul-de-blocs/2698/1
The idea of the delegated key is to be able to delegate the computation of blocks to a subkey, in order to put the main keychain in safety.
This subkey has the ability to revoke the associated member account.
The member may at any time declare a new delegated Key that cancels and replaces the previous delegated Key.
To avoid spam it will be necessary to add a parameter preventing to declare a new delegated key before `x` seconds.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1203Planning the improvement of WS2P for duniter 2.02018-01-25T00:05:52+01:00ÉloïsPlanning the improvement of WS2P for duniter 2.0_A description in English is available below the description in French_
# 2.0
WS2P V2 : (dev en 2018)
- [ ] ne pas tenter de se connecter à un noeud qui est déjà connecté a soi #1180
- [ ] Envoyer l'uuid et la version de la communicat..._A description in English is available below the description in French_
# 2.0
WS2P V2 : (dev en 2018)
- [ ] ne pas tenter de se connecter à un noeud qui est déjà connecté a soi #1180
- [ ] Envoyer l'uuid et la version de la communication dans le message de connexion
- [ ] Gérer les erreurs de version
- [ ] Lorsqu'on se connecte a la même clé que soit, ajouter le préfixe au message
- [ ] Détecter lorsque la clique est complète et affecter alors automatiquement un nouveau préfix en cas de duplicata
- [ ] Créer et diffuser un endpoint v2 avec le même UUID (en plus de l'endpoint v1 pour la compatibilité)
- [ ] Créer un concept de nœuds up/down pour la couche réseau ws2p #1226
- [ ] Transmettre sa fiche de peer lors du message CONNECT (https://forum.duniter.org/t/4015/15)
- [ ] Créer un système de synchronisation via ws2p #1179
- [ ] Créer un head V3 avec timestamp diffuser en duplicata du head V2
- [ ] Dans le format HEAD v3, créer des champs spécifiques pour les types de couches réseaux
- [ ] filtrer les heads diffusés pour les connexions de version strictement inférieure à 3
(Ce plan n'est pas figé, il vas changer régulièrement en fonction des besoins que je constate et de vos retours)
----
# 2.0
WS2P V2 : (in 2018)
- [ ] not attempt to connect to a node that is already connected to itself #1180
- [ ] Send the uuid and communication version in the connection message
- [ ] Handling version errors
- [ ] When connecting to the same key, add the prefix to the message.
- [ ] Detect when the clique is complete and automatically assign a new prefix in case of duplicate.
- [ ] Create and distribute an endpoint v2 with the same UUID (in addition to endpoint v1 for compatibility)
- [ ] Create an up/down peers report for the ws2p network layer #1226
- [ ] Transmit your peer record during the CONNECT message
- [ ] Create a synchronization mechanism via ws2p #1179
- [ ] Create a V3 head with timestamp broadcast in duplicate V2 head
- [ ] In V3 head, create specific fields for network layer types
- [ ] Filter heads broadcast for connections of version strictly inferior to 3
(This plan is not fixed, it will change regularly according to the needs I see and your feedback.)2.0ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1199pow : refine calibration of cpu rate2020-10-04T18:45:18+02:00Éloïspow : refine calibration of cpu ratehttps://forum.duniter.org/t/duniter-powcluster-js-utilise-mes-8-coeurs-a-100/3608/51?u=eloishttps://forum.duniter.org/t/duniter-powcluster-js-utilise-mes-8-coeurs-a-100/3608/51?u=elois2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/789Rewrite tests for duniter-bma2017-11-28T16:49:16+01:00Cédric MoreauRewrite tests for duniter-bma2 test files are commented and needs to be rewritten to pass2 test files are commented and needs to be rewritten to passHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/866Sign releases2020-04-30T22:10:23+02:00Cédric MoreauSign releasesThe releases should be signed + have a checksum to verify their integrity.
However this supposes to have our own building machines + a way to reproduce them on our own environement, so any allowed developer of Duniter organization cou...The releases should be signed + have a checksum to verify their integrity.
However this supposes to have our own building machines + a way to reproduce them on our own environement, so any allowed developer of Duniter organization could make a build.
Maybe we could use Vagrant or something to build the environement, then building scripts.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/945Allow to pass level argument to logs sub-command2017-11-28T16:49:16+01:00Cédric MoreauAllow to pass level argument to logs sub-command*Created by: M5oul*
Like:
```bash
duniter logs --loglevel trace
```*Created by: M5oul*
Like:
```bash
duniter logs --loglevel trace
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1102WS2P: prevent JSON injection2017-11-28T16:49:16+01:00Cédric MoreauWS2P: prevent JSON injectionWS2P parses received JSON. We need to take a big care on the received JSON because it could carry invalid content.WS2P parses received JSON. We need to take a big care on the received JSON because it could carry invalid content.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1183Champs inutilisés en base de données2017-11-28T16:49:16+01:00Cédric MoreauChamps inutilisés en base de donnéesÀ la lecture du [Chapitre 7 - Base de données](https://duniter.org/fr/wiki/duniter/tutoriel-dev/chapitre-7-bdd/) du tuto de dev, on s'aperçoit qu'il y a plusieurs champs des tables de piscine qui ne sont plus exploitées.
Ces champs ne...À la lecture du [Chapitre 7 - Base de données](https://duniter.org/fr/wiki/duniter/tutoriel-dev/chapitre-7-bdd/) du tuto de dev, on s'aperçoit qu'il y a plusieurs champs des tables de piscine qui ne sont plus exploitées.
Ces champs ne servent plus, ils peuvent être supprimés.
Il faut tout de même vérifier avec les tests que cela est bien vrai (j'ai moi-même fait des recherches avant de noter l'inutilité de ces champs), mais ensuite il faut les retirer et mettre à jour le Chapitre 7 en conséquence.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/770Update peer document less frequently2018-03-07T22:21:48+01:00Cédric MoreauUpdate peer document less frequentlyBecause each time a new document is issued, it modifies the Merkle tree of /network/peering/peers.
With 5000 nodes, and a new document every 10 minutes, the tree is modified every 600 s / 5000 = 0,12s.
If we wanted it to be modifie...Because each time a new document is issued, it modifies the Merkle tree of /network/peering/peers.
With 5000 nodes, and a new document every 10 minutes, the tree is modified every 600 s / 5000 = 0,12s.
If we wanted it to be modified every minute, we would need a regular update of 60s*5000 = 3,47 days.
Another possible solution would be to only consider member nodes, and replace 5000 with the actual `IssuersCount` in current block.
So for example if 20 member nodes exist, to have an average update every minute: 60s*20 = 20 minutes.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/813Network problems in duniter-desktop-0.90.4 & -0.90.62017-11-28T16:49:16+01:00Cédric MoreauNetwork problems in duniter-desktop-0.90.4 & -0.90.6*Created by: Fatsie*
I'm still having network problems in duniter desktop.
My config:
* running in a container with local ip address 10.0.7.2 port 8999, this IP is not routable on the internat only on the LAN.
* have firewall with IP...*Created by: Fatsie*
I'm still having network problems in duniter desktop.
My config:
* running in a container with local ip address 10.0.7.2 port 8999, this IP is not routable on the internat only on the LAN.
* have firewall with IPv4 address 178.238.229.211 with NAT port forwarding of 8999 to 10.0.7.2:8999; firewall does not support UPnP
* container has no IPv6 network config (yet)
* This is in conf.json:
> "port": 8999,
> "ipv4": "10.0.7.2",
> "upnp": false,
> "remotehost": null,
> "remoteipv4": "178.238.229.211",
> "remoteport": 8999,
Server seems to be running: http://178.238.229.211:8999/network/peering
Duniter says network is not reachable:
![home_2017-01-28_12-05-36](https://cloud.githubusercontent.com/assets/11200448/22396159/a5eb4cb6-e552-11e6-8b54-e255a577fec5.png)
Network settings seem to be OK in GUI:
![netsettings_2017-01-28_12-07-15](https://cloud.githubusercontent.com/assets/11200448/22396166/b709bfe6-e552-11e6-8d92-6698edbfd34b.png)
Cesium can't show currency information:
![currency_2017-01-28_12-07-46](https://cloud.githubusercontent.com/assets/11200448/22396170/c6ab6e40-e552-11e6-81f8-c2681d53f55a.png)
nor 'My Account':
![cesiummyaccount_2017-01-28_12-08-30](https://cloud.githubusercontent.com/assets/11200448/22396187/087a75c8-e553-11e6-883e-b3083adfa694.png)
This is a node upgraded from 0.80.x after 'Full reset of the node' in Settings->DATA from the GUI.
https://git.duniter.org/nodes/typescript/duniter/-/issues/944Move wiki documentation on git repository2017-11-28T16:49:16+01:00Cédric MoreauMove wiki documentation on git repository*Created by: M5oul*
…on `doc` folder.
Then close `Wiki` on the settings.
This could avoid loss of documentation.*Created by: M5oul*
…on `doc` folder.
Then close `Wiki` on the settings.
This could avoid loss of documentation.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1015g1.duniter.fr et piscine cgeek.fr !?2018-06-22T16:54:26+02:00Cédric Moreaug1.duniter.fr et piscine cgeek.fr !?*Created by: galuel*
Le 20/06/2017 création d'un membre en attente : http://g1.duniter.fr/#/app/wot/2SSsBi1fNnvqWQn2E38LMHtzi9taxearLj23m7Aho7SN/maryjane
Le 22/06/2017 toujours absent de la piscine : http://wotex.cgeek.fr/?to=maryjan...*Created by: galuel*
Le 20/06/2017 création d'un membre en attente : http://g1.duniter.fr/#/app/wot/2SSsBi1fNnvqWQn2E38LMHtzi9taxearLj23m7Aho7SN/maryjane
Le 22/06/2017 toujours absent de la piscine : http://wotex.cgeek.fr/?to=maryjane&pending=on&mode=w2u
https://git.duniter.org/nodes/typescript/duniter/-/issues/943Encrypt the keypair2020-10-04T18:53:25+02:00Cédric MoreauEncrypt the keypairSee #882.
Now that the keypair is stored, we could add encryption/decryption features.See #882.
Now that the keypair is stored, we could add encryption/decryption features.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1100Allow certification cancelling2017-11-28T16:49:16+01:00Cédric MoreauAllow certification cancellingThe discussion is here: https://forum.duniter.org/t/annulation-de-certification/3233
It is still being discussed.The discussion is here: https://forum.duniter.org/t/annulation-de-certification/3233
It is still being discussed.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1182Separate network key and block computing key2020-10-04T18:45:31+02:00ÉloïsSeparate network key and block computing keyTo allow anonymization of nodes on the network, a member should be able to use a non-member anonymous network key.
The key dedicated to signing the calculated blocks would never be shared on the network.
The blocks that the node will c...To allow anonymization of nodes on the network, a member should be able to use a non-member anonymous network key.
The key dedicated to signing the calculated blocks would never be shared on the network.
The blocks that the node will compute. It would submit them to the network via ws2p in the same way as it relays any other block received. For the nodes that receive its blocks, it would be impossible to know if they are blocks that he has calculated himself or that he simply relays.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/717PB Installation de duniter-desktop sous debian 64 virtualisé virtualbox sous ...2017-11-28T16:49:16+01:00Cédric MoreauPB Installation de duniter-desktop sous debian 64 virtualisé virtualbox sous windows*Created by: bou2fil*
Problème instal sur noeud duniter-desktop sur vm virtualbox debian jessie 64bit, machine hote : windows 10 64 bit
Après avoir installé le paquet Duniter 0.50.2 avec gdebi sous root, j'ai lancé en tapant : dunite...*Created by: bou2fil*
Problème instal sur noeud duniter-desktop sur vm virtualbox debian jessie 64bit, machine hote : windows 10 64 bit
Après avoir installé le paquet Duniter 0.50.2 avec gdebi sous root, j'ai lancé en tapant : duniter-desktop
, il y a la fenetre graphique qui bloque sur du noir et le terminal affiche des trucs ci-dessous :
[1739:1739:1117/171004:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
2016-11-17T17:10:04+01:00 - debug: Opening SQLite database "/home/fil/.config/duniter/duniter_default/duniter.db"...
[1739:1739:1117/171004:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171004:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171004:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171004:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
[1739:1739:1117/171005:ERROR:gles2_cmd_decoder.cc(2291)] [.RenderWorker-0x7fa67753a4f0]GL ERROR :GL_INVALID_VALUE : ScopedTextureBinder::dtor: <- error from previous GL command
2016-11-17T17:10:05+01:00 - debug: Upgrade database...
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/859Systematically error + dumped2017-11-28T16:49:16+01:00Cédric MoreauSystematically error + dumped*Created by: galuel*
J'ai toujours un plantage sous Ubuntu 64 bits, lors du premier lancement de duniter-desktop, depuis tout le temps je crois bien. J'y ai pas trop porté d'attention, car au deuxième lancement ça fonctionne généralemen...*Created by: galuel*
J'ai toujours un plantage sous Ubuntu 64 bits, lors du premier lancement de duniter-desktop, depuis tout le temps je crois bien. J'y ai pas trop porté d'attention, car au deuxième lancement ça fonctionne généralement...
$ duniter-desktop
2017-03-01T12:36:23+01:00 - debug: Plugging file system...
2017-03-01T12:36:23+01:00 - debug: Loading conf...
2017-03-01T12:36:24+01:00 - debug: Configuration saved.
2017-03-01T12:36:24+01:00 - debug: Opening SQLite database "/home/galuel/.config/duniter/duniter_default/duniter.db"...
2017-03-01T12:36:24+01:00 - debug: Upgrade database...
2017-03-01T12:36:24+01:00 - info: Duniter server listening on http://192.168.0.77:30118
2017-03-01T12:36:24+01:00 - info: UPnP: configuring...
2017-03-01T12:36:24+01:00 - trace: UPnP: mapping external port 30118 to local 30118...
2017-03-01T12:36:24+01:00 - info: Crawling the network...
2017-03-01T12:36:24+01:00 - info: Pulling blocks from the network...
2017-03-01T12:36:25+01:00 - trace: Checking if node DZRR5W is UP... (88.190.82.70:30118)
2017-03-01T12:36:25+01:00 - info: Sibling endpoints:
2017-03-01T12:36:25+01:00 - trace: Try with 90.9.227.204:8999 7iBkcy
2017-03-01T12:36:25+01:00 - info: Crawling done.
2017-03-01T12:36:25+01:00 - info: External access: 88.190.82.70:30118
2017-03-01T12:36:25+01:00 - debug: Generating server's peering entry based on block#8697...
2017-03-01T12:36:26+01:00 - error:
Abandon (core dumped)
- deuxième lancement :
$ duniter-desktop
2017-03-01T12:36:44+01:00 - debug: Plugging file system...
2017-03-01T12:36:45+01:00 - debug: Loading conf...
2017-03-01T12:36:45+01:00 - debug: Configuration saved.
2017-03-01T12:36:45+01:00 - debug: Opening SQLite database "/home/galuel/.config/duniter/duniter_default/duniter.db"...
2017-03-01T12:36:45+01:00 - debug: Upgrade database...
2017-03-01T12:36:45+01:00 - info: Duniter server listening on http://192.168.0.77:30118
2017-03-01T12:36:45+01:00 - info: UPnP: configuring...
2017-03-01T12:36:45+01:00 - trace: UPnP: mapping external port 30118 to local 30118...
2017-03-01T12:36:45+01:00 - info: Crawling the network...
2017-03-01T12:36:45+01:00 - info: Pulling blocks from the network...
2017-03-01T12:36:46+01:00 - info: Crawling done.
2017-03-01T12:36:46+01:00 - debug: Will check that node DZRR5W (88.190.82.70:30118) is UP in 1440 min...
2017-03-01T12:36:46+01:00 - info: Sibling endpoints:
2017-03-01T12:36:46+01:00 - trace: Try with 90.9.227.204:8999 7iBkcy
2017-03-01T12:36:46+01:00 - info: External access: 88.190.82.70:30118
2017-03-01T12:36:46+01:00 - debug: Generating server's peering entry based on block#8698...
2017-03-01T12:36:46+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2017-03-01T12:36:46+01:00 - info: Changing conf to: {"prefix":10} on engine#2
2017-03-01T12:36:46+01:00 - info: Next peering signal in 10 min
2017-03-01T12:36:46+01:00 - warn: Waitinghttps://git.duniter.org/nodes/typescript/duniter/-/issues/928gtest and g1 nodes communicating2017-11-28T16:49:16+01:00insogtest and g1 nodes communicatingHello,
I just saw the following logs in sakia :
```
DEBUG:network:handle_new_node:Stacking new peer document : 77mfxsDcX8JZKHD9fBC9wNtM1R7Yj3WA27DsY7kyrePX
DEBUG:network:discovery_loop:New node found : 77mfx
DEBUG:network:disco...Hello,
I just saw the following logs in sakia :
```
DEBUG:network:handle_new_node:Stacking new peer document : 77mfxsDcX8JZKHD9fBC9wNtM1R7Yj3WA27DsY7kyrePX
DEBUG:network:discovery_loop:New node found : 77mfx
DEBUG:network:discovery_loop:Error : Node is working for gtest currency, but should be g1
```
What do you think about it ?https://git.duniter.org/nodes/typescript/duniter/-/issues/1012Remember installed modules and reinstall them on Duniter update2020-10-04T18:48:09+02:00Cédric MoreauRemember installed modules and reinstall them on Duniter updateToday modules are completely removed when Duniter gets upgraded, and need to be manually reinstalled if we want to keep them working.
We could remember these installed modules in the configuration file, and reinstall them on Duniter sta...Today modules are completely removed when Duniter gets upgraded, and need to be manually reinstalled if we want to keep them working.
We could remember these installed modules in the configuration file, and reinstall them on Duniter startup if they are not installed yet (i.e. present in the package.json file).
Also if a module gets removed, we would remove it from the configuration file.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1179Create a synchronization mechanism via ws2p2020-10-04T18:45:53+02:00ÉloïsCreate a synchronization mechanism via ws2pThis requires creating a new type of WS2P connection specifically designed for sync, a kind of temporary websocket just the time to download chunk files.This requires creating a new type of WS2P connection specifically designed for sync, a kind of temporary websocket just the time to download chunk files.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/926Prune sandboxes on incoming data2017-11-28T16:49:16+01:00Cédric MoreauPrune sandboxes on incoming dataSee https://forum.duniter.org/t/noeud-specialise-pour-visualiser-salle-dattente-des-futurs-membres-g1/2230/69See https://forum.duniter.org/t/noeud-specialise-pour-visualiser-salle-dattente-des-futurs-membres-g1/2230/69Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1099Have a dynamic stock of certifications2017-11-28T16:49:16+01:00Cédric MoreauHave a dynamic stock of certificationsThe discussion is here: https://forum.duniter.org/t/stock-de-certifications-dynamique/3232
For now this is still an under discussion feature.The discussion is here: https://forum.duniter.org/t/stock-de-certifications-dynamique/3232
For now this is still an under discussion feature.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1180WS2P Optimization: do not attempt to connect to a node whose key has already ...2020-10-04T18:47:45+02:00ÉloïsWS2P Optimization: do not attempt to connect to a node whose key has already connected us.It seems that Private WS2P is trying to connect to keys that are already connected in public mode.
Provide an exception for oneself (for multi-node cases).It seems that Private WS2P is trying to connect to keys that are already connected in public mode.
Provide an exception for oneself (for multi-node cases).2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/857Sync may lead to empty BINDEX2017-11-28T16:49:16+01:00Cédric MoreauSync may lead to empty BINDEXUnder certain circumstances, after a full sync and then a start, the BINDEX is empty.
I suspect this has some link with the block number being a multiple of the chunk, or something related.Under certain circumstances, after a full sync and then a start, the BINDEX is empty.
I suspect this has some link with the block number being a multiple of the chunk, or something related.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/921Fast sync restarting a node with too much blocks missing2017-11-28T16:49:16+01:00Cédric MoreauFast sync restarting a node with too much blocks missing*Created by: M5oul*
When a node have been stopped for a long time.
It would be great that a mechanism detects that the node have too much blocks late.
Instead of trying to sync slowly.
It would be great that the fast sync could be la...*Created by: M5oul*
When a node have been stopped for a long time.
It would be great that a mechanism detects that the node have too much blocks late.
Instead of trying to sync slowly.
It would be great that the fast sync could be launched from current local blockchain state.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1009Network & sync issues since 1.3.92017-11-28T16:49:16+01:00Cédric MoreauNetwork & sync issues since 1.3.9https://forum.duniter.org/t/duniter-version-1-3/2684/13
https://forum.duniter.org/t/duniter-version-1-3/2684/13
1.3.10https://git.duniter.org/nodes/typescript/duniter/-/issues/1101Difficulties not updated with HEAD2017-11-28T16:49:16+01:00Cédric MoreauDifficulties not updated with HEAD*Created by: M5oul*
I noticed that the ID of the HEAD block issued by this ID is not displayed on `/blockchain/difficulties` when this ID was not on the current window. *Created by: M5oul*
I noticed that the ID of the HEAD block issued by this ID is not displayed on `/blockchain/difficulties` when this ID was not on the current window. Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/764Create issues for covering the protocol global rules2018-03-07T22:18:30+01:00Cédric MoreauCreate issues for covering the protocol global rulesWe should aim at covering every single rule of the protocol, at least for the global scope rules.
The idea is to reproduce what has been done in 50886de5c5577f1470fd4e6d8a2931eeabe27ce6.
We should create an issue per rule, so anyon...We should aim at covering every single rule of the protocol, at least for the global scope rules.
The idea is to reproduce what has been done in 50886de5c5577f1470fd4e6d8a2931eeabe27ce6.
We should create an issue per rule, so anyone could take the issue and focus on it.
Eventually, we could go further and do the same (create an issue) for the computation rules (BR_G01 to BR_G48).Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/852Do not launch PoW engines if not a member2017-11-28T16:49:16+01:00Cédric MoreauDo not launch PoW engines if not a memberHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/907Prioritize transaction's integration2017-11-28T16:49:16+01:00Cédric MoreauPrioritize transaction's integration> (14:54:45) inso: du coup on a rien conclut pour le moment pour limiter les tx "spam" ? :)
(14:55:47) inso: Dans bitcoin on notera que les noeuds ont des règles anti spam : https://en.bitcoin.it/wiki/Spam_transactions
(15:03:47) Moul ...> (14:54:45) inso: du coup on a rien conclut pour le moment pour limiter les tx "spam" ? :)
(14:55:47) inso: Dans bitcoin on notera que les noeuds ont des règles anti spam : https://en.bitcoin.it/wiki/Spam_transactions
(15:03:47) Moul [moul@moul.re/cab338c8-e743-424c-a0d7-b8247b43dfb6] a rejoint le salon.
(15:05:39) mamygeek a quitté le salon (Disconnected: closed)
(15:10:59) inso: Un truc tout simple pour l'anti spam : "Specifically, it looks for the age of the transaction outputs that are being spent. If you are transferring coins that were previously transfered a short time before, the priority goes down,"
(15:11:35) mamygeek [mamygeek@im.apinc.org/Julie] a rejoint le salon.
(15:12:55) Tortue a quitté le salon (Disconnected: timeout during receiving)
(15:12:57) cgeek: inso: oui c'est une bonne idée ça
(15:13:10) inso: Et qui suffit à régler un grand nombre de cas (quelqu'un qui chercherait à spammer le réseau pourrait consommer tout ses outputs, puis ça s'arrêterait puisque ses nouveaux outputs seraient trop récents)
(15:14:28) inso: Ce qui est intéressant c'est que des tx sans fees sont faisable dans bitcoin si elles respectent des conditions assez proche de ce qu'on fait dans DUniter :) http://bitcoin.stackexchange.com/a/37233
(15:14:39) inso: It is smaller than 1,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough
(15:15:42) inso: Un petit point auquel je pense avec le problème de l'age des outputs - le chaining de transactions ne serait plus possible (ou apparaitre comme du spam)
(15:15:48) inso: Il faudrait l'implémenter différement
(15:25:09) inso: en fait non, les tx de change n'apparaitraient pas comme du spam
(15:25:19) inso: car on passerait de 44 inputs à 1 output
(15:25:33) inso: donc on détruit des outputs -> cette transaction est raisonnable
(15:25:57) inso: donc la priorité serait un facteur de l'age de l'output mais aussi de son origine (le nombre d'input détruit pour créé cette output)
(15:27:04) cgeek: oui d'accord, privilégier d'abord celles qui diminuent les outputs, puis celle à nombre égal priorisées par age, puis celles qui augmentent le nombre triées par augmentation et age
(15:28:46) inso: ca me parait correct :)https://git.duniter.org/nodes/typescript/duniter/-/issues/1095UPnP ports are opened during automated tests2017-11-28T16:49:16+01:00Cédric MoreauUPnP ports are opened during automated testsI could see several ports opened during unit tests using UPnP.
That should not occur, it is a bug in the tests.I could see several ports opened during unit tests using UPnP.
That should not occur, it is a bug in the tests.https://git.duniter.org/nodes/typescript/duniter/-/issues/1176resolv why test ws2p server limitations needs to establish a oneself ws2p con...2020-10-04T18:46:39+02:00Éloïsresolv why test ws2p server limitations needs to establish a oneself ws2p connectionthis test does not pass any more when we warn oneself ws2p connection :
So in the meantime we're applying an exception on the 11111111 uuid : https://github.com/duniter/duniter/commit/9fe597ee15631ff924addcb8a41a40577c211c93this test does not pass any more when we warn oneself ws2p connection :
So in the meantime we're applying an exception on the 11111111 uuid : https://github.com/duniter/duniter/commit/9fe597ee15631ff924addcb8a41a40577c211c932.0https://git.duniter.org/nodes/typescript/duniter/-/issues/845Double-spending try on block generation2017-11-28T16:49:16+01:00Cédric MoreauDouble-spending try on block generationI noticed that some nodes were trying to include double-spending transactions.
I have backup `jytou2` to test this.I noticed that some nodes were trying to include double-spending transactions.
I have backup `jytou2` to test this.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1002Pay to pubkey hash2019-09-25T00:10:10+02:00insoPay to pubkey hashI think it could be interesting to send money to pubkey hash instead of directly the pubkey. This is what bitcoin calls "addresses".
This would be a first step in anonymization : we could send money to a second wallet, but this second...I think it could be interesting to send money to pubkey hash instead of directly the pubkey. This is what bitcoin calls "addresses".
This would be a first step in anonymization : we could send money to a second wallet, but this second wallet would be hidden from the public until some money is spent from it.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1083Improve block generation speed2017-11-28T16:49:16+01:00Cédric MoreauImprove block generation speedOn low configurations like a Raspberry PI, generating a block (the phase before proof) is VERY long.
This is a big handicap, sometimes a dozen of seconds, for these nodes.
It seems that the WoT data is what is long to generate:
...On low configurations like a Raspberry PI, generating a block (the phase before proof) is VERY long.
This is a big handicap, sometimes a dozen of seconds, for these nodes.
It seems that the WoT data is what is long to generate:
```
2017-08-23T13:38:05+00:00 - debug: It already exists a written certification from 34k6isdkoYZjcEvS3qZqATeTYjY1b3K1gLyW1K77Pea4 which is not chainable yet
2017-08-23T13:38:05+00:00 - debug: It already exists a written certification from DymYJziyjC9pyupKNxT9iukEKrnFSGNCLnxFQtSWJSg5 which is not chainable yet
2017-08-23T13:38:05+00:00 - debug: It already exists a written certification from 5SwfQubSat5SunNafCsunEGTY93nVM4kLSsuprNqQb6S which is not chainable yet
2017-08-23T13:38:05+00:00 - debug: It already exists a written certification from BqegkjBDibg8iUQQnqDrvGLhgcTYTxBnz19LUBNKRdeN which is not chainable yet
2017-08-23T13:38:05+00:00 - debug: It already exists a written certification from 4rWREtAxNS2L427f4vG2LafZNZ9ZLj3cvFFxGyrtFzGL which is not chainable yet
2017-08-23T13:38:06+00:00 - debug: It already exists a written certification from 5SwfQubSat5SunNafCsunEGTY93nVM4kLSsuprNqQb6S which is not chainable yet
2017-08-23T13:38:06+00:00 - debug: It already exists a written certification from GwhyPg6tiESpArzQ2oXXNq7aHPFwBHxp21Eqkf2fvRQV which is not chainable yet
2017-08-23T13:38:06+00:00 - debug: It already exists a written certification from GudqRDfrUYfweHkbscitHiJTBL3UMYejKu3Us4kP3ds9 which is not chainable yet
2017-08-23T13:38:06+00:00 - debug: It already exists a written certification from 78jhpprYkMNF6i5kQPXfkAVBpd2aqcpieNsXTSW4c21f which is not chainable yet
2017-08-23T13:38:06+00:00 - debug: It already exists a written certification from DfAT7wGnRG4c3vnCDSfF5CW8HkwLRL6bMb1ykQPiAgCX which is not chainable yet
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/744Allow to change the Nrp parameters2017-11-28T16:49:16+01:00Cédric MoreauAllow to change the Nrp parametershttps://forum.duniter.org/t/version-0-60-0-protocole-final/1486/2?u=cgeekhttps://forum.duniter.org/t/version-0-60-0-protocole-final/1486/2?u=cgeekHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/846Have a minimal proof-of-work level2018-03-07T21:15:45+01:00Cédric MoreauHave a minimal proof-of-work levelWe noticed that during a hard-fork event there is a strong time acceleration which makes the PoW easier and easier as new blocks comes in, to a point where the difficulty become so easy that a block is issued within few seconds leading t...We noticed that during a hard-fork event there is a strong time acceleration which makes the PoW easier and easier as new blocks comes in, to a point where the difficulty become so easy that a block is issued within few seconds leading to breaking the synchronization of the nodes.
A minimal proof-of-work level could avoid such situations.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/903Tests failed with YunoHost app at sync with sqlite issue2017-11-28T16:49:16+01:00Cédric MoreauTests failed with YunoHost app at sync with sqlite issue*Created by: M5oul*
Tests failed on YunoHost-Apps test, install in this case:
```bash
Warning: yunohost.hook <lambda> - [925.1] 2017-03-20T22:32:36+00:00 - debug: 15000
Warning: yunohost.hook <lambda> - [925.1] 2017-03-20T22:32:37+00...*Created by: M5oul*
Tests failed on YunoHost-Apps test, install in this case:
```bash
Warning: yunohost.hook <lambda> - [925.1] 2017-03-20T22:32:36+00:00 - debug: 15000
Warning: yunohost.hook <lambda> - [925.1] 2017-03-20T22:32:37+00:00 - debug: Trying to close SQLite...
Warning: yunohost.hook <lambda> - [925.1] 2017-03-20T22:32:37+00:00 - error: Error: SQL error "SQLITE_CONSTRAINT: NOT NULL constraint failed: b_index.udTime" on query "INSERT INTO b_index (`version`,`bsize`,`hash`,`issuer`,`time`,`number`,`membersCount`,`issuersCount`,`issuersFrame`,`issuersFrameVar`,`issuerDiff`,`avgBlockSize`,`medianTime`,`dividend`,`mass`,`massReeval`,`unitBase`,`powMin`,`udTime`,`udReevalTime`,`diffNumber`,`speed`) VALUES
Warning: yunohost.hook <lambda> - [925.1] (10,0,'000053A3F6C2C3C35AB624F1AE49CBBED6BDA40EA6EBE149971FE4F51EBBC6AB','CSjgcGguFJe3ghBBjjGyNVdvC3rqtXE7rSxUaLzjxBhR',1489942686,14750,40,6,31,0,null,0,1489938240,2654,'10559063383','10558001783',1,73,null,null,14760,0.0032520325203252032),
Warning: yunohost.hook <lambda> - [925.1] (10,0,'000041DB796E71D13287CB6519E9C4A5B4E632A1E602ADF4C82BD79DBF1BA636','2pyPsXM8UCB88jP2NRM4rUHxb63qm89JMEWbpoRrhyDK',1489942812,14751,40,6,31,0,null,0,1489938615,2654,'10560124983','10559063383',1,73,null,null,14760,0.003124023742580444),
Warning: yunohost.hook <lambda> - [925.1] (10,0,'00006A384B40303A2E8F6E10C2700F9C1C2807671BFA030814E4C3911A28C28E','HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk',1489943040,14752,40,6,31,0,null,0,1489938990,2654,'10561186583','10560124983',1,73,null,null,14760,0.002999400119976005),
Warning: yunohost.hook <lambda> - [925.1] (10,0,'000041901D989F8E3D9D51BEFE9B9403445FB83676E0FAD5778E5EC4F7DAAC47','77mfxsDcX8JZKHD9fBC9wNtM1R7Yj3WA27DsY7kyrePX',1489944337,14753,40,6,31,0,null,0,1489939343,2654,'10562248183','10561186583',1,73,null,null,14760,0.0028960324355632784),
Warning: yunohost.hook <lambda> - [925.1]
```
The CI host is on LXC.
- [Full logs](https://ci-apps.yunohost.org/jenkins/job/duniter%20(Community)/lastBuild/consoleFull).Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/996Cannot read property 'pubkey' of undefined2017-11-28T16:49:16+01:00Cédric MoreauCannot read property 'pubkey' of undefined```
2017-05-25T11:30:49+02:00 - warn: TypeError: Cannot read property 'pubkey' of undefined
at /home/cgeek/dev/duniter-ui/node_modules/duniter/app/service/BlockchainService.js:275:35
at next (native)
at onFulfilled (/hom...```
2017-05-25T11:30:49+02:00 - warn: TypeError: Cannot read property 'pubkey' of undefined
at /home/cgeek/dev/duniter-ui/node_modules/duniter/app/service/BlockchainService.js:275:35
at next (native)
at onFulfilled (/home/cgeek/dev/duniter-ui/node_modules/co/index.js:65:19)
at process._tickCallback (internal/process/next_tick.js:109:7)
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1085BUG - v1.5.5 - Duniter sync fails on clean instance2017-11-28T16:49:16+01:00florckBUG - v1.5.5 - Duniter sync fails on clean instanceI installed duniter 1.5.4 on a clean ubuntu 16.4 using the server .deb package.
First, unzip is not mentionned as a dependance, but the package installation failed first because unzip was missing. This is not the purpose of this bug.
...I installed duniter 1.5.4 on a clean ubuntu 16.4 using the server .deb package.
First, unzip is not mentionned as a dependance, but the package installation failed first because unzip was missing. This is not the purpose of this bug.
I did an autoconfig, then a network config.
When I started the sync with my node duniter.floth.fr 443 first step went well, but second failed with the following message:
Status: GOT chunck #17/185 from 4250 to 4499 on peer 88.162.208.159:25250/usr/bin/duniter: line 15: 26830 Killed $NODE "$DUNITER_DIR/bin/duniter" "$@"https://git.duniter.org/nodes/typescript/duniter/-/issues/1169Change handicap formula : replace the median by second tiercile2017-12-11T21:03:02+01:00ÉloïsChange handicap formula : replace the median by second tiercilehttps://forum.duniter.org/t/noeud-raspberry-pi-toujours-suffisant-pour-calculer/3514/6?u=eloishttps://forum.duniter.org/t/noeud-raspberry-pi-toujours-suffisant-pour-calculer/3514/6?u=elois2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/730Logs are not complete2018-03-07T21:28:51+01:00insoLogs are not completeWhen I start duniter using `duniter start` then `duniter logs`, I only find the following logs :
```
2016-11-25T18:37:05+01:00 - info: External access: testnet.duniter.inso.ovh:80
2016-11-25T18:37:05+01:00 - debug: Generating serve...When I start duniter using `duniter start` then `duniter logs`, I only find the following logs :
```
2016-11-25T18:37:05+01:00 - info: External access: testnet.duniter.inso.ovh:80
2016-11-25T18:37:05+01:00 - debug: Generating server's peering entry based on block#57995...
2016-11-25T18:37:05+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2016-11-25T18:37:05+01:00 - debug: --> new Peer to be sent to 0 peer(s)
2016-11-25T18:37:05+01:00 - info: POST Peer 26emBEjX2Q#57995
2016-11-25T18:37:05+01:00 - info: Next peering signal in 10 min
2016-11-25T18:37:05+01:00 - debug: --> new Peer to be sent to 0 peer(s)
2016-11-25T18:37:05+01:00 - info: POST Peer 26emBEjX2Q#57995
2016-11-25T18:37:05+01:00 - info: Pulling blocks from the network...
2016-11-25T18:37:05+01:00 - info: Will pull blocks from the network in 4 min 0 sec
```
But if I use the command `duniter direct_start`, I can see the cause of the crash :
```
2016-11-25T18:37:05+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2016-11-25T18:37:05+01:00 - debug: --> new Peer to be sent to 0 peer(s)
2016-11-25T18:37:05+01:00 - info: POST Peer 26emBEjX2Q#57995
2016-11-25T18:37:05+01:00 - info: Next peering signal in 10 min
2016-11-25T18:37:05+01:00 - debug: --> new Peer to be sent to 0 peer(s)
2016-11-25T18:37:05+01:00 - info: POST Peer 26emBEjX2Q#57995
2016-11-25T18:37:05+01:00 - info: Pulling blocks from the network...
2016-11-25T18:37:05+01:00 - info: Will pull blocks from the network in 4 min 0 sec
2016-11-25T18:37:06+01:00 - error: Error on WS Server
2016-11-25T18:37:06+01:00 - error: Error: listen EACCES 127.0.0.1:80
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at Server._listen2 (net.js:1221:19)
at listen (net.js:1270:10)
at net.js:1379:9
at _combinedTickCallback (node.js:386:13)
at process._tickCallback (node.js:407:11)
2016-11-25T18:37:06+01:00 - error: Error: listen EACCES 127.0.0.1:80
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at Server._listen2 (net.js:1221:19)
at listen (net.js:1270:10)
at net.js:1379:9
at _combinedTickCallback (node.js:386:13)
at process._tickCallback (node.js:407:11)
/opt/testnet/.duniter$ Killing engine 26emBEjX2QChhsnpfym4E33DwSJJk66dXYoZbg8vAZwB #1
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/840DEP#001 Difficulty agreement protocol2020-10-04T19:22:26+02:00Cédric MoreauDEP#001 Difficulty agreement protocol* Related to: blockchain, proof-of-work
* Requires protocol upgrade: Yes
# Problem description
As of Duniter Protocol v1.0, the blockchain can be written only by members following this rule: at any moment, any member can issue a new bl...* Related to: blockchain, proof-of-work
* Requires protocol upgrade: Yes
# Problem description
As of Duniter Protocol v1.0, the blockchain can be written only by members following this rule: at any moment, any member can issue a new block with the contents of its will.
This implies 3 problems:
1. **Empty block easiness**: an empty block is faster to compute than a full one, because the proof-of-work can be started immediately without extra computing due to the inclusion of new data (trying to include transactions, identities, certifications and check all the rules). So if a malicious node wanted to slow down the inclusion of new data in the blockchain, it would just need to compute empty blocks. Not only is this behavior annoying, but it will also have some computing advantage because of the non-inclusion of new data.
2. **Empty blockchain**: if a group of malicious nodes was to adopt the behavior described in 1), and was also big and powerful enough compared to the rest of the computing nodes, this group could easily break the currency by making empty blocks.
3. **Deliberate forks**: if a group of malicious nodes similar to 2) was trying to make blockchain forks deliberately — thanks to its high computing power, he could compute 2 valid blocks and spread each of them to half of the network, creating a fork — this could slow down the blockchain seriously.
# Proposed enhancement
![image](https://cloud.githubusercontent.com/assets/969136/23123529/047045fc-f769-11e6-923e-f9363b6a67ba.png)
The proposition would be to have an additional global handicap, depending on current computing members. This additional handicap would be decreased for each **agreement** received by other nodes and included in the computed block.
The agreements are signed by their issuer, and are issued between each proof-of-work. **Only computing members** can issue them. Computing members are known to be the issuers of the last `IssuersCount` block in the blockchain.
In the above example, we see Node 1 (N1) has a difficulty of 60, like N2, N3, N4. This difficulty = N1's difficulty + global handicap. Let's say that here, N1's difficulty = 56 and global handicap = 4, because we have 4 computing nodes. So the basic difficulty for N1 = 60.
N1 receives 3 *agreements*:
* N2's agreement `6TX:B30A`: translation « *you can lower your difficulty by one if the block you compute contains at least 6 transactions, and is based on previous block #30, hash `A`* ».
* N3's agreement `4TX:B30A`: translation « *you can lower your difficulty by one if the block you compute contains at least 4 transactions, and is based on previous block #30, hash `A`* ».
* N4's agreement `4TX:B30F`: translation « *you can lower your difficulty by one if the block you compute contains at least 4 transactions, and is based on previous block #30, hash `F`* ».
If we consider N1, it's final difficulty varies depending on the block it computes:
* computing `B30A`, with 6 transactions: N1's `D = 60 - 1 - 1 = 58`, because he received 2 agreements from other nodes complying with this situation.
* computing `B30A`, with 4 transactions: N1's `D = 60 - 1 = 59`, because he received 1 agreement from other nodes complying with this situation.
* computing `B30A`, with 3 transactions: N1's `D = 60`, because he did not receive any agreements from other nodes complying with this situation.
* computing `B30F`, with 4 transactions: N1's `D = 60 - 1 = 59`
* computing `B30G`, with 10 transactions: N1's `D = 60`
* computing `B30G`, with 20 transactions: N1's `D = 60`
* computing `B30G`, with 1000 transactions: N1's `D = 60`
# Consequences
1. **Block easiness**: making empty block, whereas most of the network is expecting 4 transactions (because they see these transactions pending in their sandbox), would require the maximum difficulty, which is equal to "personal difficulty + global handicap". So the computing members will have a word on what can be and what cannot be the next block. Note how this does not prevent a malicious node to compute an empty block, but it will be harder to go against the global agreement. The more we have computing members, the harder is to go against the global will.
2. **Empty blockchain**: since it is harder to make empty blocks, it is even harder to make an empty blockchain.
3. **Deliberate forks**: even under the hypothesis of a special task force able to create blocks on their will before anyone, and make the network fork, at least this would be costly for them. It will be even more costly as they don't integrate expected data. So we have more chances that even if they create forks, at least some data is in each fork.
4. **Global difficulty decrease**: with such an algorithm, it becomes possible to *encourage low nodes to compute blocks*. Indeed, each node is free to share its agreement with the nodes it wants. If a node or a group of node decide to favor nodes with low computing power, they can do it. They can also not favor nodes they consider malicious.
# Precautions
Of course if some nodes stop sending agreements, this would globally increase the difficulty. This is very likely to happen, since all nodes are not permanent but daytime nodes.
Also, since an Agreement is issued at every block and to potentially all the computing nodes, this would make a lot of network data. We could consider a high limit for the global handicap equal to 80 (= 5*16 = 5 zeros ~= 1.048.576 times harder proof-of-work). So to have the lowest difficulty, a node would require 80 agreements: this value seems acceptable on long term run, even more as we expect thousands of transactions per block (5' block interval).
# Technical impacts
This would impact protocol's difficulty rule, block document structure, create a new « Agreement » document and handling Agreement's generation and interpretation.
### Difficulty rule
The rule would be changed to include a new `NB_AGREEMENTS` variable.
Formula would change from:
MAX [ HEAD.powMin ; HEAD.powMin * FLOOR (percentRot * nbPreviousIssuers / (1 + nbBlocksSince)) ] + PERSONAL_HANDICAP
to:
MAX [ HEAD.powMin ; HEAD.powMin * FLOOR (percentRot * nbPreviousIssuers / (1 + nbBlocksSince)) ] + PERSONAL_HANDICAP - NB_AGREEMENTS
### Agreement document
It should be defined an Agreement document, which could look like:
Version: VERSION
Type: NetworkAgreement
Currency: CURRENCY
NbJoiners: NB_JOINERS
NbActives: NB_ACTIVES
NbLeavers: NB_LEAVERS
NbRevocations: NB_REVOCATIONS
NbCertifications: NB_CERTS
NbTransactions: NB_TX
BOTTOM_SIGNATURE
It's inline format would look like:
NBJ:NBA:NBL:NBR::NBC:NBT:SIGNATURE
Where:
* `NBJ` is the number of expected records under `Joiners`
* `NBA` is the number of expected records under `Actives`
* `NBL` is the number of expected records under `Leavers`
* `NBR` is the number of expected records under `Revocations`
* `NBC` is the number of expected records under `Certifications`
* `NBT` is the number of expected records under `Transactions`
### Block's structure
It would be added an `NetworkAgreement` list before the `InnerHash`:
NetworkAgreement:
INLINE_NETWORK_AGREEMENT
...
### Document handling
* **On document's reception**: parse and verify the document signature and compliance with currently generated bloc.
* **On block generation**: generate a new block, count the number of each entity that is expected to be written, sign the document, pick a peer selection to which send the document.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1162use --keyprompt in daemon mode2021-01-04T13:13:05+01:00Éloïsuse --keyprompt in daemon modeCurrently, the `--keyprompt` option works only in `direct_start` mode.Currently, the `--keyprompt` option works only in `direct_start` mode.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/902Scaling up the certifications pools with a DHT2017-11-28T16:49:16+01:00insoScaling up the certifications pools with a DHTAs we can see, since it takes a long time for one to become a member, the data pools are filled up and it is stucking the entrance of new members.
Here, I'm suggesting an evolution to be able to scale up the pools. We already discusse...As we can see, since it takes a long time for one to become a member, the data pools are filled up and it is stucking the entrance of new members.
Here, I'm suggesting an evolution to be able to scale up the pools. We already discussed it on the chat some time ago, but I wanted to trace the idea.
The certifications are blocked because, for one new member, you need 5 certifications.
The nodes can locally only have locally the MS+IDTY documents and a partial view of the certifications. Thus, we only need to distribute the certifications on the DHT.
The overall idea is :
- The nodes have the identities and memberships in their pools. They don't necessary have all the identities or all the memberships.
- The nodes are distributing throught a DHT the certifications documents
- The nodes use the DHT to discover which identity can become a member when forging new blocks
## The DHT
I suggest to use Kademlia DHT, for example using KAD framework for node js : https://github.com/kadtools/kad.
The format of the keys could be :
```
CERT:[PUBKEY_TO]
```
- [PUBKEY_TO] corresponds to the pubkey being certified
The format of the values would be the raw certification documents valid and writable for the given timestamp target.
## The forging of blocks
- During the computation of block "N", the node would check which identity could become a member in block "N+1".
- For all Identities+Membership in the pool, if they don't have enough certifications locally, they would ask the network for valid certifications about this identity and membership.
- When block "N" is computed, the node would start computing block "N+1" with the data received by the network during the computation of block "N" .
## Duniter plugins required for Kad
- A middleware using pubkey of peers to protect the network against classic sybil attacks
- A middleware to append data to keys when receiving documents throught BMA
https://git.duniter.org/nodes/typescript/duniter/-/issues/979Use YAML format for document parsing2020-10-04T18:51:39+02:00Cédric MoreauUse YAML format for document parsingDuniter documents' format is so much close to YAML that it would really be better to use diretly this format, allowing us to use YAML tools that exists in our prefered language.
Note: this does not require any change in the protocol, we...Duniter documents' format is so much close to YAML that it would really be better to use diretly this format, allowing us to use YAML tools that exists in our prefered language.
Note: this does not require any change in the protocol, we can keep our current format (a.k.a. RAW) for signing documents. However, we can work with a YAML transformation for parsing documents coming from the network in RAW format:
RAW --> YAML --> JSON --> RAW
* `RAW --> YAML` would be done by us, according the the very simple algorithms given below
* `YAML --> JSON` would be done by `js-yaml` library (or equivalent on other platforms)
* `JSON --> RAW` would be done by us, because we want very specifc layout for signing documents
That's cool because we won't need text parsers anymore, we can delegate this job to YAML parser. For example, [this code would be removed from Duniter](https://github.com/duniter/duniter/tree/master/app/lib/streams/parsers) (notably the one in GenericParser.js).
I would then add this core stuff in `duniter-common` module, so anything concerning documents and their format would be available to any Node.js library which would need it.
Note how the YAML format for blocks makes it very easy to read every field:
Look:
### Duniter block format
```
Version: VERSION
Type: Block
Currency: CURRENCY
Number: BLOCK_ID
PoWMin: NUMBER_OF_ZEROS
Time: GENERATED_ON
MedianTime: MEDIAN_DATE
UniversalDividend: DIVIDEND_AMOUNT
UnitBase: UNIT_BASE
Issuer: ISSUER_KEY
IssuersFrame: ISSUERS_FRAME
IssuersFrameVar: ISSUERS_FRAME_VAR
DifferentIssuersCount: ISSUER_KEY
PreviousHash: PREVIOUS_HASH
PreviousIssuer: PREVIOUS_ISSUER_KEY
Parameters: PARAMETERS
MembersCount: WOT_MEM_COUNT
Identities:
PUBLIC_KEY:SIGNATURE:I_BLOCK_UID:USER_ID
...
Joiners:
PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
...
Actives:
PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
...
Leavers:
PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
...
Revoked:
PUBLIC_KEY:SIGNATURE
...
Excluded:
PUBLIC_KEY
...
Certifications:
PUBKEY_FROM:PUBKEY_TO:BLOCK_ID:SIGNATURE
...
Transactions:
COMPACT_TRANSACTION
...
InnerHash: BLOCK_HASH
Nonce: NONCE
BOTTOM_SIGNATURE
```
What do we lack precisely to have a valid YAML document?
* prefix each multiline field value with `- `
* prefix `BOTTOM_SIGNATURE` with `Sig: `
* change COMPACT_TRANSACTION format
Result:
```yml
Version: VERSION
Type: Block
Currency: CURRENCY
Number: BLOCK_ID
PoWMin: NUMBER_OF_ZEROS
Time: GENERATED_ON
MedianTime: MEDIAN_DATE
UniversalDividend: DIVIDEND_AMOUNT
UnitBase: UNIT_BASE
Issuer: ISSUER_KEY
IssuersFrame: ISSUERS_FRAME
IssuersFrameVar: ISSUERS_FRAME_VAR
DifferentIssuersCount: ISSUER_KEY
PreviousHash: PREVIOUS_HASH
PreviousIssuer: PREVIOUS_ISSUER_KEY
Parameters: PARAMETERS
MembersCount: WOT_MEM_COUNT
Identities:
- PUBLIC_KEY:SIGNATURE:I_BLOCK_UID:USER_ID
- ...
Joiners:
- PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
- ...
Actives:
- PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
- ...
Leavers:
- PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
- ...
Revoked:
- PUBLIC_KEY:SIGNATURE
- ...
Excluded:
- PUBLIC_KEY
- ...
Certifications:
- PUBKEY_FROM:PUBKEY_TO:BLOCK_ID:SIGNATURE
- ...
Transactions:
- Head: TX:VERSION:NB_ISSUERS:NB_INPUTS:NB_UNLOCKS:NB_OUTPUTS:HAS_COMMENT:LOCKTIME
Blockstamp: BLOCKSTAMP
Issuers:
- PUBLIC_KEY
- ...
Inputs:
- INPUT
- ...
Unlocks:
- ...
Outputs:
- OUTPUT
- ...
Comment: COMMENT
Sigs:
- SIGNATURE
- ...
- ...
InnerHash: BLOCK_HASH
Nonce: NONCE
Sig: BOTTOM_SIGNATURE
```
### Duniter identity format
Almost YAML compliant, we need to add `Sig: ` at the end:
```yml
Version: 10
Type: Identity
Currency: CURRENCY_NAME
Issuer: PUBLIC_KEY
UniqueID: USER_ID
Timestamp: BLOCK_UID
Sig: IDENTITY_SIGNATURE
```
### Duniter revocation format
Almost YAML compliant, we need to add `Sig: ` at the end:
```yml
Version: 10
Type: Certification
Currency: CURRENCY_NAME
Issuer: PUBLIC_KEY
IdtyIssuer: IDTY_ISSUER
IdtyUniqueID: USER_ID
IdtyTimestamp: BLOCK_UID
IdtySignature: IDTY_SIGNATURE
CertTimestamp: BLOCK_UID
Sig: CERTIFIER_SIGNATURE
```
### Duniter membership format
Almost YAML compliant, we need to add `Sig: ` at the end:
```yml
Version: VERSION
Type: Membership
Currency: CURRENCY_NAME
Issuer: ISSUER
Block: M_BLOCK_UID
Membership: MEMBERSHIP_TYPE
UserID: USER_ID
CertTS: BLOCK_UID
Sig: MEMBERSHIP_SIGNATURE
```
### Duniter revocation format
Almost YAML compliant, we need to add `Sig: ` at the end:
```yml
Version: 10
Type: Revocation
Currency: CURRENCY_NAME
Issuer: PUBLIC_KEY
IdtyUniqueID: USER_ID
IdtyTimestamp: BLOCK_UID
IdtySignature: IDTY_SIGNATURE
Sig: REVOCATION_SIGNATURE
```
### Duniter transaction format
Almost YAML compliant, we need to add `Sig: ` at the end + prefix every multiline field value with a `- `:
```yml
Version: VERSION
Type: Transaction
Currency: CURRENCY_NAME
Blockstamp: BLOCK_UID
Locktime: INTEGER
Issuers:
- PUBLIC_KEY
- ...
Inputs:
- INPUT
- ...
Unlocks:
- UNLOCK
- ...
Outputs:
- AMOUNT:BASE:CONDITIONS
- ...
Comment: COMMENT
Sigs:
- SIGNATURES
- ...
```2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1032Multiple protocol documentation issues2017-11-28T16:49:16+01:00Cédric MoreauMultiple protocol documentation issues*Created by: ThibG*
The protocol documentation (https://github.com/duniter/duniter/blob/master/doc/Protocol.md) has some outdated information, errors and misleading examples:
- General: character encoding is not defined
- BLOCK_UID
...*Created by: ThibG*
The protocol documentation (https://github.com/duniter/duniter/blob/master/doc/Protocol.md) has some outdated information, errors and misleading examples:
- General: character encoding is not defined
- BLOCK_UID
- Hash function not specified
- Examples hint at SHA1 instead of SHA256
- Identity:
- Examples hint at Base58-encoded signatures
- Inline format not defined
- Revocation:
- Inline format not defined
- Certification:
- “Self-certification” should be called “Identity” for consistancy
- Examples hint at Base58-encoded signatures
- It is unclear how to retrieve identity information from the inline format:
In fact, it seems to me that a key owner may publish multiple identities,
so PUBKEY_TO doesnt seem sufficient to recover the identity.
Alternatively, maybe iterating over known identities for that pubkey and
taking the first matching certificate signature could work…Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1165Add function P2SH : Pay to script hash2019-09-25T00:07:28+02:00ÉloïsAdd function P2SH : Pay to script hashThey allow transactions to be sent to a script hash instead of a public key hash (addresses starting with 1. To spend coins sent via P2SH, the recipient must provide a script matching the script hash and data which makes the script evalu...They allow transactions to be sent to a script hash instead of a public key hash (addresses starting with 1. To spend coins sent via P2SH, the recipient must provide a script matching the script hash and data which makes the script evaluate to true.
Pour qu'il soit possible de verser de la monnaie a un compte défini par un ensemble complexe de règles de déblocage sans connaitre cet ensemble de règles, il suffit d'en connaitre une adresse virtuelle qui serait publiée quelque part et qui contient le hash de l'ensemble des conditions de déblocage.
le compte `P2SH(A)` ne pourra consommer ses sources que s'il fourni un ensemble de conditions de déblocage qui à pour hash `A`.
La fonction `XHX()` ne peut pas assurée ce rôle car le script des conditions de déblocage peut contenir la fonction`XHX()`. Il faut donc une fonction a part dont l'usage récursif sera interdit : PS2H
Cf. comment le bitcoin gère cela : https://en.bitcoin.it/wiki/Pay_to_script_hash2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/719autoconfiguer le host sur le reverse dns quand c'est possible.2018-03-14T00:43:20+01:00Cédric Moreauautoconfiguer le host sur le reverse dns quand c'est possible.*Created by: GammaNu*
De même que l'on a `network.getBestLocalIPv4();` il pourrais être intéressant de renseigner un host dans le fichier de config en se basant sur les info reversedns disponnible.
Fonction minimaliste pour récupérer...*Created by: GammaNu*
De même que l'on a `network.getBestLocalIPv4();` il pourrais être intéressant de renseigner un host dans le fichier de config en se basant sur les info reversedns disponnible.
Fonction minimaliste pour récupérer le reverse-dns d'une ip :
```
var dns = require('dns');
function reverseLookup(ip,callback) {
dns.reverse(ip,function(err,domains){
callback(domains[0]);
});
}
```
Un gist sur le reverse ip lookup :
https://gist.github.com/eugenehp/3071295
PS : je ne maitrise pas suffisement l'architecture de duniter pour ajouter directement la fonctionnalité.https://git.duniter.org/nodes/typescript/duniter/-/issues/898snap package2017-11-28T16:49:17+01:00Cédric Moreausnap package*Created by: Thatoo*
I wanted to try to install duniter on my ubuntu phone but for that I understood I needed a snap package, not a deb package.
I had a look at how to make a snap package out of github repository thanks to
https://...*Created by: Thatoo*
I wanted to try to install duniter on my ubuntu phone but for that I understood I needed a snap package, not a deb package.
I had a look at how to make a snap package out of github repository thanks to
https://snapcraft.io/docs/build-snaps/ci-integration
With the help of RavanH, I think we managed to do all except making the snapcraft.yaml file that need to be added to github for the packaging to work.
Here are instruction how to make this file :
https://snapcraft.io/docs/build-snaps/your-first-snap
If someone can make that file, I think we'd have the snap package ready here and update automatically anytime github repo is updated : https://code.launchpad.net/~duniter/+snap/duniter
An other thing I don't know is what to tick in this list of processor (it's optional so I let the default stuff) :
+ AMD x86-64 (amd64)
ARM ARMv8 (arm64)
+ ARM ARMv7 Hard Float (armhf)
+ Intel x86 (i386)
PowerPC (powerpc)
PowerPC64 Little-Endian (ppc64el)
IBM System z (s390x
Edit : I ticked also ARM ARMv7 Hard Float for Rasp Pi 3
I found also that page that might help for making snapcraft.yaml file :
https://snapcraft.io/docs/build-snaps/syntaxhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1028High disk I/O load2017-11-28T16:49:17+01:00Cédric MoreauHigh disk I/O load*Created by: zorun*
Hi,
Since a few weeks, my duniter node is constantly writing a lot to disk (about 1.5 MB/s according to monitoring). But it does not seem to create new data, because disk usage stays mostly constant. So, it appe...*Created by: zorun*
Hi,
Since a few weeks, my duniter node is constantly writing a lot to disk (about 1.5 MB/s according to monitoring). But it does not seem to create new data, because disk usage stays mostly constant. So, it appears to overwrite the same data over and over, or something similar.
It's just a mirror node. Network traffic is really low and has not increased.
I'm not sure when this started, possibly when I upgraded. I tend to upgrade to new versions a few days after they're released, I'm running 1.3.14 now.
This is not a big issue, but I fear for the lifetime of my SSD! Also, it increases the load of the physical machine (CPU usage also seems to have increased).https://git.duniter.org/nodes/typescript/duniter/-/issues/1160Wrong WS2P endpoint generated2017-11-28T16:49:17+01:00insoWrong WS2P endpoint generatedWhile testing Sakia parser of peers present on the network, I encountered the following one :
```
Version: 10
Type: Peer
Currency: g1
PublicKey: 5jfUpXPWAiBXNVG49tjQYA7R3VFX2oG2aPiskR5PE8Mc
Block: 62955-00000464C24BAF5A6BDD56D1A...While testing Sakia parser of peers present on the network, I encountered the following one :
```
Version: 10
Type: Peer
Currency: g1
PublicKey: 5jfUpXPWAiBXNVG49tjQYA7R3VFX2oG2aPiskR5PE8Mc
Block: 62955-00000464C24BAF5A6BDD56D1AB5C73C9A6A1684C577B97A04FAB7D5ADF772C23
Endpoints:
WS2P c0b55f43 90.25.85.172 20901
WS2P c0b55f43 [object Object] 20900
BASIC_MERKLED_API lilel.hopto.org 90.25.209.55 10901
ajpRexbt1qxaWHJYtthZHlzh1L1EYDKpNgaejLoVmNH1vP6cROUiMSu/rdISxL8fHvLGVll/MoHa1qb91BgyDg==
```
The owner of this node is http://g1.duniter.org/cesium/#/app/wot/5jfUpXPWAiBXNVG49tjQYA7R3VFX2oG2aPiskR5PE8Mc/DamageCo.
The WS2P field contains an [object Object] entry.
Maybe DamageCo should be contacted to check his node configuration and see if there is a real bug.
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/831Websocket issue2017-11-28T16:49:17+01:00Cédric MoreauWebsocket issue*Created by: M5oul*
With 0.90.5 on ARM:
```bash
2017-02-07T09:35:33+01:00 - info: POST Peer J78bPUvLjx#4153
2017-02-07T09:35:34+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2017-02-07T09:35:34+01:00 - info: Changing con...*Created by: M5oul*
With 0.90.5 on ARM:
```bash
2017-02-07T09:35:33+01:00 - info: POST Peer J78bPUvLjx#4153
2017-02-07T09:35:34+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2017-02-07T09:35:34+01:00 - info: Changing conf to: {"prefix":10} on engine#2
2017-02-07T09:35:34+01:00 - error: error on ws mapSync: Error: not opened
at WebSocket.send (/opt/duniter/sources/node_modules/ws/lib/WebSocket.js:219:16)
at wssPeer.clients.forEach (/opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:123:78)
at Array.forEach (native)
at WebSocketServer.wssPeer.broadcast (/opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:123:51)
at /opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:136:21
at Stream.write (/opt/duniter/sources/node_modules/event-stream/index.js:204:20)
at Stream.stream.write (/opt/duniter/sources/node_modules/through/index.js:26:11)
at Server.ondata (_stream_readable.js:555:20)
at emitOne (events.js:101:20)
at Server.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Server.Readable.push (_stream_readable.js:134:10)
at Server.streamPush (/opt/duniter/sources/server.js:84:12)
at /opt/duniter/sources/server.js:168:16
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at _fulfilled (/opt/duniter/sources/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/opt/duniter/sources/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/opt/duniter/sources/node_modules/q/q.js:796:13)
at /opt/duniter/sources/node_modules/q/q.js:604:44
at runSingle (/opt/duniter/sources/node_modules/q/q.js:137:13)
at flush (/opt/duniter/sources/node_modules/q/q.js:125:13)
2017-02-07T09:35:34+01:00 - error: error on ws mapSync: Error: not opened
at WebSocket.send (/opt/duniter/sources/node_modules/ws/lib/WebSocket.js:219:16)
at wssPeer.clients.forEach (/opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:123:78)
at Array.forEach (native)
at WebSocketServer.wssPeer.broadcast (/opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:123:51)
at /opt/duniter/sources/node_modules/duniter-bma/lib/bma.js:136:21
at Stream.write (/opt/duniter/sources/node_modules/event-stream/index.js:204:20)
at Stream.stream.write (/opt/duniter/sources/node_modules/through/index.js:26:11)
at Server.ondata (_stream_readable.js:555:20)
at emitOne (events.js:101:20)
at Server.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Server.Readable.push (_stream_readable.js:134:10)
at Server.streamPush (/opt/duniter/sources/server.js:84:12)
at /opt/duniter/sources/app/service/PeeringService.js:228:12
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
2017-02-07T09:35:34+01:00 - info: Next peering signal in 10 min
2017-02-07T09:35:35+01:00 - info: POST Peer J78bPUvLjx#4153
2017-02-07T09:35:36+01:00 - info: POST Peer J78bPUvLjx#4153
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/888The main entry of the PowerClearRequest is not found2017-11-28T16:49:17+01:00Cédric MoreauThe main entry of the PowerClearRequest is not found*Created by: Patator65*
Hi,
I have an issue when i try to start Duniter.
This is the error message i get (i do my own translation fr to en of this message) :
The main entry of the PowerClearRequest is not found in the lib of dynamic ...*Created by: Patator65*
Hi,
I have an issue when i try to start Duniter.
This is the error message i get (i do my own translation fr to en of this message) :
The main entry of the PowerClearRequest is not found in the lib of dynamic links KERNEL32.dll.
Hope it is correctly translanted :)
My PC works with Vista x64.https://git.duniter.org/nodes/typescript/duniter/-/issues/1071Refactor BlockGenerator2017-11-28T16:49:17+01:00Cédric MoreauRefactor BlockGeneratorThis is a mess. It's hard to read what is the WoT data inclusion in next block.This is a mess. It's hard to read what is the WoT data inclusion in next block.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1152Change tx sandbox size2020-10-04T18:47:27+02:00ÉloïsChange tx sandbox sizehttps://forum.duniter.org/t/gbot-feeback-on-g1-test/3400/5?u=eloishttps://forum.duniter.org/t/gbot-feeback-on-g1-test/3400/5?u=elois1.10https://git.duniter.org/nodes/typescript/duniter/-/issues/700Function don't seems to exist2017-11-28T16:49:17+01:00Cédric MoreauFunction don't seems to exist*Created by: M5oul*
```bash
2016-11-09T16:18:11+01:00 - info: Stop proof-of-work worker #1
2016-11-09T16:18:11+01:00 - info: Stop proof-of-work worker #2
2016-11-09T16:18:11+01:00 - error: TypeError: written.json is not a function
...*Created by: M5oul*
```bash
2016-11-09T16:18:11+01:00 - info: Stop proof-of-work worker #1
2016-11-09T16:18:11+01:00 - info: Stop proof-of-work worker #2
2016-11-09T16:18:11+01:00 - error: TypeError: written.json is not a function
at /opt/duniter/sources/app/controllers/abstract.js:12:20
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at process._tickCallback (node.js:412:9)
2016-11-09T16:18:11+01:00 - warn: written.json is not a function
2016-11-09T16:18:12+01:00 - info: GIVEN proof-of-work for block#53671 with 4 leading zeros followed by [0-2]! stop PoW for J78bPU
2016-11-09T16:18:12+01:00 - warn: Proof-of-work computation canceled because block received
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/829BMA /blockchain/block/<number> : `blockstampTime` always null2017-11-28T16:49:17+01:00Benoit LavenierBMA /blockchain/block/<number> : `blockstampTime` always nullj'ai un truc bizarre : http://gtest.duniter.org:10900/blockchain/block/3956
dans les TX, la champs blockstampTime vaut toujours 0
(en fait je sais pas si ce champ est utile ou pas, pour moi, à exploiter dans l'UI de visu d'un block)
...j'ai un truc bizarre : http://gtest.duniter.org:10900/blockchain/block/3956
dans les TX, la champs blockstampTime vaut toujours 0
(en fait je sais pas si ce champ est utile ou pas, pour moi, à exploiter dans l'UI de visu d'un block)
ca doit etre un bug de l'API BMA; après vérification les block envoyé par la WS semblent bons
Par exemple le même block recu par mon noeud ES : http://data.gtest.duniter.fr/gtest/block/3956
https://git.duniter.org/nodes/typescript/duniter/-/issues/901Desktop: after a resync, PoW blocks are not shared2017-11-28T16:49:17+01:00Cédric MoreauDesktop: after a resync, PoW blocks are not shared> (18:15:42) jytou: re passage en coup de vent: je confirme que tant que je n'ai pas redémarré mon nœud après une syncho, il trouvait des blocs mais n'arrivait pas à les publier, pas d'erreur apparente dans les logs mais plein de « found...> (18:15:42) jytou: re passage en coup de vent: je confirme que tant que je n'ai pas redémarré mon nœud après une syncho, il trouvait des blocs mais n'arrivait pas à les publier, pas d'erreur apparente dans les logs mais plein de « found » sans publication, et hop je suis reparti
(18:20:43) cgeek: jytou: tu parles de la version desktop ?
(18:22:18) bruno a quitté le salon (Disconnected: closed)
(18:24:22) jytou: cgeek: ouiHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1070Refactor PeeringService2017-11-28T16:49:17+01:00Cédric MoreauRefactor PeeringServiceAs asked by @Insoleet As asked by @Insoleet Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1151ws2p-public doesn't work if ws2p-private is disabled2018-12-08T16:02:08+01:00Éloïsws2p-public doesn't work if ws2p-private is disabledThe ws2p endpoint is not published if ws2p-private is disabledThe ws2p endpoint is not published if ws2p-private is disabledHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/8260.90.5 resync2017-11-28T16:49:17+01:00Cédric Moreau0.90.5 resync*Created by: galuel*
Tryed a reset / resync, obtained orange window with :
Sync interrupted because the following error occured: « SQL error "SQLITE_CONSTRAINT: UNIQUE constraint failed: m_index.op, m_index.pub, m_index.created_on, ...*Created by: galuel*
Tryed a reset / resync, obtained orange window with :
Sync interrupted because the following error occured: « SQL error "SQLITE_CONSTRAINT: UNIQUE constraint failed: m_index.op, m_index.pub, m_index.created_on, m_index.written_on" on query "INSERT INTO m_index (`op`,`pub`,`created_on`,`written_on`,`expires_on`,`expired_on`,`revokes_on`,`revoked_on`,`leaving`,`revocation`) VALUES ('CREATE','5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','7tuTjCfZ7MTyVHj7GrfA8zNJ1mpWkKL9KxkoaQNpjyAe','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','J78bPUvLjxmjaEkdjxWLeENQtcfXm7iobqB49uT1Bgp3','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','D3nN6CsWFPmqcWdjNJbE1PcHXyjWaBQPpAFn1ZyXRAAU','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','7KL2QXXFULDpsQY4UdSr5oEVx6rFE6oxeagRdkCX35bf','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','CSjgcGguFJe3ghBBjjGyNVdvC3rqtXE7rSxUaLzjxBhR','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','bDq9H48BVEAHydtH8MHjrmdRnuq8d8GMUaPSzEn8TkC','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','7iBkcyryuikxLotKgLABb4ViWCcfZowUseG4z48ochax','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','CFP3oacjwDJARL89D2Gkz6LeMoVAu4ggE65CvqSp9Q9K','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null);" »https://git.duniter.org/nodes/typescript/duniter/-/issues/891Node kept UP if a web server is running at same address and the node is down2017-11-28T16:49:17+01:00Cédric MoreauNode kept UP if a web server is running at same address and the node is down*Created by: M5oul*
I turned off my node on my YunoHost instance, and the node on my desktop keep staying the other one is still running:
```bash
2017-03-14T17:10:13+01:00 - info: Sibling endpoints: 0=BMAS duniter.moul.re 443, 1=BMAS ...*Created by: M5oul*
I turned off my node on my YunoHost instance, and the node on my desktop keep staying the other one is still running:
```bash
2017-03-14T17:10:13+01:00 - info: Sibling endpoints: 0=BMAS duniter.moul.re 443, 1=BMAS duniter.moul.re 78.227.107.45 2a01:e34:ee36:b2d0:83:6ff:fe43:6546 443
2017-03-14T17:10:13+01:00 - info: External access: desktop.moul.re:10901
```
In fact, there is still an http server running behind this address, but not a duniter node.
How is checked the fact there is a running node?
Only by checking if the address answer or if it could get something for the BMA?
I wasn't able to found how the check is done on the [crawler](https://github.com/duniter/duniter-crawler/blob/master/lib/crawler.js).
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1060Update "contribuer-french.md"2017-11-28T16:49:17+01:00Cédric MoreauUpdate "contribuer-french.md"Le document est obsolète sur certains points : https://forum.duniter.org/t/git-readme-dead-link/2981/2Le document est obsolète sur certains points : https://forum.duniter.org/t/git-readme-dead-link/2981/2https://git.duniter.org/nodes/typescript/duniter/-/issues/1150OpenBSD build2018-01-24T22:56:24+01:00Cédric MoreauOpenBSD build*Created by: B4rb3rouss*
Hello,
Do you plan an OpenBSD build, or any advice to compile duniter on this platform?
Regards.*Created by: B4rb3rouss*
Hello,
Do you plan an OpenBSD build, or any advice to compile duniter on this platform?
Regards.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/890Dynamic IP: detect the public IP changing2018-12-07T14:10:25+01:00Cédric MoreauDynamic IP: detect the public IP changingSee https://forum.duniter.org/t/noeud-qui-pedale-dans-la-choucroute/2176See https://forum.duniter.org/t/noeud-qui-pedale-dans-la-choucroute/2176Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/968Sandbox pulling takes too much CPU2017-11-28T16:49:17+01:00Cédric MoreauSandbox pulling takes too much CPU*Created by: M5oul*
Certifications and identities pulling take too much CPU.
It would be great to lower this action. It's not necessary to go fast.*Created by: M5oul*
Certifications and identities pulling take too much CPU.
It would be great to lower this action. It's not necessary to go fast.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1143Refactor `parsers` files2017-11-28T16:49:17+01:00Cédric MoreauRefactor `parsers` filesAll the parsing files would need a complete rewriting to allow a clearer implementation, with explicit manipulation of flow processing, which we could easily test component by component.
These files are here: https://github.com/dunite...All the parsing files would need a complete rewriting to allow a clearer implementation, with explicit manipulation of flow processing, which we could easily test component by component.
These files are here: https://github.com/duniter/duniter/tree/dev/app/lib/common-libs/parsersHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/673Document BMA API with swagger2018-03-07T21:33:15+01:00Cédric MoreauDocument BMA API with swagger*Created by: M5oul*
- [Website](http://swagger.io)
- [Example](http://petstore.swagger.io/#/pet)
*Created by: M5oul*
- [Website](http://swagger.io)
- [Example](http://petstore.swagger.io/#/pet)
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/824Database lock2017-11-28T16:49:17+01:00Cédric MoreauDatabase lock*Created by: M5oul*
It could be great to have a database lock to avoid accessing same database by two processes of Duniter.*Created by: M5oul*
It could be great to have a database lock to avoid accessing same database by two processes of Duniter.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/886BMA Network: listen on all interfaces (and with the interface name)2017-11-28T16:49:17+01:00Cédric MoreauBMA Network: listen on all interfaces (and with the interface name)*Created by: Tortue95*
Hi,
can you add the possibility to listen on all interfaces
and at the same time the possibility to listen on one interface name (not the IP)*Created by: Tortue95*
Hi,
can you add the possibility to listen on all interfaces
and at the same time the possibility to listen on one interface name (not the IP)https://git.duniter.org/nodes/typescript/duniter/-/issues/967Create Flatpak package2017-11-28T16:49:17+01:00Cédric MoreauCreate Flatpak package*Created by: M5oul*
- [Flatpak website](http://flatpak.org).*Created by: M5oul*
- [Flatpak website](http://flatpak.org).Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1006noeud invisible2017-11-28T16:49:17+01:00Cédric Moreaunoeud invisible*Created by: bizmat*
je suis connecté derriière un routeur Tetaneutral à Toulouse et mon noeud Duniter est synchronisé mais n'apparait pas dans la iste des noeuds membres.
Après activation UpnP: ça fonctionne, mon noeud est visible! *Created by: bizmat*
je suis connecté derriière un routeur Tetaneutral à Toulouse et mon noeud Duniter est synchronisé mais n'apparait pas dans la iste des noeuds membres.
Après activation UpnP: ça fonctionne, mon noeud est visible! https://git.duniter.org/nodes/typescript/duniter/-/issues/1136HTTP API: "\r\n"2017-11-28T16:49:17+01:00Cédric MoreauHTTP API: "\r\n"https://forum.duniter.org/t/doc-protocol-example-tx-format/3325/6https://forum.duniter.org/t/doc-protocol-example-tx-format/3325/6https://git.duniter.org/nodes/typescript/duniter/-/issues/815Full resync failed2017-11-28T16:49:17+01:00Cédric MoreauFull resync failed*Created by: galuel*
After full resync, orange window with :
Sync interrupted because the following error occured: « SQL error "SQLITE_CONSTRAINT: UNIQUE constraint failed: m_index.op, m_index.pub, m_index.created_on, m_index.writte...*Created by: galuel*
After full resync, orange window with :
Sync interrupted because the following error occured: « SQL error "SQLITE_CONSTRAINT: UNIQUE constraint failed: m_index.op, m_index.pub, m_index.created_on, m_index.written_on" on query "INSERT INTO m_index (`op`,`pub`,`created_on`,`written_on`,`expires_on`,`expired_on`,`revokes_on`,`revoked_on`,`leaving`,`revocation`) VALUES ('CREATE','5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','7tuTjCfZ7MTyVHj7GrfA8zNJ1mpWkKL9KxkoaQNpjyAe','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','J78bPUvLjxmjaEkdjxWLeENQtcfXm7iobqB49uT1Bgp3','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','D3nN6CsWFPmqcWdjNJbE1PcHXyjWaBQPpAFn1ZyXRAAU','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','7KL2QXXFULDpsQY4UdSr5oEVx6rFE6oxeagRdkCX35bf','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','CSjgcGguFJe3ghBBjjGyNVdvC3rqtXE7rSxUaLzjxBhR','0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855','0-00006A54885CA44DF5EF453853843064073D885C9B0EAB9A55965F8F8DEABD75',1487757938,null,1490349938,null,0,null), ('CREATE','bDq9H48BVEAHydtH8MHjrmdRnuq8d8GMUaPSzEn8TkC','0-Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/880wotb module don't have the full inventory of certifications2017-11-28T16:49:17+01:00Cédric Moreauwotb module don't have the full inventory of certificationsI see 486 links un wotb, whereas 551 were written.
I see 486 links un wotb, whereas 551 were written.
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/963Blockchain slown down2017-11-28T16:49:17+01:00Cédric MoreauBlockchain slown downBrunoSpiquel reported that the blockchain was maybe stuck this night, I could observe that it was actually very slow compared to habitual speed.
I could see in the logs of my node that on a GIVEN block, this block wasn't always added ...BrunoSpiquel reported that the blockchain was maybe stuck this night, I could observe that it was actually very slow compared to habitual speed.
I could see in the logs of my node that on a GIVEN block, this block wasn't always added to the blockchain, which is very strange.
Weirder: even if my node had such a bug, why other nodes did not succeed to spread the block they computed?
Finally, I simply restarted my node and all the network seems to be back to normal speed.
It is a major bug.https://git.duniter.org/nodes/typescript/duniter/-/issues/1051Integrate valid TX when received invalid block2017-11-28T16:49:17+01:00Benoit LavenierIntegrate valid TX when received invalid blockVoici mon cas :
> - je viens de brancher Cesium sur mon noeud (duniter.fr)
> - j'ai passé 2 TX de paiement.
> - Aussitot les TX ont été inscrits dans un nouveau bloc par mon noeud, qu'il a ensuite émis.
> - mais un fork réseau s'e...Voici mon cas :
> - je viens de brancher Cesium sur mon noeud (duniter.fr)
> - j'ai passé 2 TX de paiement.
> - Aussitot les TX ont été inscrits dans un nouveau bloc par mon noeud, qu'il a ensuite émis.
> - mais un fork réseau s'est créé (les autre snoeuds ont rejetté mon bloc)
> Du coup, mes 2 TX, pourtant valides également pour la branche principale, restent bloqués... et ne sont pas visibles ailleurs que sur mon noeud.
Lorsque mon noeud sera à nouveau synchro, il ne va pas rediffuser les TX aux autres noeuds.
Bref, ne serait-ce pas une bonne idée de décapsuler les blocs invalides (redirigés vers la piscine, je crois), pour en prendre les TX, qui elles peuvent etre valides ?
En d'autres terme, un blocs invalid pourrait etre le véhicule de TX valides...https://git.duniter.org/nodes/typescript/duniter/-/issues/1130PoW stopped2017-11-28T16:49:17+01:00Cédric MoreauPoW stopped*Created by: M5oul*
Node v1.6.6 stops calculating blocks and display `Out of fork window` warning:
```bash
2017-09-29T12:57:29+00:00 - info: ✘ PEER 5fPevx21
2017-09-29T12:57:29+00:00 - error: httpCode=400, ucode=2023, message=Peer d...*Created by: M5oul*
Node v1.6.6 stops calculating blocks and display `Out of fork window` warning:
```bash
2017-09-29T12:57:29+00:00 - info: ✘ PEER 5fPevx21
2017-09-29T12:57:29+00:00 - error: httpCode=400, ucode=2023, message=Peer document already known
2017-09-29T12:57:29+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:30+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:30+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:31+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:31+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:32+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:33+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:33+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:34+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:34+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:35+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:35+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:36+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:36+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:37+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:38+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:38+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:39+00:00 - warn: ESOCKETTIMEDOUT
2017-09-29T12:57:39+00:00 - info: Peer DJQjWdkUB9YWzGRPTjPCdGgC5pBx6CA24Dghu6NNvpuH unreachable: now considered as DOWN.
2017-09-29T12:57:39+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:39+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:40+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:40+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
2017-09-29T12:57:41+00:00 - warn: httpCode=400, ucode=2501, message=Out of fork window
```
The node is well on current window as its HEAD is late of one block from network pool HEAD.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/874Node didn't resync after restart2017-11-28T16:49:17+01:00Cédric MoreauNode didn't resync after restart*Created by: M5oul*
I started my node after a night turned off, and it didn't retrieved new blocks from the network.
I had to restart the node and it retrieved blocks from the network and was sync.
The fact there is two nodes using sa...*Created by: M5oul*
I started my node after a night turned off, and it didn't retrieved new blocks from the network.
I had to restart the node and it retrieved blocks from the network and was sync.
The fact there is two nodes using same pubkey could be explain why this happen.
Similar to https://github.com/duniter/duniter/issues/683.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/958PoW processes stopped four times when receiving a new block2017-11-28T16:49:17+01:00Cédric MoreauPoW processes stopped four times when receiving a new block*Created by: M5oul*
When receiving a new block, Proof-of-work seems to be stopped four times:
```bash
2017-04-13T13:15:57+02:00 - info: Matched 3 zeros 000D2981C35C4D40364BDA668459980B09E26FE1E1B16F0014D3A5EFECAEA765 with Nonce = 2020...*Created by: M5oul*
When receiving a new block, Proof-of-work seems to be stopped four times:
```bash
2017-04-13T13:15:57+02:00 - info: Matched 3 zeros 000D2981C35C4D40364BDA668459980B09E26FE1E1B16F0014D3A5EFECAEA765 with Nonce = 20200000063340 for block#9976 by GfKERH
2017-04-13T13:15:59+02:00 - info: Matched 3 zeros 0006A207B47A7F3B6005F651AB28480179C19417B5A6F00F7251E05E0B24BF4D with Nonce = 20300000063629 for block#9976 by GfKERH
2017-04-13T13:16:04+02:00 - info: Matched 3 zeros 00041CB5FFF2F5BB520B617CC8506CB2A2A292AED734FC000C819B4E1BC592FB with Nonce = 20300000064152 for block#9976 by GfKERH
2017-04-13T13:16:16+02:00 - info: Block #9976 added to the blockchain in 442 ms
2017-04-13T13:16:16+02:00 - info: Stop proof-of-work worker #1
2017-04-13T13:16:16+02:00 - info: Stop proof-of-work worker #2
2017-04-13T13:16:16+02:00 - info: Stop proof-of-work worker #3
2017-04-13T13:16:16+02:00 - info: Stop proof-of-work worker #4
2017-04-13T13:16:16+02:00 - info: POST Block block#9976
2017-04-13T13:16:17+02:00 - warn: connect EHOSTUNREACH 192.168.0.12:8999
2017-04-13T13:16:17+02:00 - info: Peer 2yN8BRSkARcqE8NCxKMBiHfTpx1EvwULFn56Myf6qRmy unreachable: now considered as DOWN.
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #1
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #2
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #3
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #4
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #1
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #2
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #3
2017-04-13T13:16:17+02:00 - info: Stop proof-of-work worker #4
2017-04-13T13:16:17+02:00 - info: GIVEN proof-of-work for block#9976 with 5 leading zeros followed by [0-9A]! stop PoW for GfKERH
2017-04-13T13:16:17+02:00 - warn: The proof-of-work generation was canceled: Proof-of-work computation canceled because block received
2017-04-13T13:16:20+02:00 - info: Generating proof-of-work with 5 leading zeros followed by [0-9A]... (CPU usage set to 35%) for block#9977 GfKERH
2017-04-13T13:16:20+02:00 - info: Stop proof-of-work worker #1
2017-04-13T13:16:20+02:00 - info: Stop proof-of-work worker #2
2017-04-13T13:16:20+02:00 - info: Stop proof-of-work worker #3
2017-04-13T13:16:20+02:00 - info: Stop proof-of-work worker #4
2017-04-13T13:16:21+02:00 - info: Matched 3 zeros 000A7DAD4E62819708765268CD1AE4F612A04A6D752ED709BDE001D8DE7AD6AE with Nonce = 20300000000263 for block#9977 by GfKERH
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1050Refacor PeeringService.submitP(peer)2017-11-28T16:49:17+01:00Cédric MoreauRefacor PeeringService.submitP(peer)https://git.duniter.org/nodes/typescript/duniter/-/issues/1127'duniter logs' command takes too much RAM2017-11-28T16:49:17+01:00Cédric Moreau'duniter logs' command takes too much RAM*Created by: M5oul*
`duniter logs` is taking almost 100MB of memory.
![duniter_logs_ram_res](https://user-images.githubusercontent.com/4758871/30973770-4154a776-a46e-11e7-92aa-4a0c7eaf6060.png)
That is too much to display logs.
A...*Created by: M5oul*
`duniter logs` is taking almost 100MB of memory.
![duniter_logs_ram_res](https://user-images.githubusercontent.com/4758871/30973770-4154a776-a46e-11e7-92aa-4a0c7eaf6060.png)
That is too much to display logs.
A `grep` is much more lightweight!Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/814Duniter 0.90.42017-11-28T16:49:17+01:00Cédric MoreauDuniter 0.90.4*Created by: galuel*
Ubuntu 16.10 / 64 bit Plante au premier démarrage (ça le faisait déjà pour les versions antérieures)
duniter-desktop
2017-01-29T11:20:02+01:00 - debug: Plugging file system...
2017-01-29T11:20:02+01:00 - debug:...*Created by: galuel*
Ubuntu 16.10 / 64 bit Plante au premier démarrage (ça le faisait déjà pour les versions antérieures)
duniter-desktop
2017-01-29T11:20:02+01:00 - debug: Plugging file system...
2017-01-29T11:20:02+01:00 - debug: Loading conf...
2017-01-29T11:20:02+01:00 - debug: Configuration saved.
2017-01-29T11:20:02+01:00 - debug: Opening SQLite database "/home/galuel/.config/duniter/duniter_default/duniter.db"...
2017-01-29T11:20:03+01:00 - debug: Upgrade database...
2017-01-29T11:20:03+01:00 - info: Duniter server listening on http://192.168.0.77:51776
2017-01-29T11:20:03+01:00 - info: UPnP: configuring...
2017-01-29T11:20:03+01:00 - trace: UPnP: mapping external port 51776 to local 51776...
2017-01-29T11:20:03+01:00 - info: Crawling the network...
2017-01-29T11:20:03+01:00 - info: Crawling done.
2017-01-29T11:20:03+01:00 - trace: Checking if node 4dA4sr is UP... (88.190.82.70:51776)
2017-01-29T11:20:03+01:00 - info: Pulling blocks from the network...
2017-01-29T11:20:03+01:00 - info: Sibling endpoints:
2017-01-29T11:20:03+01:00 - trace: Try with cgeek.fr:10900 HnFcSm
2017-01-29T11:20:03+01:00 - info: External access: 88.190.82.70:51776
2017-01-29T11:20:03+01:00 - debug: Generating server's peering entry based on block#97...
2017-01-29T11:20:03+01:00 - debug: dl starts from 127
2017-01-29T11:20:03+01:00 - trace: Peer 4dA4srN5nK3N8VN8aTFHEtMTWPpzgT5u5jXmvLxxEyjc is DOWN (E_DUNITER_PEER_CHANGED)
2017-01-29T11:20:03+01:00 - info: Changing conf to: {"prefix":10} on engine#1
2017-01-29T11:20:03+01:00 - info: Changing conf to: {"prefix":10} on engine#2
2017-01-29T11:20:03+01:00 - info: Next peering signal in 10 min
2017-01-29T11:20:04+01:00 - debug: Will check that node 4dA4sr (88.190.82.70:51776) is UP in 1440 min...
2017-01-29T11:20:04+01:00 - trace: Checking if node CSjgcG is UP... (2a01:e35:2ef7:8ed0:190c:7d34:dec9:7b4a:8999)
2017-01-29T11:20:04+01:00 - debug: --> new Peer to be sent to 10 peer(s)
2017-01-29T11:20:04+01:00 - info: POST Peer D3nN6CsWFP#97
2017-01-29T11:20:04+01:00 - debug: `--> to peer HnFcSms8jz [member] (cgeek.fr:10900)
2017-01-29T11:20:04+01:00 - debug: `--> to peer 5ocqzyDMMW [member] (gtest.duniter.fr:10900)
2017-01-29T11:20:04+01:00 - debug: `--> to peer CFP3oacjwD [member] (gtest.vincentux.fr:8999)
2017-01-29T11:20:04+01:00 - debug: `--> to peer 7tuTjCfZ7M [member] (duniter.elois.ifee.fr:9001)
2017-01-29T11:20:04+01:00 - debug: `--> to peer J2ApoCLvZZ [------] (peer.duniter.org:8999)
2017-01-29T11:20:04+01:00 - debug: `--> to peer C4orqutdb3 [------] (gtest.duniter.org:10900)
2017-01-29T11:20:04+01:00 - debug: `--> to peer 4jT89qUKAu [------] (88.174.120.187:52000)
2017-01-29T11:20:04+01:00 - debug: `--> to peer GacaywVf8A [------] (gtest.duniter.tednet.fr:8999)
2017-01-29T11:20:04+01:00 - debug: `--> to peer ATkjQPa4sn [------] (urodelus.ddns.net:62150)
2017-01-29T11:20:04+01:00 - debug: `--> to peer XeBpJwRLkF [------] (duniter.help-web-low.fr:8999)
2017-01-29T11:20:04+01:00 - error:
Abandon (core dumped)
Dossier ./config/duniter 100% zippé :
[duniter.zip](https://github.com/duniter/duniter/files/737433/duniter.zip)
Deuxième lancement : ok Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/871Bug on money management?2017-11-28T16:49:17+01:00Cédric MoreauBug on money management?*Created by: M5oul*
```bash
2017-03-04T10:48:48+01:00 - info: Will pull blocks from the network in 0 min 20 sec
2017-03-04T10:48:53+01:00 - info: Transaction 2B2D20EA1D2FA145EEB597495F2A2E1028EF5A23AA2E6B4DC056A86F25C2A2BB added to bl...*Created by: M5oul*
```bash
2017-03-04T10:48:48+01:00 - info: Will pull blocks from the network in 0 min 20 sec
2017-03-04T10:48:53+01:00 - info: Transaction 2B2D20EA1D2FA145EEB597495F2A2E1028EF5A23AA2E6B4DC056A86F25C2A2BB added to block
2017-03-04T10:48:53+01:00 - error: Error: It cannot exist 2 identical sources for transactions inside a given block
at Error (native)
at /opt/duniter/sources/app/lib/rules/local_rules.js:327:13
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at /opt/duniter/sources/node_modules/co/index.js:54:5
at co (/opt/duniter/sources/node_modules/co/index.js:50:10)
at Object.checkTxSources (/opt/duniter/sources/app/lib/rules/local_rules.js:317:30)
at /opt/duniter/sources/app/lib/rules/local_rules.js:416:24
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at process._tickCallback (internal/process/next_tick.js:103:7)
2017-03-04T10:48:53+01:00 - error: Error: It cannot exist 2 identical sources for transactions inside a given block
at Error (native)
at /opt/duniter/sources/app/lib/rules/local_rules.js:327:13
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at /opt/duniter/sources/node_modules/co/index.js:54:5
at co (/opt/duniter/sources/node_modules/co/index.js:50:10)
at Object.checkTxSources (/opt/duniter/sources/app/lib/rules/local_rules.js:317:30)
at /opt/duniter/sources/app/lib/rules/local_rules.js:416:24
at next (native)
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
at runMicrotasksCallback (internal/process/next_tick.js:58:5)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
2017-03-04T10:48:53+01:00 - error: Error: It cannot exist 2 identical sources for transactions inside a given block
```Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1047Replace underscore by lodash2017-11-28T16:49:17+01:00Cédric MoreauReplace underscore by lodashSee if it is an interesting replacement, notably if lodash has TypeScript definitions.See if it is an interesting replacement, notably if lodash has TypeScript definitions.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1125First sync fail due to OOM process kill2017-11-28T16:49:17+01:00Cédric MoreauFirst sync fail due to OOM process kill*Created by: M5oul*
With v1.6.6, YunoHost package and 64bits, 512MB arch, first sync with web interface fail:
```bash
2017-09-27T15:00:18+00:00 - error: Error: connect ECONNREFUSED 83.115.9.217:10902
at Object.exports._errnoExce...*Created by: M5oul*
With v1.6.6, YunoHost package and 64bits, 512MB arch, first sync with web interface fail:
```bash
2017-09-27T15:00:18+00:00 - error: Error: connect ECONNREFUSED 83.115.9.217:10902
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)
2017-09-27T15:00:18+00:00 - info: Getting chunck #202/224 from 50500 to 50749 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:18+00:00 - info: GOT chunck #204/224 from 51000 to 51249 on peer 185.167.16.19:10901
2017-09-27T15:00:18+00:00 - info: AUGMENTED DOWNLOAD SLOTS! Now has 8 slots
2017-09-27T15:00:18+00:00 - info: Downloaded 8%, Applied 0%
2017-09-27T15:00:18+00:00 - info: Getting chunck #201/224 from 50250 to 50499 on peer duniter.adn.life:10901
2017-09-27T15:00:18+00:00 - info: Getting chunck #200/224 from 50000 to 50249 on peer g1.duniter.org:10901
2017-09-27T15:00:18+00:00 - info: GOT chunck #202/224 from 50500 to 50749 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:18+00:00 - info: Deceleration = -0.8215361445783133 (118.5/664), AddedNodePercent = 0.125
2017-09-27T15:00:18+00:00 - info: Getting chunck #199/224 from 49750 to 49999 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:18+00:00 - info: GOT chunck #199/224 from 49750 to 49999 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:18+00:00 - info: AUGMENTED DOWNLOAD SLOTS! Now has 9 slots
2017-09-27T15:00:18+00:00 - info: Getting chunck #198/224 from 49500 to 49749 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:19+00:00 - info: Getting chunck #197/224 from 49250 to 49499 on peer duniter.help-web-low.fr:8999
2017-09-27T15:00:19+00:00 - info: GOT chunck #200/224 from 50000 to 50249 on peer g1.duniter.org:10901
2017-09-27T15:00:19+00:00 - info: Deceleration = 0.6390101892285298 (187.66666666666666/114.5), AddedNodePercent = 0.1111111111111111
2017-09-27T15:00:19+00:00 - info: REDUCED DOWNLOAD SLOT! Now has 8 slots
2017-09-27T15:00:19+00:00 - info: Downloaded 9%, Applied 0%
2017-09-27T15:00:19+00:00 - info: GOT chunck #198/224 from 49500 to 49749 on peer duniter.s-entraider.net:10901
2017-09-27T15:00:19+00:00 - info: AUGMENTED DOWNLOAD SLOTS! Now has 9 slots
```
The node is not running after that.
Tried a second time:
```bash
2017-09-27T15:07:29+00:00 - info: AUGMENTED DOWNLOAD SLOTS! Now has 2 slots
2017-09-27T15:07:29+00:00 - warn: Chunk #224 is COMPLETE from duniter.aquilenet.fr:10901
2017-09-27T15:07:29+00:00 - warn: Chunk #223 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:29+00:00 - info: Downloaded 1%, Applied 0%
2017-09-27T15:07:29+00:00 - warn: Chunk #222 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:29+00:00 - warn: Chunk #221 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:29+00:00 - info: Downloaded 2%, Applied 0%
2017-09-27T15:07:29+00:00 - warn: Chunk #220 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:30+00:00 - warn: Chunk #219 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:30+00:00 - info: Downloaded 3%, Applied 0%
2017-09-27T15:07:30+00:00 - warn: Chunk #218 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:30+00:00 - warn: Chunk #217 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:30+00:00 - info: Downloaded 4%, Applied 0%
2017-09-27T15:07:30+00:00 - warn: Chunk #216 is COMPLETE from filesystem:blockchain
2017-09-27T15:07:30+00:00 - info: Getting chunck #215/224 from 53750 to 53999 on peer remuniter.cgeek.fr:16120
2017-09-27T15:07:30+00:00 - info: Getting chunck #214/224 from 53500 to 53749 on peer duniter.floth.fr:80
2017-09-27T15:07:30+00:00 - info: GOT chunck #214/224 from 53500 to 53749 on peer duniter.floth.fr:80
2017-09-27T15:07:30+00:00 - info: Deceleration = 1.4570135746606336 (543/221), AddedNodePercent = 0.5
2017-09-27T15:07:30+00:00 - info: REDUCED DOWNLOAD SLOT! Now has 1 slots
2017-09-27T15:07:35+00:00 - info: GOT chunck #215/224 from 53750 to 53999 on peer remuniter.cgeek.fr:16120
2017-09-27T15:07:35+00:00 - info: AUGMENTED DOWNLOAD SLOTS! Now has 2 slots
2017-09-27T15:07:35+00:00 - warn: Chunk #215 is COMPLETE from remuniter.cgeek.fr:16120
2017-09-27T15:07:37+00:00 - warn: Chunk #214 is COMPLETE from duniter.floth.fr:80
2017-09-27T15:07:38+00:00 - info: Downloaded 5%, Applied 0%
2017-09-27T15:07:39+00:00 - info: Getting chunck #213/224 from 53250 to 53499 on peer duniter.qbuissondebon.info:8999
^Croot@moul:~# duniter status
Duniter is not running.
```
- From CLI:
```bash
Progress:
Download: [|| ] 13 %
Apply: [ ] 0 %
Status: GOT chunck #191/224 from 47750 to 47999 on peer duniter.silibre.com:80/usr/bin/duniter: line 15: 14475 Killed $NODE "$DUNITER_DIR/bin/duniter" "$@"
```
Ok, finally, it's OOM process kill.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/868Have an harder personal handicap2017-11-28T16:49:17+01:00Cédric MoreauHave an harder personal handicapToday the handicap is defined as:
PERSONAL_HANDICAP = FLOOR(LN(1 + PERSONAL_EXCESS) / LN(1.189))
So this is a purely linear difficulty augmentation: if our computer is 16 times stronger than the co-calculators, our difficulty w...Today the handicap is defined as:
PERSONAL_HANDICAP = FLOOR(LN(1 + PERSONAL_EXCESS) / LN(1.189))
So this is a purely linear difficulty augmentation: if our computer is 16 times stronger than the co-calculators, our difficulty will go through:
* `PERSONAL_EXCESS = 1` => 18% harder than normally
* `PERSONAL_EXCESS = 2` => 41% harder than normally
* `PERSONAL_EXCESS = 3` => 68% harder than normally
* `PERSONAL_EXCESS = 4` => 100% harder than normally
With this algorithm, the difficulty increases with a delay, and may never handicap us to our have a difficulty corresponding to our effective superiority.
To reach it more quickly, we could simply use an exponential:
PERSONAL_HANDICAP = FLOOR(LN(1 + PERSONAL_EXCESS) / LN(1.189))*2
The result would be:
* `PERSONAL_EXCESS = 1` => 41% harder than normally
* `PERSONAL_EXCESS = 2` => 100% harder than normally
* `PERSONAL_EXCESS = 3` => 182% harder than normally
* `PERSONAL_EXCESS = 4` => 300% harder than normally
Have to study a bit more this before release.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/957PoW launched during resync2020-10-04T18:52:59+02:00Cédric MoreauPoW launched during resync*Created by: M5oul*
Resync sometimes launch PoW:
```bash
2017-04-12T10:22:54+02:00 - info: Block #9626 added to the blockchain in 398 ms
2017-04-12T10:22:55+02:00 - info: POST Block block#9626
2017-04-12T10:22:55+02:00 - info: Block #96...*Created by: M5oul*
Resync sometimes launch PoW:
```bash
2017-04-12T10:22:54+02:00 - info: Block #9626 added to the blockchain in 398 ms
2017-04-12T10:22:55+02:00 - info: POST Block block#9626
2017-04-12T10:22:55+02:00 - info: Block #9627 added to the blockchain in 401 ms
2017-04-12T10:22:55+02:00 - info: POST Block block#9627
2017-04-12T10:22:55+02:00 - info: Block #9628 added to the blockchain in 406 ms
2017-04-12T10:22:56+02:00 - info: POST Block block#9628
2017-04-12T10:22:56+02:00 - info: Block #9629 added to the blockchain in 486 ms
2017-04-12T10:22:56+02:00 - info: Peer 4Uz7X27jQMAf3jqL2fr75ckZ6Jgi9TZL9fMf9TR9vBvG unreachable: now considered as DOWN.
2017-04-12T10:22:56+02:00 - info: Will pull blocks from the network in 0 min 20 sec
2017-04-12T10:22:56+02:00 - warn: Pulling done. Continue proof-of-work loop.
2017-04-12T10:22:56+02:00 - info: POST Block block#9629
2017-04-12T10:22:59+02:00 - info: Generating proof-of-work with 5 leading zeros followed by [0-9A-C]... (CPU usage set to 35%) for block#9630 GfKERH
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:22:59+02:00 - info: Block #9630 added to the blockchain in 2947 ms
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:22:59+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:23:00+02:00 - info: POST Block block#9630
2017-04-12T10:23:00+02:00 - warn: Waiting for the end of pulling...
2017-04-12T10:23:00+02:00 - info: Block #9631 added to the blockchain in 573 ms
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:23:00+02:00 - info: POST Block block#9631
2017-04-12T10:23:00+02:00 - info: Block #9632 added to the blockchain in 377 ms
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #1
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #2
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #3
2017-04-12T10:23:00+02:00 - info: Stop proof-of-work worker #4
2017-04-12T10:23:00+02:00 - info: GIVEN proof-of-work for block#9630 with 5 leading zeros followed by [0-9A-C]! stop PoW for GfKERH
2017-04-12T10:23:00+02:00 - warn: The proof-of-work generation was canceled: Proof-of-work computation canceled because block received
2017-04-12T10:23:00+02:00 - info: POST Block block#9632
2017-04-12T10:23:01+02:00 - info: Block #9633 added to the blockchain in 402 ms
2017-04-12T10:23:01+02:00 - info: POST Block block#9633
2017-04-12T10:23:01+02:00 - info: Block #9634 added to the blockchain in 423 ms
2017-04-12T10:23:01+02:00 - info: POST Block block#9634
2017-04-12T10:23:01+02:00 - info: Block #9635 added to the blockchain in 437 ms
2017-04-12T10:23:02+02:00 - info: POST Block block#9635
2017-04-12T10:23:02+02:00 - info: Block #9636 added to the blockchain in 368 ms
```
The timeout before computing block should be bigger.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1044Remove `any` types and replace them with correct types2017-11-28T16:49:17+01:00Cédric MoreauRemove `any` types and replace them with correct typesAs a continuation #1037, the `any` types are equivalent to use just vanilla JS.As a continuation #1037, the `any` types are equivalent to use just vanilla JS.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/626Desktop > Create a new currency2017-11-28T16:49:17+01:00Benoit LavenierDesktop > Create a new currencyWhen creating a new currency :
- UserId is not check against regex
- secret key and password should be repeat (confirmation fields)
- Block count :
- default value to 20 - should be 10 or 12 ?
- should be rename in block count for m...When creating a new currency :
- UserId is not check against regex
- secret key and password should be repeat (confirmation fields)
- Block count :
- default value to 20 - should be 10 or 12 ?
- should be rename in block count for median time
- Block count for diff :
- default value to 10 - should be 20 or 25 ?
- msWindow : could not be set ?
- idtyWindow : could not be set ?
In created conf.json file:
- is the property `powDelay` used ?
- is the property `rootoffset` used ?
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/812Allow to change log level2017-11-28T16:49:17+01:00Cédric MoreauAllow to change log levelSee https://forum.duniter.org/t/arret-inopine-de-mon-noeud-membre-gtest/1653/19?u=cgeekSee https://forum.duniter.org/t/arret-inopine-de-mon-noeud-membre-gtest/1653/19?u=cgeekHorizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/867Fix the value of `percentRot` parameter2017-11-28T16:49:17+01:00Cédric MoreauFix the value of `percentRot` parameterCurrently this is an initial parameter from block#0. But for some reason this value could have an interest to be changed: for example in ĞTest we've put a wrong value which leads to an effective 50% PoW exclusion, instead of the 33% expe...Currently this is an initial parameter from block#0. But for some reason this value could have an interest to be changed: for example in ĞTest we've put a wrong value which leads to an effective 50% PoW exclusion, instead of the 33% expected.
This 33% rule could be hard coded. So percentRot would always equal 33%.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/955Make sync multi-core2017-11-28T16:49:17+01:00Cédric MoreauMake sync multi-core*Created by: M5oul*
Currently, during synchronization, block application is done on a single CPU core.
It could go faster if duniter uses all cores.
Even, `--cautious` check option could be faster.*Created by: M5oul*
Currently, during synchronization, block application is done on a single CPU core.
It could go faster if duniter uses all cores.
Even, `--cautious` check option could be faster.Horizon