duniter issueshttps://git.duniter.org/nodes/typescript/duniter/-/issues2021-05-31T23:01:53+02:00https://git.duniter.org/nodes/typescript/duniter/-/issues/1430`sync` uses too much RAM, even without GVA enabled2021-05-31T23:01:53+02:00Cédric Moreau`sync` uses too much RAM, even without GVA enabledI cannot sync anymore on GT with my Raspberry PI 4 with 4GB of RAM.I cannot sync anymore on GT with my Raspberry PI 4 with 4GB of RAM.Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1429`dev` branch does not compile on ARM x642021-05-25T19:47:29+02:00Cédric Moreau`dev` branch does not compile on ARM x64Stacktrace in attachment.
[stacktrace.txt](/uploads/df55e1dafe51503c86daaff33f61c2fe/stacktrace.txt)Stacktrace in attachment.
[stacktrace.txt](/uploads/df55e1dafe51503c86daaff33f61c2fe/stacktrace.txt)Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1428Install Duniter on Debian 10 miss `sudo apt install build-essential`2021-05-24T01:45:45+02:00pokaInstall Duniter on Debian 10 miss `sudo apt install build-essential`If you have this error on `cargo xtask build` :
```
error: linker `cc` not found
```
You have to do:
`sudo apt install build-essential`
You also have to install cmake manually: https://linuxhint.com/install-cmake-on-debian-10/
You s...If you have this error on `cargo xtask build` :
```
error: linker `cc` not found
```
You have to do:
`sudo apt install build-essential`
You also have to install cmake manually: https://linuxhint.com/install-cmake-on-debian-10/
You should add this on README.mdhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1427Introduce pre-commit to replace rusty-hook2021-05-17T22:39:28+02:00MoulIntroduce pre-commit to replace rusty-hook- [x] Introduce `pre-commit` hooks:
- [x] Rust checkers `fmt`, `cargo check`, `clippy`
- [x] GitLab CI linter
- [x] Document `pre-commit` usage
- [x] Get rid of `rusty-hook` which is less convenient- [x] Introduce `pre-commit` hooks:
- [x] Rust checkers `fmt`, `cargo check`, `clippy`
- [x] GitLab CI linter
- [x] Document `pre-commit` usage
- [x] Get rid of `rusty-hook` which is less convenient2.0MoulMoulhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1426Allow wider Node.js versions range2021-05-17T22:32:13+02:00MoulAllow wider Node.js versions range2.0MoulMoulhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1425Honor X-Real-IP and / or X-Forwarded-For when behind a reverse proxy2021-04-17T14:57:52+02:00piniHonor X-Real-IP and / or X-Forwarded-For when behind a reverse proxyHi,
When behind a reverse proxy, the log reports the proxy's IP address instead of the client's. Please provide a way to honor the 'X-Real-IP' and / or 'X-Forwarded-For' headers to retrieve the actual client's IP address.
I guess this ...Hi,
When behind a reverse proxy, the log reports the proxy's IP address instead of the client's. Please provide a way to honor the 'X-Real-IP' and / or 'X-Forwarded-For' headers to retrieve the actual client's IP address.
I guess this is needed for the `dos` whitelist to be effective as well.
I'm aware that these headers can be spoofed by the client. Several methods exist to mitigate this. See for example how it is done for the PeerTube service, using a list of trusted proxies' CIDRs.
Thanks in advance for considering.https://git.duniter.org/nodes/typescript/duniter/-/issues/1424[GVA] Add request to get network peers with enough info to make a real p2p cl...2021-04-21T22:29:34+02:00Vincent Texier[GVA] Add request to get network peers with enough info to make a real p2p clientI have made a python helper to help client keep a list of consensus blockchain nodes.
See : https://forum.duniter.org/t/fonction-daide-pour-avoir-un-vrai-client-python-p2p/7821
The BMA API needs two requests to get all info of nodes (`...I have made a python helper to help client keep a list of consensus blockchain nodes.
See : https://forum.duniter.org/t/fonction-daide-pour-avoir-un-vrai-client-python-p2p/7821
The BMA API needs two requests to get all info of nodes (`network/ws2p/heads`, `network/peers`).
GVA should be able to provide one request only.
Response should be a paginated list of nodes, a `Node` is an object with `Head` document and `Peer` document together.
```json
Node {
Head: {
version: int,
signature: str,
api: str,
pubkey: str,
blockstamp: BlockUID {
number: int,
hash: str
},
ws2pid: str,
software: str,
software_version: str,
pow_prefix: str,
free_member_room: int,
free_mirror_room: int
},
Peer: {
version: int,
currency: str,
pubkey: str,
block_uid: BlockUID {
number: int,
hash: str
},
endpoints: [str, ...],
signature: str
}
}
```
----
To not bind the `Node` object to the ws2p protocol `Head` document, we can put `Head` relevant information directly in the `Node` properties:
```json
Node {
pubkey: str,
blockstamp: BlockUID {
number: int,
hash: str
},
software: str,
software_version: str,
Peer: {
version: int,
currency: str,
pubkey: str,
block_uid: BlockUID {
number: int,
hash: str
},
endpoints: [str, ...],
signature: str
}
}
```
With the drawback that we do not have the `Head` signature anymore.1.9https://git.duniter.org/nodes/typescript/duniter/-/issues/1423WS2P UPnP: start port lookup at less than 209002020-12-03T13:29:00+01:00Cédric MoreauWS2P UPnP: start port lookup at less than 20900I recently moved my home, and my Freebox IP changed. By default in such situation, Free gives you a brand new IP configuration and by default a dynamic one. In such case, the range of available ports is [1;16383].
But as Duniter starts ...I recently moved my home, and my Freebox IP changed. By default in such situation, Free gives you a brand new IP configuration and by default a dynamic one. In such case, the range of available ports is [1;16383].
But as Duniter starts its lookup at 20900, the UPnP port opening just fails. Always.
Maybe we could start the lookup at a lower range, like 10900? (keeping the "900" thing) I don't know if other users have constraints too that we should take into account as well making 10900 a wrong start.https://git.duniter.org/nodes/typescript/duniter/-/issues/1422duniter 1.8.0 always stops after a few time on raspberry Pi2021-05-10T19:57:37+02:00Benoît Rouitsduniter 1.8.0 always stops after a few time on raspberry PiHello. On a Raspberry Pi 4GB, Duniter 1.8.0 always stops after a few time running (say one or two days). I have to restart it manually almost every day. I don't see any logs generated by duniter for help. BTW previous duniter version was...Hello. On a Raspberry Pi 4GB, Duniter 1.8.0 always stops after a few time running (say one or two days). I have to restart it manually almost every day. I don't see any logs generated by duniter for help. BTW previous duniter version was working without problem. Tell me how can I help to troubleshoot that issue.https://git.duniter.org/nodes/typescript/duniter/-/issues/1421Upgrade to a newest Node.js version before Node.js v10 maintenance get dropped2023-06-09T11:11:28+02:00MoulUpgrade to a newest Node.js version before Node.js v10 maintenance get droppedDuniter is currently using Node.js v10.
This version is the last release in maintenance state before being dropped, as planned, on April 30th of 2021.
I am not sure how long would Node.js and TS/JS code would still live in Duniter, but u...Duniter is currently using Node.js v10.
This version is the last release in maintenance state before being dropped, as planned, on April 30th of 2021.
I am not sure how long would Node.js and TS/JS code would still live in Duniter, but updating Node.js version would allow to get security fixes from Node.js side.
https://nodejs.org/en/about/releases/2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1420dockerfile ?2020-10-24T12:56:19+02:00timothedockerfile ?est ce qu'il pourrait y avoir un dockerfile afin de permettre de lancer le projet sur n'importe quel environnementest ce qu'il pourrait y avoir un dockerfile afin de permettre de lancer le projet sur n'importe quel environnementhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1419Migrer les fichiers keyring.yml existant en 6402020-10-04T18:22:06+02:00ÉloïsMigrer les fichiers keyring.yml existant en 640A faire en Rust quand cette partie sera migrée car pas réussi en NodeJs, voir #1416A faire en Rust quand cette partie sera migrée car pas réussi en NodeJs, voir #14162.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1418Installation link returns 404 Not Found2020-09-27T20:28:44+02:00Raphaël PinelInstallation link returns 404 Not FoundGo to [https://duniter.org/en/wiki/duniter/install/#desktop-version](https://duniter.org/en/wiki/duniter/install/#desktop-version)
Under 'Windows'
Search for
'Go to the release page to get a link to the last stable release.'
![Screensho...Go to [https://duniter.org/en/wiki/duniter/install/#desktop-version](https://duniter.org/en/wiki/duniter/install/#desktop-version)
Under 'Windows'
Search for
'Go to the release page to get a link to the last stable release.'
![Screenshot_2020-09-14_at_13.01.28](/uploads/d5fc15ae367ed94db769434f4480cdb4/Screenshot_2020-09-14_at_13.01.28.png)
Click on the link: https://git.duniter.org/nodes/typescript/duniter/-/wikis/Releases
it returns a 404 Not found pagehttps://git.duniter.org/nodes/typescript/duniter/-/issues/1417import-lookup et crawl-lookup devraient transférer les documents de révocation2020-07-23T11:24:27+02:00matograineimport-lookup et crawl-lookup devraient transférer les documents de révocationLes fonctions import-lookup et crawl-lookup ne transmettent que les documents d'entrée dans la WoT. Il me semble tout aussi essentiel de transmettre les documents de révocation.Les fonctions import-lookup et crawl-lookup ne transmettent que les documents d'entrée dans la WoT. Il me semble tout aussi essentiel de transmettre les documents de révocation.https://git.duniter.org/nodes/typescript/duniter/-/issues/1416Changer les droits de keyring.yml2020-10-04T18:26:32+02:00Stéphane VeyretChanger les droits de keyring.ymlSi j'ai bien compris, le fichier `keyring.yml` contient la clé publique **et la clé privée** de l'utilisateur. Or, d'après mes tests, ce fichiers est créé avec les droits 644, ce qui veut dire que n'importe quelle personne ayant un accès...Si j'ai bien compris, le fichier `keyring.yml` contient la clé publique **et la clé privée** de l'utilisateur. Or, d'après mes tests, ce fichiers est créé avec les droits 644, ce qui veut dire que n'importe quelle personne ayant un accès à la machine peut aller en lire le contenu.
Pour des raisons de sécurité, il faudrait créer ce fichier avec les droit 640. J'irai même plus loin, je pense qu'il serait bien de faire comme, par exemple, SSH, c'est-à-dire refuser de démarrer si le fichier est accessible en lecture par tout le monde.1.9https://git.duniter.org/nodes/typescript/duniter/-/issues/1415gen-root requires undocumented --submit-local or (--submit-host and --submit-...2020-07-06T11:35:44+02:00Santiagogen-root requires undocumented --submit-local or (--submit-host and --submit-port) arguments`gen-root` calls `generateAndSend()`:
https://git.duniter.org/nodes/typescript/duniter/-/blob/v1.8.1/app/modules/prover/index.ts#L184
that checks if there is a submit host option passed along with the command:
https://git.duniter.org/n...`gen-root` calls `generateAndSend()`:
https://git.duniter.org/nodes/typescript/duniter/-/blob/v1.8.1/app/modules/prover/index.ts#L184
that checks if there is a submit host option passed along with the command:
https://git.duniter.org/nodes/typescript/duniter/-/blob/v1.8.1/app/modules/prover/index.ts#L248
however, this seems undocumented, at least `--help` doesn't describes this.https://git.duniter.org/nodes/typescript/duniter/-/issues/1414Desktop variant need nodejs installed on the system2020-06-16T17:51:35+02:00ÉloïsDesktop variant need nodejs installed on the systemmaybe link to https://git.duniter.org/nodes/typescript/modules/duniter-uimaybe link to https://git.duniter.org/nodes/typescript/modules/duniter-ui1.9https://git.duniter.org/nodes/typescript/duniter/-/issues/1413New key works with WS2P but not with POW ?2020-06-13T19:19:05+02:00galuelNew key works with WS2P but not with POW ?Yunohost - Duniter
When changing the key for a member key on a Duniter node (Yunohost server), it appears that the new key is used for WS2P connections but not for POW.
Rebooting the server and restart duniter seems to fix it...
Befor...Yunohost - Duniter
When changing the key for a member key on a Duniter node (Yunohost server), it appears that the new key is used for WS2P connections but not for POW.
Rebooting the server and restart duniter seems to fix it...
Before reboot logs :
```
2020-06-09T07:13:04+02:00 - e[32minfoe[39m: Generating proof-of-work with 5 leading zeros followed by [0-5]... (CPU usage set to 60%) for block#329305 FKHT5Q
2020-06-09T07:13:08+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER Eu3cwXLM 329274-0
2020-06-09T07:13:08+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ✔ PEER Eu3cwXLM 329274-0
2020-06-09T07:13:09+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER Eu3cwXLM 329274-0
2020-06-09T07:13:11+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER Eu3cwXLM 329274-0
2020-06-09T07:13:15+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER Eu3cwXLM 329274-0
2020-06-09T07:13:16+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER 5fPevx21 329274-0
2020-06-09T07:13:16+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER 5fPevx21 329274-0
2020-06-09T07:13:16+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ⬇ PEER 5fPevx21 329274-0
2020-06-09T07:13:16+02:00 - e[32minfoe[39m: [Ds1z6Wd8] ✔ PEER 5fPevx21 329274-0
```
After reboot :
```
2020-06-09T13:22:54+02:00 info Matched 3 zeros 000E20A44C2A6DD78E1202432FD582EB535BCEB3A0CCE17EF9C877CDDD3D7255 with Nonce = 10099900000088 for block#288696 by Ds1z6W
2020-06-09T13:23:00+02:00 warn WS2P request timeout
2020-06-09T13:23:00+02:00 warn WS2P request timeout
2020-06-09T13:23:00+02:00 info Block resolution: 1 potential blocks after current#288695...
2020-06-09T13:23:00+02:00 info Block #288696 added to the blockchain in 281 ms
2020-06-09T13:23:00+02:00 info [done] worker c#0#w#1
2020-06-09T13:23:00+02:00 info Block resolution: 1 potential blocks after current#288696...
2020-06-09T13:23:00+02:00 info [done] worker c#0#w#0
2020-06-09T13:23:00+02:00 info No engine found the proof. It was probably cancelled.
2020-06-09T13:23:00+02:00 info GIVEN proof-of-work for block#288696 with 5 leading zeros followed by [0-5]! stop PoW for Ds1z6W
2020-06-09T13:23:00+02:00 warn The proof-of-work generation was canceled: Proof-of-work computation canceled because block received
```https://git.duniter.org/nodes/typescript/duniter/-/issues/1412Fork generated due to certification link creation failed2020-06-03T20:25:06+02:00MoulFork generated due to certification link creation failedMight be due to the change of the WoT middleware to Rust. With Duniter v1.8.0b2:
```
2020-05-27T15:00:42+02:00 - info: SIDE Block #325807-0000009C added to the blockchain in 3 ms ...Might be due to the change of the WoT middleware to Rust. With Duniter v1.8.0b2:
```
2020-05-27T15:00:42+02:00 - info: SIDE Block #325807-0000009C added to the blockchain in 3 ms │
2020-05-27T15:00:42+02:00 - info: Block resolution: 2 potential blocks after current#324756... │
2020-05-27T15:00:42+02:00 - error: Error: fail to add link 774->71: unknown source │
at tempLinks.forEach (/opt/duniter/app/lib/indexer.js:1794:38) │
at Array.forEach (<anonymous>) │
at checkPeopleAreNotOudistanced (/opt/duniter/app/lib/indexer.js:1794:15) │
2020-05-27T15:00:42+02:00 - error: Error: fail to add link 3368->0: unknown source │
at tempLinks.forEach (/opt/duniter/app/lib/indexer.js:1794:38) │
at Array.forEach (<anonymous>) │
at checkPeopleAreNotOudistanced (/opt/duniter/app/lib/indexer.js:1794:15) │
2020-05-27T15:00:42+02:00 - info: Fork resolution: 180 potential block(s) found... │
2020-05-27T15:00:42+02:00 - info: Fork resolution: block #324757-000000D3 is known as incorrect. Skipping. │
2020-05-27T15:00:42+02:00 - info: Fork resolution: block #324757-000000D3 is known as incorrect. Skipping.
```
Block #324757 which is invalid:
```
curl host:port/blockchain/block/324757
{
[…]
"hash": "000000D31ECD59C3288A868074A8B0B0A8DE6236BACE143AD76944698A518BBC",
"parameters": "",
"previousHash": "000000184CB350F0CE9D7C7C87086ABFD8385ABD878C4FC9218FFD49EB915E0D",
"previousIssuer": "D3krfq6J9AmfpKnS3gQVYoy7NzGCc61vokteTS8LJ4YH",
"inner_hash": "1BE05B0B12DBC179E8E1D3EE00AB4EC068D6876F06D8525B5AF312B8F3558688",
"dividend": null,
"identities": [
"8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:2SW3yAjnKlLu2ccx0Ts0ZcydQUf75AoHob8P8GTJzFe69Cja6t7YtG9tggiI0P9veHUCjYSIbpbsKmJqAa/bBw==:323111-00000001D69AF02E3512007CC668DAAECD3EFE85118A5BE0586C7DF26D924E5F:CedricPujolas"
],
"joiners": [
"8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:mfqxWr8O2kcqNS8RYgRV4XIQBLwd/aS7vLzoGvrWe66d3JFP6ff9wHo26b2Yr0mqPL71fKVrl1a8J47KSOPnBA==:323111-00000001D69AF02E3512007CC668DAAECD3EFE85118A5BE0586C7DF26D924E5F:323111-00000001D69AF02E3512007CC668DAAECD3EFE85118A5BE0586C7DF26D924E5F:CedricPujolas"
],
"actives": [],
"leavers": [],
"revoked": [],
"excluded": [],
"certifications": [
"CTMGBspxizmHdxbYAr8DYYxMvowG4vf7aMp444F5XLC:8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:324749:QqALvO0ayPLEKXr3cCqHXKzE733fcf2DiTCxtk7dlOQWZUocxL9xG+IraVdlJuWXiRaq63+ghEWQy8MLyLMUDA==",
"4Xu86cNGMMFBMdqmG63eKLRaxL9Eq9jRgo5xv2rNVy2o:8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:324377:rsOVO+X5IfXHT+zAPUjOMhN2Ny33ZVYXbKzxY3sATHCm3SUQQOCIvqjIyRu6QOWKBtsFv+tZqU8F52VDVv7mCQ==",
"8SixHYfcrNsU4zKaauHk8D8MTTM7hYoWxT5BjHEXgyKg:8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:323705:WB11oxtxJA8ZaweyyxK6prmYXKB+9+b6/y2EId4HYQcwMeZrFbHsm58yGm7E9ptTxxRrOmNEyhZBFE8Nz+MJBA==",
"E9zscftrAswWYZwAm7o3YK4nD1cXmKdJBeX2r3D9zk7d:8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:323548:1zrCoNmndLfdsWdppUabz7Z60Vc6t4wDZlgYCTg4pcSzrZ333ToqTpEugQC4x7/C3YEKWpv/5IVVPFyUdfJACA==",
"HJ7U5CeYLQZrP76yRP7WgHnMvJggxeTTYW8wDJDwf42f:8bX9SBkkfUkz21ziUvjzxXHrQhGCBf8oXmQCGbYB9J1M:323141:uy1Gl/cuV2Y8d8MwALNqLnIPzMvRm/eUf0E0JnjOSlrBLrwwXFsCAWO6xJ50QqC/tnA4iFiS+c/d3ay/HVryBw=="
],
"transactions": [],
"raw": […]
}~
```1.8ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1411Use permanent links in release assets2020-06-03T20:34:04+02:00Stéphane VeyretUse permanent links in release assetsL'URL pour récupérer un livrable dépend aujourd'hui du numéro de JOB qui l'a créé, ce qui n'est pas très pratique pour une procédure automatique. Il faudrait utiliser la fonctionnalité des liens permanents ajoutée dans la v12.9 de gitlab...L'URL pour récupérer un livrable dépend aujourd'hui du numéro de JOB qui l'a créé, ce qui n'est pas très pratique pour une procédure automatique. Il faudrait utiliser la fonctionnalité des liens permanents ajoutée dans la v12.9 de gitlab pour avoir une adresse fixe et propre : https://docs.gitlab.com/ee/user/project/releases/#permanent-links-to-release-assets1.8