duniter issueshttps://git.duniter.org/nodes/typescript/duniter/-/issues2020-10-04T18:26:32+02:00https://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/1302Migrating from wotb (C++) to wotb-rs (Rust)2020-10-04T19:15:58+02:00ÉloïsMigrating from wotb (C++) to wotb-rs (Rust)ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1300Leave membership is stucking Ğ1 blockchain2018-03-31T15:24:25+02:00Cédric MoreauLeave membership is stucking Ğ1 blockchainA leave membership has been sent on Ğ1 and no valid block is being issued anymore, stucking the whole blockchain.A leave membership has been sent on Ğ1 and no valid block is being issued anymore, stucking the whole blockchain.1.6.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1278Memory leak on WS2P2018-03-03T19:00:57+01:00Cédric MoreauMemory leak on WS2Phttps://forum.duniter.org/t/testeurs-g1-test-nouvelle-pre-release-1-6-17-a-tester/4074/165?u=cgeekhttps://forum.duniter.org/t/testeurs-g1-test-nouvelle-pre-release-1-6-17-a-tester/4074/165?u=cgeek1.6.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1277blockGenerator - Transactions are added to the block whether they are valid o...2018-03-03T19:00:57+01:00ÉloïsblockGenerator - Transactions are added to the block whether they are valid or not.1.6.0ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1275Canno't sync on g1-test (1.6.18)2018-03-03T19:00:57+01:00insoCanno't sync on g1-test (1.6.18)Here is the error log :
```
2018-02-08T18:02:22+01:00 - info: Downloaded 100%, Applied 80%
2018-02-08T18:02:24+01:00 - info: Downloaded 100%, Applied 81%
2018-02-08T18:02:25+01:00 - info: Downloaded 100%, Applied 82%
2018-02-08T18:02:2...Here is the error log :
```
2018-02-08T18:02:22+01:00 - info: Downloaded 100%, Applied 80%
2018-02-08T18:02:24+01:00 - info: Downloaded 100%, Applied 81%
2018-02-08T18:02:25+01:00 - info: Downloaded 100%, Applied 82%
2018-02-08T18:02:27+01:00 - info: Downloaded 100%, Applied 83%
2018-02-08T18:02:29+01:00 - trace: aeris was affected wotb_id 48
2018-02-08T18:02:30+01:00 - info: Downloaded 100%, Applied 84%
2018-02-08T18:02:32+01:00 - info: Downloaded 100%, Applied 85%
2018-02-08T18:02:33+01:00 - info: Downloaded 100%, Applied 86%
2018-02-08T18:02:34+01:00 - info: Downloaded 100%, Applied 87%
2018-02-08T18:02:36+01:00 - info: Downloaded 100%, Applied 88%
2018-02-08T18:02:37+01:00 - info: Downloaded 100%, Applied 89%
2018-02-08T18:02:38+01:00 - info: Downloaded 100%, Applied 90%
2018-02-08T18:02:39+01:00 - info: Downloaded 100%, Applied 91%
2018-02-08T18:02:41+01:00 - info: Downloaded 100%, Applied 92%
2018-02-08T18:02:42+01:00 - info: Downloaded 100%, Applied 93%
2018-02-08T18:02:44+01:00 - info: Downloaded 100%, Applied 94%
2018-02-08T18:02:46+01:00 - trace: ofaurax was affected wotb_id 49
2018-02-08T18:02:46+01:00 - info: Downloaded 100%, Applied 95%
2018-02-08T18:02:47+01:00 - trace: Andjety was affected wotb_id 50
2018-02-08T18:02:48+01:00 - info: Downloaded 100%, Applied 96%
2018-02-08T18:02:48+01:00 - trace: JeremiePalas was affected wotb_id 51
2018-02-08T18:02:49+01:00 - trace: Motokiyo was affected wotb_id 52
2018-02-08T18:02:50+01:00 - info: Downloaded 100%, Applied 97%
2018-02-08T18:02:51+01:00 - info: Downloaded 100%, Applied 98%
2018-02-08T18:02:53+01:00 - info: Downloaded 100%, Applied 99%
2018-02-08T18:02:53+01:00 - trace: Laeti was affected wotb_id 53
2018-02-08T18:02:54+01:00 - trace: yyy was affected wotb_id 54
2018-02-08T18:02:55+01:00 - info: Block #133741 added to the blockchain in 209 ms
2018-02-08T18:02:55+01:00 - info: Block #133742 added to the blockchain in 56 ms
2018-02-08T18:02:55+01:00 - info: Block #133743 added to the blockchain in 44 ms
2018-02-08T18:02:55+01:00 - info: Block #133744 added to the blockchain in 40 ms
2018-02-08T18:02:55+01:00 - info: Block #133745 added to the blockchain in 45 ms
2018-02-08T18:02:55+01:00 - info: Block #133746 added to the blockchain in 45 ms
2018-02-08T18:02:55+01:00 - info: Block #133747 added to the blockchain in 48 ms
2018-02-08T18:02:55+01:00 - info: Block #133748 added to the blockchain in 46 ms
2018-02-08T18:02:55+01:00 - info: Block #133749 added to the blockchain in 37 ms
2018-02-08T18:02:55+01:00 - info: Block #133750 added to the blockchain in 40 ms
2018-02-08T18:02:55+01:00 - info: Block #133751 added to the blockchain in 35 ms
2018-02-08T18:02:55+01:00 - info: Block #133752 added to the blockchain in 53 ms
2018-02-08T18:02:56+01:00 - info: Block #133753 added to the blockchain in 62 ms
2018-02-08T18:02:56+01:00 - info: Block #133754 added to the blockchain in 52 ms
2018-02-08T18:02:56+01:00 - info: Block #133755 added to the blockchain in 49 ms
2018-02-08T18:02:56+01:00 - info: Block #133756 added to the blockchain in 47 ms
2018-02-08T18:02:56+01:00 - info: Block #133757 added to the blockchain in 40 ms
2018-02-08T18:02:56+01:00 - info: Block #133758 added to the blockchain in 40 ms
2018-02-08T18:02:56+01:00 - info: Block #133759 added to the blockchain in 35 ms
2018-02-08T18:02:56+01:00 - info: Block #133760 added to the blockchain in 55 ms
2018-02-08T18:02:56+01:00 - info: Block #133761 added to the blockchain in 41 ms
2018-02-08T18:02:56+01:00 - info: Block #133762 added to the blockchain in 42 ms
2018-02-08T18:02:56+01:00 - info: Block #133763 added to the blockchain in 41 ms
2018-02-08T18:02:56+01:00 - info: Block #133764 added to the blockchain in 55 ms
2018-02-08T18:02:56+01:00 - info: Block #133765 added to the blockchain in 40 ms
2018-02-08T18:02:56+01:00 - info: Block #133766 added to the blockchain in 45 ms
2018-02-08T18:02:56+01:00 - info: Block #133767 added to the blockchain in 42 ms
2018-02-08T18:02:56+01:00 - info: Block #133768 added to the blockchain in 42 ms
2018-02-08T18:02:57+01:00 - info: Block #133769 added to the blockchain in 42 ms
2018-02-08T18:02:57+01:00 - info: Block #133770 added to the blockchain in 44 ms
2018-02-08T18:02:57+01:00 - info: Block #133771 added to the blockchain in 62 ms
2018-02-08T18:02:57+01:00 - info: Block #133772 added to the blockchain in 62 ms
2018-02-08T18:02:57+01:00 - info: Block #133773 added to the blockchain in 56 ms
2018-02-08T18:02:57+01:00 - info: Block #133774 added to the blockchain in 50 ms
2018-02-08T18:02:57+01:00 - info: Block #133775 added to the blockchain in 43 ms
2018-02-08T18:02:57+01:00 - info: Block #133776 added to the blockchain in 39 ms
2018-02-08T18:02:57+01:00 - info: Block #133777 added to the blockchain in 35 ms
2018-02-08T18:02:57+01:00 - info: Block #133778 added to the blockchain in 51 ms
2018-02-08T18:02:57+01:00 - info: Block #133779 added to the blockchain in 45 ms
2018-02-08T18:02:57+01:00 - info: Block #133780 added to the blockchain in 55 ms
2018-02-08T18:02:57+01:00 - info: Block #133781 added to the blockchain in 50 ms
2018-02-08T18:02:57+01:00 - info: Block #133782 added to the blockchain in 60 ms
2018-02-08T18:02:57+01:00 - info: Block #133783 added to the blockchain in 44 ms
2018-02-08T18:02:57+01:00 - info: Block #133784 added to the blockchain in 42 ms
2018-02-08T18:02:58+01:00 - info: Block #133785 added to the blockchain in 56 ms
2018-02-08T18:02:58+01:00 - info: Block #133786 added to the blockchain in 64 ms
2018-02-08T18:02:58+01:00 - info: Block #133787 added to the blockchain in 94 ms
2018-02-08T18:02:58+01:00 - info: Block #133788 added to the blockchain in 79 ms
2018-02-08T18:02:58+01:00 - info: Block #133789 added to the blockchain in 30 ms
2018-02-08T18:02:58+01:00 - info: Block #133790 added to the blockchain in 37 ms
2018-02-08T18:02:58+01:00 - info: Block #133791 added to the blockchain in 34 ms
2018-02-08T18:02:58+01:00 - info: Block #133792 added to the blockchain in 35 ms
2018-02-08T18:02:58+01:00 - info: Block #133793 added to the blockchain in 47 ms
2018-02-08T18:02:58+01:00 - info: Block #133794 added to the blockchain in 41 ms
2018-02-08T18:02:58+01:00 - info: Block #133795 added to the blockchain in 43 ms
2018-02-08T18:02:59+01:00 - info: Block #133796 added to the blockchain in 48 ms
2018-02-08T18:02:59+01:00 - info: Block #133797 added to the blockchain in 39 ms
2018-02-08T18:02:59+01:00 - info: Block #133798 added to the blockchain in 51 ms
2018-02-08T18:02:59+01:00 - info: Block #133799 added to the blockchain in 40 ms
2018-02-08T18:02:59+01:00 - info: Block #133800 added to the blockchain in 76 ms
2018-02-08T18:02:59+01:00 - info: Block #133801 added to the blockchain in 50 ms
2018-02-08T18:02:59+01:00 - info: Block #133802 added to the blockchain in 52 ms
2018-02-08T18:03:00+01:00 - info: Block #133803 added to the blockchain in 710 ms
2018-02-08T18:03:00+01:00 - info: Block #133804 added to the blockchain in 99 ms
2018-02-08T18:03:00+01:00 - info: Block #133805 added to the blockchain in 40 ms
2018-02-08T18:03:00+01:00 - info: Block #133806 added to the blockchain in 36 ms
2018-02-08T18:03:00+01:00 - info: Block #133807 added to the blockchain in 114 ms
2018-02-08T18:03:00+01:00 - info: Block #133808 added to the blockchain in 113 ms
2018-02-08T18:03:00+01:00 - info: Block #133809 added to the blockchain in 55 ms
2018-02-08T18:03:00+01:00 - info: Block #133810 added to the blockchain in 40 ms
2018-02-08T18:03:00+01:00 - info: Block #133811 added to the blockchain in 44 ms
2018-02-08T18:03:00+01:00 - info: Block #133812 added to the blockchain in 37 ms
2018-02-08T18:03:01+01:00 - info: Block #133813 added to the blockchain in 69 ms
2018-02-08T18:03:01+01:00 - info: Block #133814 added to the blockchain in 70 ms
2018-02-08T18:03:01+01:00 - info: Block #133815 added to the blockchain in 75 ms
2018-02-08T18:03:01+01:00 - info: Block #133816 added to the blockchain in 68 ms
2018-02-08T18:03:01+01:00 - info: Block #133817 added to the blockchain in 56 ms
2018-02-08T18:03:01+01:00 - info: Block #133818 added to the blockchain in 39 ms
2018-02-08T18:03:01+01:00 - info: Block #133819 added to the blockchain in 68 ms
2018-02-08T18:03:01+01:00 - info: Block #133820 added to the blockchain in 86 ms
2018-02-08T18:03:01+01:00 - info: Block #133821 added to the blockchain in 68 ms
2018-02-08T18:03:01+01:00 - info: Block #133822 added to the blockchain in 53 ms
2018-02-08T18:03:01+01:00 - info: Block #133823 added to the blockchain in 40 ms
2018-02-08T18:03:01+01:00 - info: Block #133824 added to the blockchain in 53 ms
2018-02-08T18:03:01+01:00 - info: Block #133825 added to the blockchain in 70 ms
2018-02-08T18:03:02+01:00 - info: Block #133826 added to the blockchain in 39 ms
2018-02-08T18:03:02+01:00 - info: Block #133827 added to the blockchain in 53 ms
2018-02-08T18:03:02+01:00 - info: Block #133828 added to the blockchain in 66 ms
2018-02-08T18:03:02+01:00 - info: Block #133829 added to the blockchain in 35 ms
2018-02-08T18:03:02+01:00 - info: Block #133830 added to the blockchain in 84 ms
2018-02-08T18:03:02+01:00 - info: Block #133831 added to the blockchain in 57 ms
2018-02-08T18:03:02+01:00 - info: Block #133832 added to the blockchain in 70 ms
2018-02-08T18:03:02+01:00 - info: Block #133833 added to the blockchain in 43 ms
2018-02-08T18:03:02+01:00 - info: Block #133834 added to the blockchain in 62 ms
2018-02-08T18:03:02+01:00 - info: Block #133835 added to the blockchain in 60 ms
2018-02-08T18:03:02+01:00 - info: Block #133836 added to the blockchain in 61 ms
2018-02-08T18:03:02+01:00 - info: Block #133837 added to the blockchain in 83 ms
2018-02-08T18:03:02+01:00 - info: Block #133838 added to the blockchain in 61 ms
2018-02-08T18:03:03+01:00 - info: Block #133839 added to the blockchain in 72 ms
2018-02-08T18:03:03+01:00 - info: ruleToBeKickedArePresent
2018-02-08T18:03:03+01:00 - debug: Trying to close SQLite...
2018-02-08T18:03:03+01:00 - error: Error: ruleToBeKickedArePresent
at Function.checkBlock (/opt/gtest/duniter/app/lib/blockchain/DuniterBlockchain.js:158:19)
at <anonymous>
```
[duniter_rule_to_be_kicked.db.tar.gz](/uploads/067ba426a2e23103adc83a5a0ddb072e/duniter_rule_to_be_kicked.db.tar.gz)1.6.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1244Change BR_G50 "Block size"2020-10-04T18:43:43+02:00Cédric MoreauChange BR_G50 "Block size"Currently the block size is dynamic, i.e. it can grow if the last blocks are full. But this rule is dangereous right now, because the size limit growth is exponential: https://git.duniter.org/nodes/typescript/duniter/blob/master/doc/Prot...Currently the block size is dynamic, i.e. it can grow if the last blocks are full. But this rule is dangereous right now, because the size limit growth is exponential: https://git.duniter.org/nodes/typescript/duniter/blob/master/doc/Protocol.md#br_g50-block-size
Let's make it logarithmic instead.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1242Avoid transaction spam2018-01-18T17:52:21+01:00Cédric MoreauAvoid transaction spamToday there is absolutely no constraint about how many transactions from a single user can be included in a single block. I think this is a particularly big security flaw.
We should at least put a limit on the number of chained transact...Today there is absolutely no constraint about how many transactions from a single user can be included in a single block. I think this is a particularly big security flaw.
We should at least put a limit on the number of chained transactions that can be included in a single block. With such a measure, at least attackers would have their attack limited by block computation.
Note: this fix should trigger itself on a particular day, planned few time after when we expect the 1.6 to be released.
A good improvement would also include larger fixes already described in this thread: https://forum.duniter.org/t/sans-frais-de-transaction-comment-resister-aux-attaques/38461.6.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1239Change the proof of work algorithm2018-12-07T14:22:42+01:00Cédric MoreauChange the proof of work algorithmAs discussed here: https://mastodon.xyz/web/statuses/99174770035035196
It seems that the current PoW chain (`SHA256(Ed25519_sign(SHA256("InnerHash:...Nonce: <nonce>")))`) is still ASIC compliant, in that an ASIC could still handle this ...As discussed here: https://mastodon.xyz/web/statuses/99174770035035196
It seems that the current PoW chain (`SHA256(Ed25519_sign(SHA256("InnerHash:...Nonce: <nonce>")))`) is still ASIC compliant, in that an ASIC could still handle this computation.
@aeris suggests to either use ARGON2 or scrypt currently, because these functions introduce a tradeoff between CPU and memory.
I'm not an expert, so I can just believe this assertion right now.
Anyway, as long as the number of ASIC powered member nodes is low compared to the number of non-ASIC powered member nodes, it won't be a big problem. But it would still be annoying, even more later if Ğ1 growth.2.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1220ws2p private : apply the quota to the number of keys rather than the number o...2018-01-10T22:18:38+01:00Éloïsws2p private : apply the quota to the number of keys rather than the number of connectionsFor better network connectivity, ws2p v1.1 allows to connect to multiple nodes of the same key as long as their uuid is different.
However, in order to prevent a member from lying massively to the network by introducing hundreds of nodes...For better network connectivity, ws2p v1.1 allows to connect to multiple nodes of the same key as long as their uuid is different.
However, in order to prevent a member from lying massively to the network by introducing hundreds of nodes with its key that would fill the quotas of the other nodes, the quota must be calculated by key and not by connection.1.6.0ÉloïsÉloïshttps://git.duniter.org/nodes/typescript/duniter/-/issues/1212duniter-ui: do not return the private key in /webmin/summary2017-11-30T00:39:46+01:00Cédric Moreauduniter-ui: do not return the private key in /webmin/summaryIn the WebUI API, the `/webmin/summary` URL returns the `seckey` field, in which the secret key is revealed. This is stupid as this field is not used at all in the UI.
There is not real problem as long as the WebUI is not publicly exp...In the WebUI API, the `/webmin/summary` URL returns the `seckey` field, in which the secret key is revealed. This is stupid as this field is not used at all in the UI.
There is not real problem as long as the WebUI is not publicly exposed, but this is a possible security flaw for users who expose by mistake their WebUI to the Internet. Also, some people use YunoHost and it is possible that their password is weak. So Duniter has to protect himself: we should remove the secret key from this URL.1.6.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/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/1147WS2P ban mechanism is too much triggered2018-01-27T07:27:42+01:00Cédric MoreauWS2P ban mechanism is too much triggeredIt seems there is a bug somewhere which makes nodes sending at least 2 times in a row the same document to connected WS2P nodes, which triggers the ban to counter spamming.
This leads to network isolation: a big peer like the followin...It seems there is a bug somewhere which makes nodes sending at least 2 times in a row the same document to connected WS2P nodes, which triggers the ban to counter spamming.
This leads to network isolation: a big peer like the following sees its INCOMING connection being all closed, remaining with only a few of OUTCOMING connections:
![image](https://user-images.githubusercontent.com/969136/31353838-557bc8d2-ad34-11e7-900c-ef417bd55988.png)
1.6.0Cédric MoreauCédric Moreauhttps://git.duniter.org/nodes/typescript/duniter/-/issues/1142Avoid HEAD memory cache infinite growth2018-01-27T07:27:42+01:00Cédric MoreauAvoid HEAD memory cache infinite growthIn WS2PCluster.ts, the `headsCache` member is subject to infinite growth currently, because it takes any pubkey's HEAD update. So if an attacker wanted to, it could propagate many fake HEADs that would be accepted by the nodes and inflat...In WS2PCluster.ts, the `headsCache` member is subject to infinite growth currently, because it takes any pubkey's HEAD update. So if an attacker wanted to, it could propagate many fake HEADs that would be accepted by the nodes and inflate the `headsCache` continuously.
We need a mechanism to limite the number of HEADs per member, and also limit it for non-members.1.6.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1114Peers with no endpoint2018-01-27T07:27:42+01:00Cédric MoreauPeers with no endpointDuniter should accept peer documents with no endpoints **only if** it already exists an older document in the DB with endpoints in it.
Otherwise, the document must be rejected.Duniter should accept peer documents with no endpoints **only if** it already exists an older document in the DB with endpoints in it.
Otherwise, the document must be rejected.1.6.0https://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/1037Migrate to TypeScript2018-01-27T07:27:42+01:00Cédric MoreauMigrate to TypeScriptFor security reasons, static typing would be a strong help.
Also, we could use async/await with Node.js 6 as TypeScript transpiled to es6 code supports async/await mechanisms.For security reasons, static typing would be a strong help.
Also, we could use async/await with Node.js 6 as TypeScript transpiled to es6 code supports async/await mechanisms.1.4.0https://git.duniter.org/nodes/typescript/duniter/-/issues/1034Update Nodejs version as there is a security flaw2018-01-27T07:27:42+01:00Cédric MoreauUpdate Nodejs version as there is a security flaw*Created by: M5oul*
https://nodejs.org/en/blog/vulnerability/july-2017-security-releases/
Update Nodejs to version 6.11.1.*Created by: M5oul*
https://nodejs.org/en/blog/vulnerability/july-2017-security-releases/
Update Nodejs to version 6.11.1.1.4.0https://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).Horizon