 Ok, bonjour tout le monde, je suis vraiment heureux d'être ici aujourd'hui et de vous présenter une remix. La remix est un tool de Debugger, un tool de Debugger qui peut débugger le contractement smart. Je suis Yann, je travaille avec la team de CPP, ensemble avec Christian, Yann, Dimitri, Bob et Greg et Pavel. En fait, le nom est Remix. On a déjà ajouté Debugger l'année dernière, c'était Mix, et Mix a été complètement intégrée dans la suite de CPP Ethereum. Mais nous avons décidé, pour quelques raisons, de reboiter le projet de Scratch et de commencer la remix. La main raison de cela c'est que, quand la communauté s'adresse, c'est plus valable maintenant de proposer de nouveaux outils qui peuvent être intégrés dans une autre application que d'avoir une seule application fermée. Je préfère dire que vous pouvez utiliser un plugin pour intégrer l'application que vous voulez utiliser et de dire que vous devez utiliser Mix et que vous devez utiliser Mix parce que c'est la seule application. C'est mieux d'avoir quelque chose qui peut être intégré dans une autre application que d'avoir quelque chose qui est fermé. C'est pourquoi Remix est born. Nous avons commencé de développer Remix quelques mois plus tard. C'est juste un debugger vm. Vous pouvez voir un screenshot ici et ce screenshot a été réalisé par l'intégration de Etiascan. Nous avons des features basées sur un debugger vm. C'est bien. Nous travaillons maintenant pour avoir une intégration de ce debugger dans Solidity. Ces remixes ont été développées par Gerascript Technologies. Vous pouvez les utiliser par l'NPM. Vous pouvez poursuivre les remixes par l'NPM. Vous pouvez utiliser quelques modules de remixes avec nodes. La raison principale de tout ça c'est de donner d'autres outils qui peuvent être utilisés pour debugger les smart contracts. C'est l'intégration de Remix sur Solidity. Nous avons des features basées sur un ID comme ce que l'on appelle un debugger vm. Comme un vm. Comme un vm. Et comme plusieurs trackers et aussi des variables locales. Nous avons deux parts le vm. et le debugger de Solidity. Je pense que c'est la plus intéressante partie de ce debugger de Solidity. Je vais faire une petite demo pour vous présenter tous les trucs. Ok. Ok. Donc ici, j'ai une intégration de Remix dans Browser Solidity. Browser Solidity c'est un editor Solidity qui inclure un compiler donc vous pouvez juster les smart contracts et vous pouvez compiler les smart contracts. Et aussi il y a des features d'un ID d'un panneau de droite qui crée une transaction. Vous pouvez, dans le browser, faire des contracts et tester les contracts dans un environnement. Donc ce n'est pas Remix c'est seulement Browser Solidity. Donc dans lequel l'environnement déploie ce contract. Je peux choisir et j'ai deux possibilités. C'est d'utiliser le Javascript VM d'embaider. Donc de cette façon, je vais juste faire le contract dans le browser et tout sera dans le browser chaque transaction sera déployée dans le browser ou je peux utiliser un objectif web donc je peux juste connecter le browser d'une sorte d'extrême node. Et j'ai un node ici qui est ici. Vous pouvez voir ça sur le côté à gauche. J'ai utilisé le CPP Ethereum client qui est j'ai joué cette application dans le test mode. C'est à dire que je peux juste miner, miner et miner chaque 5 secondes ici. Et je peux juste déployer le contract, tester le resultant du scratch et tout. Donc ne caresz pas de ce que c'est sur le côté à droite. Ici, j'ai juste un node qui est constantement mining. Ok. Donc je peux juste déployer le contract. J'espère que ce transaction soit mine. Ok. J'ai des méthodes principales fonctionnes dans ce contract. Ne caressez pas beaucoup sur le code ici. Ce n'est pas le steps principaux que je veux vous montrer. Donc le premier est la fonction de l'appareil et le second est la fonction de la fonction de l'appareil. Donc c'est un contract de donation. Basiquement, je peux juste donner l'Ether à ce contract et puis l'auteur de ce contract de l'appareil. Donc je vais envoyer le 10 Ether ici. Ok. Je vais appeler la fonction de l'appareil. Ici. Je dois attendre un petit peu. Ok. Donc j'ai des détails sur le transaction ici, mais oui. Je vais le changer pour maintenant. Et puis sur le côté à droite, je peux commencer à déployer le transaction. Ok. Vous pouvez le voir ? Oui, je vais juste... Ok. Donc maintenant, j'ai déployé le transaction. Donc j'ai envoyé le remix ici qui est des modules qui sont dans le 3D team. Et je peux commencer à déployer mon contract. Ici. Je ne peux pas aller forward et je peux aller backward. Et je peux voir ici la location dans le code source où il y a l'exécution. Ici. Donc j'ai deux features importants ici. Le premier est la location source comme vous pouvez le voir ici. Et le deuxième est ces 2 panneaux à la droite. Vous pouvez checker ici le state du contract. Donc vous pouvez voir que le variable underscore giver ici est allé de 0 à la droite du sender etc. Et vous pouvez aussi checker le local variable ici. Ok. Je vais maintenant juste déployer cette fonction ici. Je dois couper ce truc en passant. Ici. Je vais appeler la fonction de move point avec deux paramètres. Le premier est l'adresse où je vais envoyer l'Éterre. Et le deuxième est l'amount de l'Éterre. Donc ce n'est pas beaucoup maintenant. Il n'y a qu'une seule façon. Ok. Et je vais juste appeler mon téléphone. J'ai des détails sur les transactions. Ce n'est pas important. Et je peux commencer à débugger. Et puis je peux suivre l'exécution de la transaction ici. Maintenant je suis dans le modif de l'owner. Ici. Je peux checker la balance qui est le variable local ici. Maintenant je suis dans la fonction de send. Et si le send est suffisant, je vais juste déployer l'éterre. Oui, je suis désolé. Ce n'est pas trop réel, mais... Ok. Donc j'ai la location source à l'intérieur de la processurité, grâce à la remix. Et j'ai le state contract avec tous les variables qui sont décorées. J'ai les locales. Et je peux aussi... Oh, je suis désolé. Je peux aussi évidemment checker des valeurs comme le stack, les changements de chargée, les souvenirs, et les call data. Ok. Donc c'est pour le démon short ici. Qu'est-ce qu'il y a next ? Ok, donc c'est la remix de l'intégration à l'intérieur de Brother Solidity. Qu'est-ce qu'il y a next ? Je pense que on pourrait facilement imaginer que la remix pourrait être intégrée aujourd'hui. On a parlé de Truffle, d'Apple. On a parlé d'Ethiom Studio. On a parlé de Myst et Metamask et tout. Donc c'est... C'est facile d'intégrer la remix à l'intérieur de tous ces tools. Parce que tous ces tools, d'application, d'Apple, Truffle, sont faits pour des propos de développement. Donc je pense que c'est une bonne chose d'avoir les solutions à l'intérieur de ces tools. Et c'est vraiment facile d'utiliser. Il faut juste poursuivre le module NPM et il faut juste créer d'instaurer le objectif et de rendre la remix à l'intérieur de votre file HTML. C'est ici. La remix est disponible comme un module NPM. Mais plus de ça, nous avons aussi des outils de laur qui peuvent être utilisés par tout le monde pour créer de nouveaux outils et pour imaginer de nouveaux outils. Par exemple, ici, vous avez TraceManager qui est un outil que vous pouvez utiliser pour vérifier des valeurs dans la trace vm. Il y a un API pour faciliter les valeurs de la trace vm. Vous avez un code mapping qui permet de partager les valeurs de la trace vm. Vous avez un outil de laur qui est utilisé pour contrôler et pour travailler sur toutes les notes de la trace vm. Et évidemment, vous avez aussi un décoder. Vous pouvez utiliser ces outils pour éteindre vos outils, et aussi imaginer de nouveaux outils de la trace vm. Et je pense que ces outils sont vraiment importants pour provider des APIs et pas pour construire une application fermée. Qu'est-ce que nous avons déjà fait? Nous avons déjà travaillé sur l'intégration de la trace vm dans MetaMask, dans MIST. Si vous allez dans Etescan, utilisez la trace vm. Et comme je vous l'ai dit, vous pouvez aussi utiliser la trace vm. Donc, maintenant, c'est une opinion personnelle. Qu'est-ce que je veux garder dans la tête? Et qu'est-ce que nous avons besoin de garder dans la tête? C'est la première transaction de la trace vm. Ou d'autres outils. Qu'est-ce que nous avons utilisé pour la transaction de la trace vm qui est déjà commis dans le blockchain? Est-ce que c'est un blockchain privé ou un blockchain public? Et je pense que c'est une belle feature. Parce qu'exemple, si maintenant vous viens de me dire que la transaction de la trace vm est dans la chaine publique, je vais devoir vérifier toutes les outils. Je vais devoir vérifier la trace vm. Et ça sera très très long. Oui. Et donc, c'est pourquoi, je pense, c'est très beau de pouvoir faire des transactions qui sont dans la chaine publique. Donc, vous pouvez facilement remplir la remise dans une autre app. Et puis, comme je l'ai dit, cela donne un API low-level. Ok. Qu'est-ce qu'il y a? Nous devons commettre ce travail sur la trace vm. Nous devons finir l'app. manager. Nous devons faire un build-up scénario. Nous devons avoir un full integration dans l'Italian vm gsvm, et nous devons faire la miséintégration. Et évidemment, comme c'est un API, nous devons faire beaucoup de documentations, beaucoup de documentations. Et oui. Donc, nous devons finir. Je vais juste dire que vous pouvez vérifier ces liens. Vous pouvez utiliser la remise, s'il vous plaît. Vous pouvez intégrer la remise dans votre application. S'il vous plaît. Et vous pouvez aussi contribuer. Et je serai très apé si vous pouvez juste intégrer la remise dans votre application. Et si vous pouvez contribuer à improving la remise aussi. Parce que je pense que c'est très important de faire des choses ensemble. Donc, merci d'avoir écouté. Merci Yann.