Besoin d'aide pour un programe de minage
Discussion fermée
Affichage des résultats 1 à 16 sur 16

Besoin d'aide pour un programe de minage



  1. #1
    extrazlove

    Besoin d'aide pour un programe de minage


    ------

    Bonjour à toutes et à tous ,

    Voici un code en Python pour effectuer le minage de crypto BTC, retrouvé sur le site ci-joint. J'ai légèrement modifié le code car il présentait un problème de division par zéro :




    https://128mots.com/2021/02/23/bitco...rithme-python/

    Ca marche super pour block 671712 de l'exemple :

    Code:
    import hashlibimport time
    import struct
    import binascii
    import datetime
    from binascii import unhexlify, hexlify
    from dateutil import parser
    from datetime import datetime
    from datetime import timedelta
    
    
    nontrouve = True
    dtprec = datetime.now()
    inonc = 1768459821 - 400  # Starting 400 before the good nonce
    resultat = []
    
    
    while nontrouve:
        inonc += 1
        if inonc % 50 == 0:
            time_difference = datetime.now() - dtprec
            if time_difference.total_seconds() != 0:
                print(
                    str(round(timedelta(seconds=1) / time_difference)) + " H/s"
                )
        dtprec = datetime.now()
        header_hex = (
            binascii.hexlify(struct.Struct("<L").pack(int("0x3fff0000", 16))).decode()
            + binascii.hexlify(
                binascii.unhexlify("000000000000000000062a949bc297739a12e639ba9e2107638b469afe11d0f8")[
                    ::-1
                ]
            ).decode()
            + binascii.hexlify(
                binascii.unhexlify("692e5f889b4d5c35925402ae46a6b00bf249d768715d1475f15e4a2325b8930e")[
                    ::-1
                ]
            ).decode()
            + binascii.hexlify(
                struct.Struct("<L").pack(
                    int(hex(int(parser.parse("2021-02-22 15:39:00 GMT +1").timestamp()) - 3600), 16)
                )
            ).decode()
            + binascii.hexlify(struct.Struct("<L").pack(int("0x170cf4e3", 16))).decode()
            + binascii.hexlify(struct.Struct("<L").pack(int(hex(inonc), 16))).decode()
        )
        header_bin = unhexlify(header_hex)
        dt1 = datetime.now().strftime("%H:%M:%S.%f")
        hash = hashlib.sha256(hashlib.sha256(header_bin).digest()).digest()
        hexlify(hash).decode("utf-8")
        hexlify(hash[::-1]).decode("utf-8")
        hash = hexlify(hash[::-1]).decode("utf-8")
        resultat.append([round(int(hash, 16) / 10 ** 65)])
    
    
        MAX_TARGET = int("00000000FFFF0000000000000000000000000000000000000000000000000000", 16)
        Difficulty = 21724134900047
        target = int(MAX_TARGET / Difficulty)
        target32 = "{:0>64x}".format(target)
        if int(hash, 16) < int(target32, 16):
            print("###########BLOC MINED###################")
            print("HEADER=" + header_hex)
            print("HASH=" + hash)
            print("NONCE=" + str(inonc))
            print("NONCE (hex)=" + hex(inonc))
            print("###########BLOC MINED###################")
            break
    Mais pour autres block ca ne marche par exemple pour le Bloc 790732:

    Code:
    import hashlibimport time
    import struct
    import binascii
    import datetime
    from binascii import unhexlify, hexlify
    from dateutil import parser
    from datetime import datetime
    from datetime import timedelta
    
    
    nontrouve = True
    dtprec = datetime.now()
    inonc = 4006631778 - 400  # Starting 400 before the good nonce
    resultat = []
    
    
    while nontrouve:
        inonc += 1
        if inonc % 50 == 0:
            time_difference = datetime.now() - dtprec
            if time_difference.total_seconds() != 0:
                print(
                    str(round(timedelta(seconds=1) / time_difference)) + " H/s"
                )
        dtprec = datetime.now()
        header_hex = (
            binascii.hexlify(struct.Struct("<L").pack(int("0x30e0c000", 16))).decode()
            + binascii.hexlify(
                binascii.unhexlify("00000000000000000003e7e3d5d006a6e8145e564f07e873f3dd857132066868")[
                    ::-1
                ]
            ).decode()
            + binascii.hexlify(
                binascii.unhexlify("6429ba685a97048c9a50196de127e668c1d32379a38f41cab2609882359cae23")[
                    ::-1
                ]
            ).decode()
            + binascii.hexlify(
                struct.Struct("<L").pack(
                    int(hex(int(parser.parse("2023-05-21 12:02:17 GMT +1").timestamp()) - 3600), 16)
                )
            ).decode()
            + binascii.hexlify(struct.Struct("<L").pack(int("0x1705ae3a", 16))).decode()
            + binascii.hexlify(struct.Struct("<L").pack(int(hex(inonc), 16))).decode()
        )
        header_bin = unhexlify(header_hex)
        dt1 = datetime.now().strftime("%H:%M:%S.%f")
        hash = hashlib.sha256(hashlib.sha256(header_bin).digest()).digest()
        hexlify(hash).decode("utf-8")
        hexlify(hash[::-1]).decode("utf-8")
        hash = hexlify(hash[::-1]).decode("utf-8")
        resultat.append([round(int(hash, 16) / 10 ** 65)])
    
    
        MAX_TARGET = int("00000000FFFF0000000000000000000000000000000000000000000000000000", 16)
        Difficulty = 49549703178592
        target = int(MAX_TARGET / Difficulty)
        target32 = "{:0>64x}".format(target)
        if int(hash, 16) < int(target32, 16):
            print("###########BLOC MINED###################")
            print("HEADER=" + header_hex)
            print("HASH=" + hash)
            print("NONCE=" + str(inonc))
            print("NONCE (hex)=" + hex(inonc))
            print("###########BLOC MINED###################")
            break
    https://blockstream.info/block/00000...a6d1b981a065d3

    Pourriez-vous m'aider à faire fonctionner ce code pour les blocs récents ? Je n'aime pas jouer au loto, mais jouer à ça m'intéresse, surtout que je ne vais pas acheter un ticket.

    -----

  2. #2
    pm42

    Re : Besoin d'aide pour un programe de minage

    C'est une blague ? Tu veux miner du bitcoin avec un bout de code en Python ?

  3. #3
    extrazlove

    Re : Besoin d'aide pour un programe de minage

    Oui pourquoi pas il suffier que le inonc soit un variable alétoire inferieur a la diffuclité et tu tente ta chance, c'est comme jouer au loto

  4. #4
    Deedee81
    Modérateur

    Re : Besoin d'aide pour un programe de minage

    Salut,

    Citation Envoyé par extrazlove Voir le message
    Oui pourquoi pas il suffier que le inonc soit un variable alétoire inferieur a la diffuclité et tu tente ta chance, c'est comme jouer au loto
    Non pas du tout, ce n'est pas comme au lotto. Le minage n'est pas une question de chance mais de vitesse. Il faut donc des codes performants (ça existe) mais aussi les mineurs professionnels utilisent des fermes de machines pour effectuer du calcul massivement parallèle et extrêmement rapide.

    Tu ne saurais pas les battre.

    Si tu veux avoir l'équivalent du lotto, c'est à des jeux en lignes que tu dois jouer.
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  5. A voir en vidéo sur Futura
  6. #5
    extrazlove

    Re : Besoin d'aide pour un programe de minage

    Citation Envoyé par Deedee81 Voir le message
    Salut,



    Non pas du tout, ce n'est pas comme au lotto. Le minage n'est pas une question de chance mais de vitesse. Il faut donc des codes performants (ça existe) mais aussi les mineurs professionnels utilisent des fermes de machines pour effectuer du calcul massivement parallèle et extrêmement rapide.

    Tu ne saurais pas les battre.

    Si tu veux avoir l'équivalent du lotto, c'est à des jeux en lignes que tu dois jouer.
    Je pense que tu ne connais pas le sujet , le calcule c'est une boucle for qui tente de trouver le inonc qui es un varaible d'entré inferieur a la diffuclté tout simplement, et dont la sortie commence aujourd'hui par 19 zero, et le block trouver doit être inférieur a 2 mga de mémoire...

    Pour vous expliquer plus simple on a une fonction de hachage presque impossible de prévoir son variable de sortie suite a une entré , et l'entré en essaye de le trouver avec une boucle for pour verifier certain condition, si ca le calcule effucter.

    Donc rien n'interdit a la place de blayer depuis 0 a la diffuclté de tenter notre chance si l'entré et proche tu trouvera l'entré




  7. #6
    extrazlove

    Re : Besoin d'aide pour un programe de minage

    En plus je pense qu'il est possible de prévoir la fonction de hachage et donc le inonc en entrainent une IA

  8. #7
    albanxiii
    Modérateur

    Re : Besoin d'aide pour un programe de minage

    Bonjour,

    Sans connaître le sujet, qui par ailleurs ne m'intéresse pas plus que ça, j'ai tendance à me dire que si c'était aussi simple que vous le dites, ça serait déjà mis en œuvre, surtout vu les moyens utilisés actuellement pour cette tâche.
    Non ?
    Not only is it not right, it's not even wrong!

  9. #8
    pm42

    Re : Besoin d'aide pour un programe de minage

    Citation Envoyé par extrazlove Voir le message
    Je pense que tu ne connais pas le sujet
    C'est une blague ou bien tu te moques du monde ou bien tu es juste quelqu'un que la charte interdit de nommer ?

    Citation Envoyé par extrazlove Voir le message
    En plus je pense qu'il est possible de prévoir la fonction de hachage et donc le inonc en entrainent une IA
    Mais oui bien sur...

    Citation Envoyé par albanxiii Voir le message
    Sans connaître le sujet, qui par ailleurs ne m'intéresse pas plus que ça
    Même en connaissant le sujet qui par ailleurs ne m'intéresse pas plus que ça, c'est du pur délire à tous les niveaux.

    Même la presse grand public le sait, c'est dire : https://www.bfmtv.com/crypto/bitcoin...206070217.html
    https://www.01net.com/crypto/minage/
    https://fr.wikihow.com/miner-des-bitcoins
    https://cleerly.fr/crypto-monnaies/miner

    Quand à Python, c'est le langage le plus lent possible donc par définition un cran de ridicule par dessus le ridicule.

    Et la partie IA, c'est "je n'ai pas le début du commencement des idées de ce que les IAs peuvent faire ou pas mais je vis dans un monde imaginaire et je ne fais pas la différence avec la réalité donc il suffit de prononcer les mots pour que magiquement cela se réalise".
    (et pour la partie IA, je connais le sujet en plus de m'y intéresser).

  10. #9
    extrazlove

    Re : Besoin d'aide pour un programe de minage

    Citation Envoyé par albanxiii Voir le message
    Bonjour,

    Sans connaître le sujet, qui par ailleurs ne m'intéresse pas plus que ça, j'ai tendance à me dire que si c'était aussi simple que vous le dites, ça serait déjà mis en œuvre, surtout vu les moyens utilisés actuellement pour cette tâche.
    Non ?
    La plupart des informatciens sont pas des matheux, C'est comme la forumle de coca cola en le reserve pour soit pour faire du profit, vous pouvez vous rensignez tout ce enorme calcule de minage c'est juste pour trouver une clé d'une fonction de hachage

    Et cette fonction s'appelle sha256 qui retourne un sortie impervisible de taille limité suite a une entré qui s'appelle NONCE et autres information d'entrés sur les transcations avant, une petite variation d'entré change completement la sortie.

    Et le but est de trouver une NONCE qui retourne une sortie qui suit certaine condition en permiers pour avoir un gain de plus 6 btc.


    Je ne vois aucun probeleme a utliser un IA pour prévoir le valeur de sha256 en tout cas en peux fabrique plien de donné d'entrainement en quoi c'est impossible , cette fonction n'est pas alétoire mais juste peusdo alétoire...

  11. #10
    extrazlove

    Re : Besoin d'aide pour un programe de minage

    Pour information pourquoi on n'utlise pas python pour faire le minage juste car python fonction avec un seul coeur , c'est pourquoi en utlise C++ ou C car avec ce language on peut utliser plusieurs multiproccesseur a la fois pour faire travailer a plein puissance notre boucle for qui essaye de trouver d'une maniere stupide le NONCE en blayant toute la plage entre 0 jusqu'a la diffuclité

  12. #11
    polo974

    Re : Besoin d'aide pour un programe de minage

    Je trouve ce fil plein d'humour, involontaire, certes, mais très rigolo...

    Allez, une piste pour rire un peu plus: avec un ordi quantique, ça ira plus vite... mais pas en python ..

    en courant...
    Jusqu'ici tout va bien...

  13. #12
    pm42

    Re : Besoin d'aide pour un programe de minage

    Citation Envoyé par extrazlove Voir le message
    La plupart des informatciens sont pas des matheux,
    Non mais ils ont une formation en maths suffisante pour comprendre ce qui n'est pas votre cas.
    Et l'informatique théorique, c'est des maths.

    Citation Envoyé par extrazlove Voir le message
    C'est comme la forumle de coca cola en le reserve pour soit pour faire du profit, vous pouvez vous rensignez tout ce enorme calcule de minage
    N'importe quoi qui confond un secret industriel qui ne l'est d'ailleurs plus vraiment et la "preuve de travail".

    Citation Envoyé par extrazlove Voir le message
    Et cette fonction s'appelle sha256 qui retourne un sortie impervisible de taille limité suite a une entré qui s'appelle NONCE et autres information d'entrés sur les transcations avant, une petite variation d'entré change completement la sortie.
    C'est gentil de nous expliquer.

    Citation Envoyé par extrazlove Voir le message
    Je ne vois aucun probeleme a utliser un IA pour prévoir le valeur de sha256 en tout cas en peux fabrique plien de donné d'entrainement en quoi c'est impossible , cette fonction n'est pas alétoire mais juste peusdo alétoire...
    Mais bien sur : tu ne vois aucun problème sans rien y connaitre donc il n'y en a pas.
    L'espace de ce que les IAs prévoient est assez particulier et dépend en plus de l'architecture des dites IAs.
    Et ce genre de fonction n'en relève pas.
    En fait, c'est même exactement pour ça que des fonctions comme SHA256 ont été conçues.

    Citation Envoyé par extrazlove Voir le message
    Pour information pourquoi on n'utlise pas python pour faire le minage juste car python fonction avec un seul coeur
    Ce qui est faux : je fais du python multi-coeur tous les jours, c'est très facile (voir les fonctions dans multiprocessing.pool).
    On ne l'utilise pas parce qu'il est plus lent.

    Citation Envoyé par extrazlove Voir le message
    c'est pourquoi en utlise C++ ou C car avec ce language on peut utliser plusieurs multiproccesseur a la fois
    Et c'est donc pour ça qu'Extrazlove veut faire du Python : parce qu'il nous explique pourquoi on n'en fait pas.

    Comme le dit polo974, c'est effectivement de l'humour involontaire et bien sur du Dunning-Kruger comme d'hab.

    Bon, on va laisser notre génie trouver pourquoi son programme Python ne marche pas puisqu'il est capable de nous expliquer tout, il n'a pas besoin d'aide.
    Puis on va le laisser essayer d'entrainer une IA histoire de voir.
    J'attends les résultats avec impatience

  14. #13
    Liet Kynes

    Re : Besoin d'aide pour un programe de minage

    @ extrazlove, va faire un tour sur ce site tu auras peut-être une vision plus réaliste ensuite: https://www.blockchain.com/explorer/api/blockchain_api
    Sans questions il n'y a que des problèmes sans réponses.

  15. #14
    Garion

    Re : Besoin d'aide pour un programe de minage

    Citation Envoyé par extrazlove Voir le message
    Pour information pourquoi on n'utlise pas python pour faire le minage juste car python fonction avec un seul coeur , c'est pourquoi en utlise C++ ou C car avec ce language on peut utliser plusieurs multiproccesseur a la fois pour faire travailer a plein puissance notre boucle for qui essaye de trouver d'une maniere stupide le NONCE en blayant toute la plage entre 0 jusqu'a la diffuclité
    Alors, d'abord Python est de l'ordre de 50-100 fois plus lent PAR COEUR par rapport à du C++.
    D'autre part, il y a longtemps qu'on n'utilise plus le CPU pour faire du minage Bitcoin, le calcul GPU ou ASIC est bien plus performant.
    Donc, comme dit précédemment, joue au loto, tu auras plus de chances de gagner.

  16. #15
    Garion

    Re : Besoin d'aide pour un programe de minage

    Bon, après, je prend toujours plaisir à regarder tous les derniers messages d'extrazlove (rien que son pseudo est improbable) à chaque fois que j'en croise un pour rire un bon coup.

  17. #16
    Flyingbike
    Modérateur*

    Re : Besoin d'aide pour un programe de minage

    tout a été dit
    discussion fermée
    La vie trouve toujours un chemin

Discussions similaires

  1. admission pour post-bac besoin aurait besoin d 'une grande aide svp
    Par invite0b129661 dans le forum Orientation avant le BAC
    Réponses: 0
    Dernier message: 24/02/2010, 14h53
  2. besoin d'aide exercices pour m'antrainer mes j'ai besoin d'aide
    Par invite5e082da7 dans le forum Physique
    Réponses: 4
    Dernier message: 06/12/2008, 21h37
  3. Besoin d'un programe ou logiciel de chimie
    Par invite413c1d4c dans le forum Chimie
    Réponses: 1
    Dernier message: 06/12/2007, 10h09