Skip to content

Releases: GraphLinq/GraphLinq-Chain

v1.11.8 — Sécurité : méthodes de contrôle RPC (miner/clique/debug) restreintes à l'IPC local

Choose a tag to compare

@jguyet jguyet released this 16 Jul 22:07

Correctif de sécurité — cause racine du fork du 15/07

La résolution du fork du 2026-07-15 a été causée par une méthode RPC de contrôle exposée publiquement. Le RPC geth était accessible sur Internet avec le namespace miner actif, et miner_setEtherbase était appelable par n'importe quel pair distant. Un attaquant a changé l'etherbase d'un validateur vers sa propre adresse → ce validateur a scellé un bloc créditant les frais à une adresse hors-bloc → state root non-reproductible (bloc 7170205, corrigé en v1.11.7).

Ce qui change

Les méthodes mutantes de contrôle ne fonctionnent désormais que via l'IPC local (la console du node-manager) et sont refusées sur HTTP/WS public (via rpc.PeerInfoFromContext). Les namespaces restent enregistrés — les outils de lecture continuent de marcher ; seuls les setters abusables sont restreints par transport :

  • miner : Start, Stop, SetEtherbase, SetGasPrice, SetGasLimit, SetExtra, SetRecommitInterval
  • clique : Propose, Discard (contrôlent le set de signataires autorisés)
  • debug : SetHead (rembobine/desync la chaîne), ChaindbCompact (I/O lourd)

Validé

  • miner_setEtherbase / clique_propose / debug_setHead via HTTPrefusés
  • miner_setEtherbase via IPCfonctionne

Déploiement

Mettre à jour le binaire node (release v1.11.8 / commit 6521f9f4c) et redémarrer. Recommandé également : firewaller le RPC (chaîne DOCKER-USER) pour ne l'ouvrir qu'aux IP de confiance.

v1.11.7 — Fix bloc 7170205 (fork du 15/07) + garde-fou fee→signataire

Choose a tag to compare

@jguyet jguyet released this 16 Jul 18:57

Correctif consensus — requis pour synchroniser au-delà du bloc 7170205

La résolution du fork du 2026-07-15 a produit un bloc (7170205) que le build précédent ne pouvait pas re-exécuter de façon déterministe : tout nœud en synchronisation depuis le genesis se bloquait à 7170204 avec invalid merkle root. Cette release est obligatoire pour toute resynchronisation complète (validateurs, exchanges, intégrateurs).

Ce qui change

1. Réconciliation du bloc 7170205 (81028b72)
Le bloc avait été scellé avec le fee de la transaction crédité à un compte frais (créé par l'etherbase du producteur), dont l'adresse est perdue, alors que la ré-exécution crédite le signataire recouvré. Le state root calculé différait donc du root committé 0x96004a05…. Le correctif déplace le tip vers le bon compte (par son hash de trie), uniquement pour ce bloc et sur le chain id 614 — il ne peut affecter aucun autre bloc ni aucune autre chaîne.

2. Garde-fou (cause racine) (de5a7f9d)
Les frais de transaction sont désormais crédités au signataire Clique et non à un etherbase configuré séparément. Un producteur dont l'etherbase ≠ signataire ne peut plus créer de bloc non-reproductible.

Déploiement

  • Validateurs : rolling restart sur ce binaire. Pas de reorg, pas de rollback — l'historique est intact.
  • Exchanges / intégrateurs (dont MEXC) : mettre à jour le binaire, puis resynchroniser avec --snapshot=false. La synchro depuis zéro passe alors sans blocage.

Validé : un nœud parti du bloc 0 est allé jusqu'au head réseau sans aucun bad block.

v1.11.6 New rpcs ERC20

Choose a tag to compare

@jguyet jguyet released this 23 Feb 06:05

Add rpc functions

// eth_getERC20Balance returns the amount of ERC20 tokens for the given address in the state of the chain.
// eth_getAllERC20Balances returns the amount of ERC20 tokens for the given address in the state of the chain.
// eth_getERC20Informations returns the name, symbol, total supply and decimals of the ERC20 token at the given address.
// eth_getContractType returns the type of the contract at the given address.

v1.11.5

Choose a tag to compare

@jguyet jguyet released this 22 Jan 01:53
9284c35

Permit wrap and unwrap WGLQ from Bridge ERC20 WGLQ contract address 0xEB567ec41738c2bAb2599A1070FC5B727721b3B6

GraphLinq Genesis --graphlinq

Choose a tag to compare

@jguyet jguyet released this 25 Feb 18:32

Integration of genesis block --graphlinq

GenesisQ

Choose a tag to compare

@jguyet jguyet released this 09 Feb 23:10

GraphLinq - GenesisQ - Release

GraphLinq - PoASRC

Choose a tag to compare

@jguyet jguyet released this 09 Feb 07:22

Proof of Authority Signer Reward Consensus - Graphlinq stable release.

Graphlinq

Choose a tag to compare

@jguyet jguyet released this 08 Feb 18:36

Proof of Authority - Graphlinq release.