Avertissements Contrats ICO: définissez une heure actuelle ou une date future

ABonney

Avertissements Contrats ICO: définissez une heure actuelle ou une date future


Problème de temps dans le contrat Solidity ICO. Dois-je régler l’heure à l’avenir, le 17.05.2018.10.00? et ne pas utiliser «maintenant» comme je l’ai lu, cela ne fonctionnera pas. Avertissement ci-dessous. l’utilisation de « maintenant »: « maintenant » ne signifie pas l’heure actuelle. Est maintenant un alias pour block.timestamp.

Dois-je changer de gaz, combien pour un contrat ICO? Avertissement ci-dessous. Fonction de repli du nom du contrat Token nécessite trop de gaz (infini). Si la fonction de secours nécessite plus de 2 300 gaz, le contrat ne peut pas recevoir d’éther. Avertissement comment apporter des modifications pour que le contrat ICO fonctionne.

Besoin en gaz de la fonction nameToken.approveAndCall (adresse, uint256, octets) élevé: infini. Si le besoin en gaz d’une fonction est supérieur à la limite de bloc de gaz, elle ne peut pas être exécutée. Veuillez éviter les boucles dans vos fonctions ou actions qui modifient de grandes zones de stockage (cela inclut l’effacement ou la copie de tableaux dans le stockage)

Cela signifie-t-il que ma prise de jeton ne peut pas être identique au nom du contrat? pourquoi pas?! nameToken.balanceOf (adresse): les variables ont des noms et soldes très similaires. Remarque: les modificateurs ne sont actuellement pas pris en compte par cette analyse statique.

Attention, ok juste perdu avec celui-ci ,,,,,,,, Utilisez assert (x) si vous ne voulez jamais que x soit faux, en aucun cas (à part un bug dans votre code). Utilisez require (x) si x peut être faux, en raison par exemple d’une entrée invalide ou d’un composant externe défaillant.

ABonney

Bonjour, j’ai accepté cette réponse, alors demandez-moi de continuer. en cas de problème, essayez Stack Exchange. Meilleurs vœux

ÉTHER

acceptation notée, votera la question

Réponses


 Jaime

problème de temps dans le contrat Solidity ICO. Dois-je régler l’heure à l’avenir, le 17.05.2018.10.00? et ne pas utiliser «maintenant» comme je l’ai lu, cela ne fonctionnera pas. Avertissement ci-dessous. l’utilisation de « maintenant »: « maintenant » ne signifie pas l’heure actuelle. Est maintenant un alias pour block.timestamp.

Donnez-vous maintenant l’horodatage du dernier bloc, donc cela changera avec le temps.

Dois-je changer de gaz, combien pour un contrat ICO? Avertissement ci-dessous. Fonction de repli du nom du contrat Token nécessite trop de gaz (infini). Si la fonction de secours nécessite plus de 2 300 gaz, le contrat ne peut pas recevoir d’éther. Avertissement comment apporter des modifications pour que le contrat ICO fonctionne.

L’augmentation du gaz ne résoudra aucun potentiel si le code que vous avez dans le repli utilise plus de 2300, la transaction échouera. Vous pouvez également créer une autre fonction payable avec un argument et celle-ci prendra plus de 2300, résolvant votre problème.

Besoin en gaz de la fonction nameToken.approveAndCall (adresse, uint256, octets) élevé: infini. Si le besoin en gaz d’une fonction est supérieur à la limite de bloc de gaz, elle ne peut pas être exécutée. Veuillez éviter les boucles dans vos fonctions ou actions qui modifient de grandes zones de stockage (cela inclut l’effacement ou la copie de tableaux dans le stockage)

impossible à savoir sans jeter un œil à votre code, mais la plupart de ces avertissements sont dus à l’utilisation de chaînes ou de tableaux dynamiques. Cela ne signifie pas que cela ne fonctionnera pas mais est nécessaire pour être sûr que cela ne créera pas de problèmes potentiels.

