duniter issueshttps://git.duniter.org/nodes/typescript/duniter/-/issues2017-11-28T16:49:17+01:00https://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/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/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/1031Stop PoW if the network's connection is down2017-11-28T16:49:17+01:00Cédric MoreauStop PoW if the network's connection is down*Created by: M5oul*
When there is a connection loss, Duniter could try to found that the connection have been lost.
Currently, nodes are set as `DOWN` then `UP`:
```bash
2017-07-11T21:42:49+02:00 - info: POST Peer GfKERHnJTY#34444...*Created by: M5oul*
When there is a connection loss, Duniter could try to found that the connection have been lost.
Currently, nodes are set as `DOWN` then `UP`:
```bash
2017-07-11T21:42:49+02:00 - info: POST Peer GfKERHnJTY#34444
2017-07-11T21:42:50+02:00 - info: Peer Do99s6wQR2JLfhirPdpAERSjNbmjjECzGxHNJMiNKT3P unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer Be1eVp7etVfA7cT6er6dcJ9d5KxGJVY2tzCGGCAz3yG unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer t5RR5eVeE7jRhKcREvC3kfGtDTdkxmvW6WeJ9q9keHG unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 4fHMTFBMo5sTQEc5p1CNWz28S4mnnqdUBmECq1zt4n2m unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 82NdD9eEbXSjRJXeJdqf56xkpu6taTfTeEqtAtmtbyXY unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 6fFt4zdvtNyVcfJn7Y41mKLmMDizyK3nVeNW3qdDXzpc unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 5dzkzedBWdeqTFCaD7AkKPMPusfRUL1XyFNJWWGYQ9f1 unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 8KTEFQS78HwEz1NK627rNsYwENxNXJyvtyMAyfKPXZRB unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 2mk6dyG8vJCQHzRRNMiL1zgCSUqDzxjTpgyq86L4H43j unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer HEEzgSFqXevmjqMTAKLcG7ugAPoadARCLJxjP4Mn39uL unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 4364zZpziQqW4EfSPKE8E3vjNzkwYdagnhGZpQaJVepD unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer TENGx7WtzFsTXwnbrPEvb6odX2WnqYcnnrjiiLvp1mS unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 4tF8g32eRjNyXWhW3d4j2TfA7fXsNEPpE1ar1X3zCMB5 unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer 3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX unreachable: now considered as DOWN.
2017-07-11T21:42:50+02:00 - info: Peer M0_GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP unreachable: now considered as DOWN.
2017-07-11T21:42:57+02:00 - info: POST Peer 3AF7bhGQRt#34443
2017-07-11T21:42:59+02:00 - info: POST Peer TENGx7WtzF#34443
2017-07-11T21:43:00+02:00 - warn: ESOCKETTIMEDOUT
2017-07-11T21:43:00+02:00 - info: Peer 4tF8g32eRjNyXWhW3d4j2TfA7fXsNEPpE1ar1X3zCMB5 unreachable: now considered as DOWN.
2017-07-11T21:43:05+02:00 - info: Node HEEzgS (51.255.197.83:10902) is UP!
2017-07-11T21:43:05+02:00 - info: Node 8KTEFQ (167.114.232.189:8999) is UP!
2017-07-11T21:43:05+02:00 - info: Node Be1eVp (88.161.154.41:47925) is UP!
2017-07-11T21:43:05+02:00 - info: Node D9D2za (g1.elois.org:80) is UP!
2017-07-11T21:43:05+02:00 - info: Node 4fHMTF (duniter.help-web-low.fr:8999) is UP!
2017-07-11T21:43:05+02:00 - info: Node 2ny7YA (g1.cgeek.fr:80) is UP!
2017-07-11T21:43:05+02:00 - info: Node Do99s6 (g1.citiz-network.org:16262) is UP!
2017-07-11T21:43:05+02:00 - info: Node 2mk6dy (g1.monnaielibreoccitanie.org:443) is UP!
2017-07-11T21:43:05+02:00 - info: Node 4364zZ (duniter.silibre.com:80) is UP!
2017-07-11T21:43:05+02:00 - info: Node 6fFt4z (duniter.aquilenet.fr:10901) is UP!
2017-07-11T21:43:05+02:00 - info: Node GYEtpP (duniter.laurent-st-math.fr:80) is UP!
2017-07-11T21:43:05+02:00 - info: Node 5dzkze (duniter.vincentuc.fr:80) is UP!
2017-07-11T21:43:06+02:00 - info: Node t5RR5e (duniter.floth.fr:80) is UP!
2017-07-11T21:43:06+02:00 - info: Node 82NdD9 (78.251.5.57:61650) is UP!
```
I don not know if it could be interesting to implement such a feature.Horizonhttps://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/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/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/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/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/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/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/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/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/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.Horizonhttps://git.duniter.org/nodes/typescript/duniter/-/issues/949Error when setting local ipv62020-05-11T19:36:10+02:00Cédric MoreauError when setting local ipv6*Created by: M5oul*
@Insoleet:
```
(node) warning: possible EventEmitter memory leak detected. 11 end listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at Server.addListener (events.js:239:17)
at Serve...*Created by: M5oul*
@Insoleet:
```
(node) warning: possible EventEmitter memory leak detected. 11 end listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at Server.addListener (events.js:239:17)
at Server.Readable.on (_stream_readable.js:655:33)
at Server.once (events.js:265:8)
at Server.Readable.pipe (_stream_readable.js:478:9)
at /home/inso/code/ucoin/app/lib/streams/bma.js:106:8
at /home/inso/code/ucoin/app/lib/network.js:123:26
at Array.map (native)
at /home/inso/code/ucoin/app/lib/network.js:107:34
at next (native)
at onFulfilled (/home/inso/code/ucoin/node_modules/co/index.js:65:19)
2016-03-16T20:06:30+01:00 - info: uCoin server listening on http://192.168.0.22:20906
2016-03-16T20:06:30+01:00 - error: Error: listen EINVAL fe80::863a:4bff:fe5e:75fc:20906
at Object.exports._errnoException (util.js:837:11)
at exports._exceptionWithHostPort (util.js:860:20)
at Server._listen2 (net.js:1218:19)
at listen (net.js:1267:10)
at net.js:1376:9
at doNTCallback3 (node.js:440:9)
at process._tickCallback (node.js:346:17)
```
---
@c-geek:
The memory leak seems to be something else.
But the `Error: listen EINVAL fe80::863a:4bff:fe5e:75fc:20906` is really mysterious, because with `::1` IPv6 loopback interface it works.
---
@c-geek:
Consider the following:
```
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:65536 Metric:1
Packets reçus:117438 erreurs:0 :0 overruns:0 frame:0
TX packets:117438 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:59472768 (59.4 MB) Octets transmis:59472768 (59.4 MB)
wlan0 Link encap:Ethernet HWaddr 28:b2:bd:24:49:97
inet adr:192.168.1.30 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::2ab2:bdff:fe24:4997/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:104802 erreurs:0 :0 overruns:0 frame:0
TX packets:91077 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:103254219 (103.2 MB) Octets transmis:12942218 (12.9 MB)
```
And check the following tries:
| IPv4 | IPv6 | port | Works |
| --- | --- | --- | --- |
| 127.0.0.1 | ::1 | 9330 | Yes |
| 192.168.1.30 | ::1 | 9330 | Yes |
| 127.0.0.1 | fe80::2ab2:bdff:fe24:4997 | 9330 | No |
| 192.168.1.30 | fe80::2ab2:bdff:fe24:4997 | 9330 | No |
Is it because `wlan0` interface for IPv6 has a `Scope:Lien`? The `lo` has a `Scope:Hôte` on its side.
This [french thread](https://openclassrooms.com/forum/sujet/serveur-ipv6-bind-invalid-argument-einval) also suggests this might be the bug.
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/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/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/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/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.Horizon