duniter issueshttps://git.duniter.org/nodes/typescript/duniter/-/issues2023-06-16T12:40:33+02:00https://git.duniter.org/nodes/typescript/duniter/-/issues/1440Optimize BMA `/wot/certifiers-of/:search` and `/wot/certified-by/:search`2023-06-16T12:40:33+02:00Benoit LavenierOptimize BMA `/wot/certifiers-of/:search` and `/wot/certified-by/:search`I need to optimize BMA call to:
- `/wot/certifiers-of/:search`
- and `/wot/certified-by/:search`
To keep compatibility with existing clients, we can add a query param `?pubkey` to enable search on pubkey only. This should avoid uid sear...I need to optimize BMA call to:
- `/wot/certifiers-of/:search`
- and `/wot/certified-by/:search`
To keep compatibility with existing clients, we can add a query param `?pubkey` to enable search on pubkey only. This should avoid uid search, full scan, etc.
See this post : https://forum.duniter.org/t/bma-ameliorer-les-temps-de-reponse-de-wot-requirements-search/11138Optimize1.8.7Benoit LavenierBenoit Lavenierhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1439Long response time of `/tx/requirements/:search`2023-06-16T12:40:17+02:00Benoit LavenierLong response time of `/tx/requirements/:search`BMA call to `/tx/requirements/:search` is quite long in the g1 network.
Ex : [`/wot/requirements/38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE`](`https://duniter.pini.fr/wot/requirements/38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE`) took...BMA call to `/tx/requirements/:search` is quite long in the g1 network.
Ex : [`/wot/requirements/38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE`](`https://duniter.pini.fr/wot/requirements/38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE`) took from 2s to 30s
See this post : https://forum.duniter.org/t/bma-ameliorer-les-temps-de-reponse-de-wot-requirements-search/111381.8.7Benoit LavenierBenoit Lavenierhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1438Long response time of `/tx/sources/:pubkey`2023-06-16T12:39:32+02:00Benoit LavenierLong response time of `/tx/sources/:pubkey`BMA call to `/tx/sources/:pubkey` is quite long.BMA call to `/tx/sources/:pubkey` is quite long.1.8.7Benoit LavenierBenoit Lavenierhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1409Deprecated and now unused method lastBlockWithDividend()2020-05-09T20:32:37+02:00Cédric MoreauDeprecated and now unused method lastBlockWithDividend()This method was suspected to be orphan, but it was actually used by Duniter UI (to display units using UD).
However since LevelDB migration of Duniter 1.7, this method has become super slow and resource consuming.
[I updated DuniterUI ...This method was suspected to be orphan, but it was actually used by Duniter UI (to display units using UD).
However since LevelDB migration of Duniter 1.7, this method has become super slow and resource consuming.
[I updated DuniterUI to use another, way more performant method](https://git.duniter.org/nodes/typescript/modules/duniter-ui/commit/028d81ec).
So this `lastBlockWithDividend()` can be removed.1.8Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1382Wrong datatype for version field in response to POST request on /tx/process2020-06-17T14:31:54+02:00Jonathan FoucherWrong datatype for version field in response to POST request on /tx/processWhen getting transactions, the version field is a number (Int) whereas after posting a transaction to the /tx/process endpoint, the data returned shows the version number as a string.
## Response from POST
```
{
"version": "10",
"c...When getting transactions, the version field is a number (Int) whereas after posting a transaction to the /tx/process endpoint, the data returned shows the version number as a string.
## Response from POST
```
{
"version": "10",
"currency": "g1",
"issuers": [
"EEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq"
],
"inputs": [
"470:0:T:EEFFFB79D48543C64E58C13DF8D80A3DC40CB7330192908B161D935AC316F7CF:1"
],
"outputs": [
"10:0:SIG(9itUPU7CVJEHh5DszAYQvgdUvTDLUNkY6NngMfo3F18k)",
"460:0:SIG(EEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq)"
],
"unlocks": [
"0:SIG(0)"
],
"signatures": [
"e3exkm5OtUkjJx1xfhO/P5D/htiuC05sXs3igO9mo7bfrbGS8AhO9WZ554JbqlTORGkQATmencl98lozSp8lBA=="
],
"comment": "dfdf",
"locktime": 0,
"hash": "B9F18F609872EAAFF3DAE8452F74CEB6497C645B180F249C71AB3C52BA03C4F1",
"written_block": 225794,
"raw": "Version: 10\nType: Transaction\nCurrency: g1\nBlockstamp: 225794-000000706746E6CAE4136534392ABAE9249B6497A0CC2993C67DBC448AB60AC1\nLocktime: 0\nIssuers:\nEEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq\nInputs:\n470:0:T:EEFFFB79D48543C64E58C13DF8D80A3DC40CB7330192908B161D935AC316F7CF:1\nUnlocks:\n0:SIG(0)\nOutputs:\n10:0:SIG(9itUPU7CVJEHh5DszAYQvgdUvTDLUNkY6NngMfo3F18k)\n460:0:SIG(EEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq)\nComment: dfdf\ne3exkm5OtUkjJx1xfhO/P5D/htiuC05sXs3igO9mo7bfrbGS8AhO9WZ554JbqlTORGkQATmencl98lozSp8lBA==\n"
}
```
## Response from GET request
```
{
"version": 10,
"locktime": 0,
"blockstamp": "225326-00000400F881B194D85541E97420B8BA20C5947E81364C08D23192261C9E70C9",
"blockstampTime": 1559345677,
"issuers": [
"EEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq"
],
"inputs": [
"490:0:T:FC4F40EA49C82CC337407AA6FF4E2BB53D86FB990C48F7F9373C54FB3291B119:1"
],
"outputs": [
"1:0:SIG(9itUPU7CVJEHh5DszAYQvgdUvTDLUNkY6NngMfo3F18k)",
"489:0:SIG(EEdwxSkAuWyHuYMt4eX5V81srJWVy7kUaEkft3CWLEiq)"
],
"unlocks": [
"0:SIG(0)"
],
"signatures": [
"SRm7MKMDHQ9/OuFgixvtuuh+JvjVk66LhJYSD29fteu6A6cZ8+13/ofIOc9dWzXxn7oYMimqkluSx17QE6nqCw=="
],
"comment": "petit test",
"hash": "84116BA7807E10C6E2DE98D14019C7CAF9FA861C39081C967395495752679494",
"time": null,
"block_number": null,
"received": null
}
```
This makes it difficult to work with for strongly typed languages.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1359Enable `--store-txs` by default, when BMA is enable2020-05-05T18:47:28+02:00Benoit LavenierEnable `--store-txs` by default, when BMA is enableThis [this post](https://forum.duniter.org/t/demandes-recurrentes-sur-cesium-evolution-de-duniter/5929/38?u=kimamila)
When store TX is disbale, this could be great to send an error (instead of returned a partial history).This [this post](https://forum.duniter.org/t/demandes-recurrentes-sur-cesium-evolution-de-duniter/5929/38?u=kimamila)
When store TX is disbale, this could be great to send an error (instead of returned a partial history).1.8https://git.duniter.org/nodes/typescript/duniter/-/issues/1340Regression in tx/[pubkey]/times/[from]/[to]2019-04-09T15:13:36+02:00insoRegression in tx/[pubkey]/times/[from]/[to]I'm having two different responses between 1.6.29 and 1.7.11 nodes :
https://g1.nordstrom.duniter.org/tx/history/5cnvo5bmR8QbtyNVnkDXWq6n5My6oNLd1o6auJApGCsv/times/1550016000/1550447999
https://g1.duniter.org/tx/history/5cnvo5bmR8Qbty...I'm having two different responses between 1.6.29 and 1.7.11 nodes :
https://g1.nordstrom.duniter.org/tx/history/5cnvo5bmR8QbtyNVnkDXWq6n5My6oNLd1o6auJApGCsv/times/1550016000/1550447999
https://g1.duniter.org/tx/history/5cnvo5bmR8QbtyNVnkDXWq6n5My6oNLd1o6auJApGCsv/times/1550016000/1550447999
The answer is empty on 1.7.111.7https://git.duniter.org/nodes/typescript/duniter/-/issues/1331BMA /tx/history/pubkey send no transaction with use /times - duniter 1.7.x2019-04-09T22:31:16+02:00jardin alainBMA /tx/history/pubkey send no transaction with use /times - duniter 1.7.xBMA /tx/history/pubkey send no transaction with use /times version 1.7.x
but without /time, it's ok.BMA /tx/history/pubkey send no transaction with use /times version 1.7.x
but without /time, it's ok.1.7https://git.duniter.org/nodes/typescript/duniter/-/issues/1316/blockchain/with/* is broken in 1.7.x2018-12-23T13:52:25+01:00Moul/blockchain/with/* is broken in 1.7.x```bash
{
"result": {
"blocks": [
286392,
286392
]
}
}
```
cf: https://forum.duniter.org/t/g1-test-dans-les-choux-rejouage-des-certifications/4192/311?u=moul```bash
{
"result": {
"blocks": [
286392,
286392
]
}
}
```
cf: https://forum.duniter.org/t/g1-test-dans-les-choux-rejouage-des-certifications/4192/311?u=moul1.7https://git.duniter.org/nodes/typescript/duniter/-/issues/1312Wizard network fails if no interface in conf.json2019-04-09T22:25:06+02:00TuxicomanWizard network fails if no interface in conf.jsonI manually edited the conf.json to remove the network interfaces entries.
Then when launching the wizard to set them again I get this error :
```
$ duniter wizard network
2018-10-22T18:00:38+02:00 - debug: Plugging file system...
2018-...I manually edited the conf.json to remove the network interfaces entries.
Then when launching the wizard to set them again I get this error :
```
$ duniter wizard network
2018-10-22T18:00:38+02:00 - debug: Plugging file system...
2018-10-22T18:00:38+02:00 - debug: Loading conf...
2018-10-22T18:00:39+02:00 - error: Error: No interface to listen to.
at onLoading (/opt/duniter/app/modules/bma/index.js:157:31)
at FileDAL.server.dal.loadConfHook (/opt/duniter/index.js:286:31)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:160:7
```
1.7https://git.duniter.org/nodes/typescript/duniter/-/issues/1304/wot/lookup & /wot/requirements : bad value on revoked_on2019-03-23T16:53:38+01:00Benoit Lavenier/wot/lookup & /wot/requirements : bad value on revoked_onIn Duniter v1.6.24, the field `revoked_on` (`/wot/lookup` or `/wot/requirements`) has a bad value, on Ğ1-test currency.
This should be the block number, were the revocation is stored.
But on [this Ğ1-test example](https://g1-test.dunite...In Duniter v1.6.24, the field `revoked_on` (`/wot/lookup` or `/wot/requirements`) has a bad value, on Ğ1-test currency.
This should be the block number, were the revocation is stored.
But on [this Ğ1-test example](https://g1-test.duniter.nanocryk.fr/wot/requirements/G2CBgZBPLe6FSFUgpx2Jf1Aqsgta6iib3vmDRA1yLiqU), the value `1524559092` is not a valid block number :
```json
{
"identities": [
{
"pubkey": "G2CBgZBPLe6FSFUgpx2Jf1Aqsgta6iib3vmDRA1yLiqU",
"uid": "gab",
"sig": "e/yBwvzdKb8epM9L4rwCn7j2ex3c/byNNXKJ48dwoK5hp1sCcYiazFbezJ0VvWMNJ6AoYQWGfrGCA5Og9W//CQ==",
"meta": {
"timestamp": "24220-0000A2AC46D57C8B608FEDD0BA51ABB88E3E45683D7A03D3D98A1E6D5F5715FE"
},
"revocation_sig": null,
"revoked": true,
"revoked_on": 1524559092,
...
}
]
}
```
On the Ğ1 currency, the value seems to be correct (example [here](https://g1.duniter.fr/wot/requirements/E3jDjuVPjautiW8F1K3XChd2FwwAwjKJhyts6Q6kMdm4))1.7https://git.duniter.org/nodes/typescript/duniter/-/issues/1259WSP2 WebUI configuration make crash when set private2020-05-11T19:31:48+02:00MikeWSP2 WebUI configuration make crash when set privateWhen I try to input private as lo 127.0.0.1 or local ip, Duniter crash.<br />
I solved it with command line configuration. <br />
It appears now blank in WebUI:<br />
![Capture](/uploads/486dd2839aa30c81bec3221fdec7c579/Capture.PNG)
![Ca...When I try to input private as lo 127.0.0.1 or local ip, Duniter crash.<br />
I solved it with command line configuration. <br />
It appears now blank in WebUI:<br />
![Capture](/uploads/486dd2839aa30c81bec3221fdec7c579/Capture.PNG)
![Capture2](/uploads/7e735909184caea5a8dc51937ec70554/Capture2.PNG)1.9https://git.duniter.org/nodes/typescript/duniter/-/issues/1225Peer always UP!2018-02-02T16:22:07+01:00stephanePeer always UP!In Duniter database the status of peer table is not updated when a peer is DOWN. I'm using the 1.6.14 version but I think that this issue comes from several anterior versions.
In this case, Duniter/WS2P try to connect to offline peers a...In Duniter database the status of peer table is not updated when a peer is DOWN. I'm using the 1.6.14 version but I think that this issue comes from several anterior versions.
In this case, Duniter/WS2P try to connect to offline peers and wait the timeout before to pass to another peer.
In the logs, this is indicated by:
WS2P: Could not connect to peer xxx using xxx: WS2P connection timeout`
error: Unhandled rejection: WS2P connection timeout
error: WS2P connection timeout
Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1174add option to use bma without crawler (passive mode)2017-12-01T21:10:11+01:00Éloïsadd option to use bma without crawler (passive mode)1.6.0ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1139Wrong TX document: "“Cannot read property ‘push’ of undefined”"2018-01-27T07:27:42+01:00Cédric MoreauWrong TX document: "“Cannot read property ‘push’ of undefined”"https://forum.duniter.org/t/doc-protocol-example-tx-format/3325/10https://forum.duniter.org/t/doc-protocol-example-tx-format/3325/101.6.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1110Peer document is refused if BMA is not present2018-01-27T07:27:42+01:00Cédric MoreauPeer document is refused if BMA is not present1.6.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1084WS2P API2018-01-27T07:27:42+01:00Cédric MoreauWS2P APIDescription (french) here: https://forum.duniter.org/t/nouvelle-api-ws2p/3067Description (french) here: https://forum.duniter.org/t/nouvelle-api-ws2p/30671.6.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1042ws/block return bad JSON format2018-01-27T07:27:43+01:00Benoit Lavenierws/block return bad JSON formatSometime, when ES node received new block (using websocket /ws/block) i get bad TX.inputs `[object Object]`
![image](https://user-images.githubusercontent.com/5269556/28518461-416c34ac-7068-11e7-8c77-20e30e6516b9.png)
When getting...Sometime, when ES node received new block (using websocket /ws/block) i get bad TX.inputs `[object Object]`
![image](https://user-images.githubusercontent.com/5269556/28518461-416c34ac-7068-11e7-8c77-20e30e6516b9.png)
When getting block by `/blockchain/block/` the format is good
1.4.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1014`/wot/requirements-of-pending` is too long to respond on Ğ12018-01-27T07:27:43+01:00Cédric Moreau`/wot/requirements-of-pending` is too long to respond on Ğ1With only 63 identities in the sandbox, this URL is still a very costly call. For the node, it requires a lot of disk access + CPU (distance test), and for the caller it might end in an HTTP timeout, which during a sync leads to have an ...With only 63 identities in the sandbox, this URL is still a very costly call. For the node, it requires a lot of disk access + CPU (distance test), and for the caller it might end in an HTTP timeout, which during a sync leads to have an empty sandbox for the caller.
Maybe the distance computation is not required in this URL, but should be let to the `/wot/requirements` URL. Maybe other points of improvement (DB access) could be investigated as well.1.4.0https://git.duniter.org/nodes/typescript/duniter/-/issues/981multicaster should not use explicitely `request` dependency2020-10-04T18:51:17+02:00Cédric Moreaumulticaster should not use explicitely `request` dependencyInstead, it should rely on generic forwarding methods fulfilled by some module. For example, multicaster could rely on `duniter-crawler` which has the logic for making HTTP requests.Instead, it should rely on generic forwarding methods fulfilled by some module. For example, multicaster could rely on `duniter-crawler` which has the logic for making HTTP requests.1.9