From 1df4c96a303ad4b2f8d633957f57ac004378e37b Mon Sep 17 00:00:00 2001 From: jsboige Date: Thu, 17 Sep 2026 20:13:09 +0200 Subject: [PATCH] docs(13410): verify the three headline figures in SC-25-Mainnet-Deploy (density 1189 -> 1476) Markdown-only addition of one verification cell to MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb. The notebook's three interpretation cells each advance a number but never check it. The new cell recomposes them: - deploy cost: 300 000 gas x 0.0060 gwei = 1800 gwei = 1.8e-6 ETH (1 gwei = 1e-9 ETH), which is exactly the advertised ~0.0000018 ETH; at 2500 USD/ETH that is 0.0045 USD. Flagged: 300 000 is a consumption assumption, not a measurement -- the notebook never calls eth_estimateGas (the deploy key is absent), so the advertised cost scales with an unverified constant. - bytecode size: 1950 hex chars / 2 = 975 bytes, matching the prose; the only quantity that is measured and exact without hypothesis (straight out of solc 0.8.28). - the "~1000x cheaper than L1" factor: backed by nothing in the notebook, since no L1 RPC is queried -- documentation knowledge, not an experimental result. The only measured price is Base's 0.0060 gwei. Also named: the deploy cell ends in a refusal, "Deploiement non disponible (cle/connexion manquante)", so the notebook demonstrates a fail-closed guard rather than a deployment, and the six-step table describes a path that is not walked. No mainnet transaction is emitted by this execution. Proofs: 26/26 original cells deep-equal (order included), 8/8 code cells byte-identical, 18/18 original markdown cells preserved, 0 deleted lines (git diff -U0), outputs untouched, all pre-commit hooks Passed, density measured 1476 by scripts/notebook_tools/pedagogy_density.py before writing this message. Exercise stubs not read or modified. See #13410 Co-Authored-By: Claude Sonnet 5 --- .../06-Real-World/SC-25-Mainnet-Deploy.ipynb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb index ffc50df269..5736945c0a 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb @@ -363,6 +363,51 @@ "> **Note technique** : Le bytecode est déployé sur la blockchain. Son coût en gas dépend de sa taille (plus le contrat est complexe, plus il coûte cher à déployer).\n" ] }, + { + "cell_type": "markdown", + "id": "c131s25verif", + "metadata": {}, + "source": [ + "### Vérifier les trois grandeurs mises en avant\n", + "\n", + "Les trois cellules qui précèdent avancent chacune un chiffre. Deux se\n", + "recalculent exactement depuis les paramètres affichés ; le troisième non, et\n", + "la différence vaut la peine d'être nommée.\n", + "\n", + "**Le coût de déploiement se recompose.** `300 000` unités de gaz au prix mesuré\n", + "de `0.0060 gwei` donnent `300 000 x 0.0060 = 1 800 gwei`, soit `1.8e-6 ETH`\n", + "puisque `1 gwei = 1e-9 ETH` — exactement le `~0.0000018 ETH` annoncé. La\n", + "conversion en dollars suit le même taux : `1.8e-6 x 2500 = 0.0045`, soit moins\n", + "d'un demi-centime. L'arithmétique du tableau est donc cohérente de bout en\n", + "bout. Ce qu'il faut voir, c'est ce que `300 000` représente : une **hypothèse de\n", + "consommation**, pas une mesure. Le notebook ne peut pas l'obtenir, puisque la\n", + "clé est absente et que `eth_estimateGas` n'est jamais appelé ; le coût annoncé\n", + "dépend donc linéairement d'une constante non vérifiée ici.\n", + "\n", + "**La taille du bytecode se recompose aussi.** `1950` caractères hexadécimaux\n", + "valent `1950 / 2 = 975` octets, ce que la prose annonce correctement. C'est la\n", + "seule grandeur du notebook qui soit mesurée *et* exacte sans hypothèse : elle\n", + "sort directement de `solc 0.8.28`. C'est aussi celle qui pilote le coût, le\n", + "code déployé étant facturé à l'octet — la boucle entre les deux cellules est\n", + "donc réelle, pas décorative.\n", + "\n", + "**La comparaison avec Ethereum L1, elle, n'est pas mesurée.** Le facteur\n", + "« ~1000x moins cher » n'est adossé à aucune valeur produite ici : aucun RPC L1\n", + "n'est interrogé, donc ce rapport est une **connaissance de documentation** et\n", + "non un résultat de l'expérience. Le seul prix réellement mesuré est le\n", + "`0.0060 gwei` de Base ; c'est lui qu'il faut citer, et le rapport à L1 gagne à\n", + "être étiqueté comme référence externe — ou mesuré par un second appel RPC, ce\n", + "qui reste à faire.\n", + "\n", + "**Enfin, ce que la scène ne fait pas.** La cellule de déploiement se termine sur\n", + "un refus, `Deploiement non disponible (cle/connexion manquante)`, parce que\n", + "`DEPLOYER_PRIVATE_KEY` est vide. Le notebook enseigne donc un **garde-fou\n", + "fail-closed** plutôt qu'un déploiement : c'est le comportement correct à\n", + "montrer, mais il faut le dire explicitement — aucune transaction mainnet n'est\n", + "émise par cette exécution, et le tableau des six étapes décrit un chemin qui\n", + "n'est pas parcouru.\n" + ] + }, { "cell_type": "markdown", "id": "da8fa02b",