Cela signifie-t-il que ma prise de jeton ne peut pas être identique au nom du contrat? pourquoi pas?! nameToken.balanceOf (adresse): les variables ont des noms et soldes très similaires. Remarque: les modificateurs ne sont actuellement pas pris en compte par cette analyse statique.

Cela signifie simplement ce qu’elle dit, les variables ont des noms similaires et vous pouvez être confus et faire des erreurs.

Attention, ok juste perdu avec celui-ci ,,,,,,,, Utilisez assert (x) si vous ne voulez jamais que x soit faux, en aucun cas (à part un bug dans votre code). Utilisez require (x) si x peut être faux, en raison par exemple d’une entrée invalide ou d’un composant externe défaillant. plus

Donc, vous utilisez probablement require() cet avertissement n’est qu’un rappel qui require() et assert() sont utilisés pour différentes choses. Le compilateur n’est pas assez intelligent pour vous dire quand l’un ou l’autre peut être utilisé, il vous avertit simplement de l’utilisation correcte.

Prashant Prabhakar Singh

Je suppose que Anne est le nom de OP. : p

ABonney

merci je vais l’essayer, Anne Bonny était une pirate dans les années 1700


 Prashant Prabhakar Singh

Dois-je régler l’heure à l’avenir, le 17.05.2018.10.00? et ne pas utiliser «maintenant» comme je l’ai lu, cela ne fonctionnera pas. Avertissement ci-dessous. l’utilisation de « maintenant »: « maintenant » ne signifie pas l’heure actuelle. Est maintenant un alias pour block.timestamp.

now ou block.timestamp est fiable ou non dépend du délai dont vous parlez. now ne signifie pas l’heure d’envoi du tx mais le bloc de temps ajouté à la blockchain (d’où le nom de block.timestamp). Donc, si vous fournissez suffisamment de gaz et de prix du gaz, la transaction est extraite et ajoutée au blocage dans les 2 minutes (il s’agit d’une approximation). La différence de temps que vous pouvez subir est donc de 2 minutes selon le moment où votre transaction est ajoutée à la blockchain.

Dans le cas des ICO, 5 à 10 minutes importent peu, vous pouvez donc vous fier à l’horodatage. Ou vous pouvez utiliser directement le temps d’époque si vous voulez être plus précis. Je préfère le dernier.

Dois-je changer de gaz, combien pour un contrat ICO? Avertissement ci-dessous. Fonction de repli du nom du contrat Token nécessite trop de gaz (infini). Si la fonction de secours nécessite plus de 2 300 gaz, le contrat ne peut pas recevoir d’éther. Avertissement comment apporter des modifications pour que le contrat ICO fonctionne.

En règle générale, il n’est pas recommandé de conserver la logique complexe dans la fonction de secours car la condition par défaut dans 23000 gaz n’est pas suffisante pour exécuter des logiques complexes. Mais encore une fois, ce n’est pas un problème si vous spécifiez le gaz manuellement. Le plus portefeuille comme MEW, Metamaks le fait pour vous.

Besoin en gaz de la fonction nameToken.approveAndCall (adresse, uint256, octets) élevé: infini. Si le besoin en gaz d’une fonction est supérieur à la limite de bloc de gaz, elle ne peut pas être exécutée. Veuillez éviter les boucles dans vos fonctions ou actions qui modifient de grandes zones de stockage (cela inclut l’effacement ou la copie de tableaux dans le stockage)

Je suppose que vous compilez le code sur le compilateur de remix. Cela se produit avec le remix, quand il n’est pas en mesure d’estimer le gaz, il lance de tels avertissements. Mieux vaut déployer votre contrat sur test-net ou net privé. Si cela fonctionne parfaitement là-bas, il est très probable qu’il fonctionne également sur le réseau principal.

Le reste, ce ne sont que des avertissements et peuvent être négligés.

 

#(une, #ou, actuelle, Avertissements, contrats, date, Définissez, Future, heure, ICO?

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *