On se rapproche de la sortie de Solidity 1.0 (sauf 0.10 après 0.9, bien sûr). Solidity 0.8 est sorti seulement 5 mois après la sortie de 0.7 ! La communauté Denglian traduit de manière synchrone la documentation de Solidity 0.8. Aujourd'hui, nous allons discuter de la façon de mettre à niveau la migration du contrat vers la version 0.8... Jetons un coup d'œil à deux Une grande nouvelle fonctionnalité : SafeMath intégré et nouvelle gestion des erreurs. C'est vrai, vous n'avez plus besoin d'importer Openzeppelin SafeMath. Mieux encore, vous n'avez rien à faire pour activer l'intégration SafeMath de Solidity. Écrivez simplement a+b, et la transaction sera annulée automatiquement lorsqu'elle débordera. Vous pouvez voir le message d'erreur suivant dans des outils tels que Remix, car 0.8 n'est pas encore entièrement pris en charge. Comme le débordement n'a pas donné la raison exacte. transact to Solidity08.test errored: VM error: revert. revert Mais cela devrait changer à l'avenir. Et si vous voulez vraiment que votre code déborde ? Toujours très préoccupé par les frais d'essence? Attaquants de Poly Network : Je souhaite donner à Poly Network des conseils sur la manière de protéger la sécurité de son réseau : Golden Finance a signalé que les attaquants de Poly Network avaient de nouveau publié leurs propres questions et réponses. L'attaquant a déclaré: "Le retour des jetons a toujours été prévu. Je ne suis pas très intéressé par l'argent. Je sais que les gens souffrent lorsqu'ils sont attaqués, mais ne devraient-ils pas apprendre quelque chose de ces attaques? J'ai annoncé avant minuit Alors les gens qui croient en moi devrait bien se reposer. Je veux donner à Poly Network des conseils sur la façon de sécuriser son réseau afin qu'il soit qualifié pour gérer ce projet d'un milliard de dollars à l'avenir. Poly Network est une conception. Un bon système, il gérera plus d'actifs. que "avant minuit" semblait exposer la zone géographique où se trouvait l'agresseur. [2021/8/12 1:49:25] Enveloppez ensuite l'instruction sous une forme non cochée pour désactiver SafeMath : contract Solidity08 { function test() external pure returns(uint256 ). ; uint256 x = 0; x--; retour x ; }}contract Solidity08 { fonction test() externe pur retour(uint256) { // Ne pas utiliser SafeMath, renvoyer type(uint256).max uint256  ; x = 0 return x;   ; }} 2. Les opcodes invalides sont remplacés par des reverts Jusqu'à présent, certaines opérations entraînaient l'exécution d'un opcode INVALIDE. Le problème avec cet opcode est qu'il consomme tout le gaz restant. C'est clairement mauvais et inutile. Pourquoi gaspiller du gaz et le donner aux mineurs ? Chef économiste de Wanxiang Blockchain : La banque centrale devrait réfléchir à la manière d'inciter Alipay à participer à la promotion du RMB numérique : Zou Chuanwei, chef économiste de Wanxiang Blockchain, estime que la monnaie numérique aura en effet un certain impact sur les paiements tiers. Dans le scénario de paiement de détail, il y aura une relation de substitution mutuelle entre le renminbi numérique et le paiement par un tiers. L'augmentation de la part du renminbi numérique signifie que les parts d'Alipay et de WeChat vont baisser. Dans ce lien, la banque centrale devrait réfléchir à la manière d'encourager des institutions telles qu'Alipay et WeChat à participer à la promotion du renminbi numérique. L'application du renminbi numérique dépend également de l'expansion de scénarios hors ligne tels qu'Alipay et WeChat, et de la pénétration de Codes QR. Zou Chuanwei a déclaré qu'une conception compatible avec les incitations peut être imaginée. Si Alipay et WeChat Pay aident à promouvoir l'application du renminbi numérique, ils peuvent gagner plus d'intérêts sur les réserves de paiement déposées à la banque centrale. (First Finance and Economics) [2020/11/19 21:18:01] Pour plus de détails, vérifiez la différence entre revenir et affirmer ici. Solidity utilise maintenant l'opcode revert. Afin de faire la distinction entre le retour régulier et l'erreur interne du système (panique), Solidity ajoute un identifiant avant les données renvoyées : les erreurs de retour régulières commencent par les quatre premiers octets de keccak256(Error(string)), qui est égal à 0x08c379a0. **Erreur interne système (panique)** commence par les quatre premiers octets de keccak256(panique(uint256)), qui est égal à 0x4e487b71. Directeur des marchés financiers d'OKEx : L'avenir des crypto-monnaies dépend de la façon dont la CBDC se développera à l'avenir : Le 24 mai, le directeur du marché financier d'OKEx, Lennix Lai, a déclaré que l'adaptation à la CBDC chinoise n'est pas si difficile, car l'utilisation des espèces a diminué, ce qui signifie Grâce à l'entrée de systèmes de paiement électronique tels que Alipay et WeChat Pay. Lai a noté que la notion de confidentialité financière en Chine a disparu depuis longtemps étant donné que la Chine utilise des paiements électroniques qui nécessitent KYC et d'autres processus de sécurité, mais cela pourrait devenir un problème lorsque les banques centrales d'autres pays émettront des CBDC. D'autre part, le fait qu'une CBDC chinoise soit directement sous le pouvoir de la banque centrale et ne fournisse aucune confidentialité financière peut inciter les gens à commencer à se tourner vers les crypto-monnaies. Par conséquent, le lancement d'une CBDC chinoise pourrait en effet promouvoir et sensibiliser aux cas d'utilisation et à l'importance des crypto-monnaies grand public. De plus, il a déclaré que l'avenir de Bitcoin, Ripple et d'autres crypto-monnaies dépend de la façon dont les CBDC se développeront à l'avenir. Si les gens réalisent le besoin de confidentialité financière, ils peuvent affluer vers Bitcoin, mais dans les pays où la confidentialité financière existe depuis longtemps, cette monnaie décentralisée peut être marginalisée. (AMBcrypto) [2020/5/24] Panic a un indicateur d'erreur supplémentaire. Les paniques actuellement disponibles sont : 0x01 : utiliser l'actif ; 0x11 : débordement de SafeMath. Rapport en direct de Jinse Finance 360 employés officiels ont montré comment attaquer les vulnérabilités d'EOS : rapport en direct de Jinse Finance, réunion de communication médiatique sur la vulnérabilité de la plate-forme blockchain EOS, 360 employés officiels ont montré comment attaquer sur place, l'image d'affichage de l'attaque est montrée dans l'image ci-dessous. [2018/5/29] 0x12 : diviser par 0. 0x21 : conversion en type d'énumération inexistant. 0x22 : Erreur d'encodage du tableau d'octets de stockage. 0x31 : pop() sur un tableau vide. 0x32 : exception de surlongueur d'index. 0x41 : allocation de trop de mémoire ou création d'un tableau trop volumineux. 0x51 : Appel à une variable de type fonction intrinsèque non initialisée. Voir la nouvelle section de gestion des erreurs dans la documentation pour plus de détails ici. Dans la plupart des cas, la migration devrait être assez simple. Ce n'est que dans certains cas qu'il peut devenir plus difficile pour vous d'effectuer des conversions de type étranges. Les modifications que vous devez apporter pour la migration incluent : ABIEncoderV2 est désormais automatiquement activé par défaut. À partir de la version 0.6, Encoder n'est plus expérimental, mais pour des raisons d'héritage, le nom pragma experimental est conservé. Maintenant, vous n'avez pas besoin d'ajouter cette ligne. Comment les Bitcoins sont volés : 5 menaces courantes : 1. Les voleurs obtiennent le mot de passe de votre compte dans un service de stockage ; 2. Vous exposez votre clé privée ; 3. Les pirates se font passer pour des destinataires de Bitcoin ; 5. Fraude à l'exportation. [2017/12/9] Supprimez tout Openzeppelin SafeMath, vous n'en avez plus besoin. Certaines conversions de type peuvent être nécessaires. msg.sender et tx.origin ne sont pas payables par défaut. Remplacez msg.sender.transfer par payable(msg.sender).transfer. Les conversions de type ne sont autorisées que si elles correspondent au type donné, donc uint256(-1) ne fonctionnera plus. Utilisez plutôt type(uint256).max. Les conversions de type sont limitées dans certains cas lorsque le signe est modifié plusieurs fois, car l'ordre des conversions de type peut avoir un effet sur le résultat. Vous verrez maintenant une erreur de type TypeError. La conversion de type explicite de int256 en bytes32 n'est pas autorisée, vous devez d'abord convertir manuellement en uint256. Modifiez la combinaison myContract.functionCall{gas : 10000}{value : 1 ether }() en : myContract.functionCall{gas : 10000, value : 1 ether }(). Remplacez x**y**z par (x**y)**z car l'ordre d'exécution par défaut a changé. Modifiez le type d'octet en byte1 . J'ai omis quelques détails, pour le journal complet des modifications et les détails de toutes les modifications, consultez la documentation ici
Tags:
Jinse Finance et BSN ont conjointement apporté une nouvelle colonne pour parler des différences et des scénarios applicables des chaînes d'alliance.
En 2020, le marché des dérivés de crypto-monnaie a inauguré une grande explosion comme le prédisent les médias. Le chiffre d'affaires annuel du marché de la crypto-monnaie a atteint 12 314 milliards de dollars.
Bitcoin (BTC) s'est négocié latéralement pendant la majeure partie du mois dernier en raison de l'effet de niveaux de gris.
On se rapproche de la sortie de Solidity 1.0 (sauf 0.10 après 0.9.
Le développement rapide de Polkadot en 2020 est considéré comme évident pour tous dans l'industrie de la blockchain. Nous voyons de plus en plus de projets de grande qualité émerger.
L'article est fourni par Biquan Beiming, le chroniqueur de Jinse Finance and Economics, et ses remarques ne représentent que ses opinions personnelles.
1. Mise à niveau EIP-1559 : la destruction annuelle de milliards d'ETH entraîne un marché haussier des prixUn rapport du fonds d'investissement en crypto-monnaie Grayscale a prédit jeudi que l'EIP-1559.