Comment ajouter une nouvelle Fonction (-a) à mon Algorithm pour inverser l'affichage des données ?
	
	
		Bonjour.
Le résultat normal fournit par lorsqu'on exécute le Script avec la commande -k (script.py -d clé.txt -o trouvé.txt -k) sachant que le fichier clé.txt contient un ou plusieurs 
Private Key qui est chargé avec la commande -d et -k pour trouver leur Private Key soit la même Clé 
Privée disponible au départ dans le Fichier clé.txt puis enregistré avec la commande -o :
	Code:
	
1 2
   | 2017-11-16 12:14:09,122 INFO   line 09   dict word, received, wallet address, private address, current balance 
2017-11-16 12:14:23,125 INFO   line 1    9749bahhjkk21421,02,1K565G8,9749bahhjkk21421,0245  | 
 --------------------------------------------------------------------------------------------------------------------
Code concernant la Commande -k et la nouvelle Commande -a :
	Code:
	
1 2 3 4 5
   | parser.add_argument('-k', action='store_true', dest='is_private_key', default=False,
                        help='treat each word as a hex or wif encoded private key')
 
parser.add_argument('-a', action='store_true', dest='is_public_key', default=False,
                        help='Found a Private Key throught a Public Address') | 
 
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
   | class Wallet:
    def __init__(self, passphrase, is_private_key = False):
        self.passphrase = passphrase
        self.address = None
        self.public_key = None
        self.private_key = None
        try:
            if is_private_key:
                keypair = ChegKeypair.from_private_key(self.passphrase.encode('ascii'))
 
#Comment ajouter la nouvelle condition de "is_public_key" ????
#			else if is_public_key:
#	                keypair = ??????????
 
            else:
                keypair = ChegKeypair.from_passphrase(self.passphrase)
            self.address = keypair.address()
            self.public_key = keypair.public_key()
            self.private_key = keypair.private_key()
        except Exception as e:
            logging.warning(u"Failed to generate keypair for passphrase '{}'. Error: {}".format(passphrase, e.args))
            raise | 
 
En gros, comment inverser la Commande -k à travers une nouvelle Commande -a pour qu'elle (pour que la nouvelle commande -a) 
trouve la Clé Privée correspondante à partir des Clés Publiques (disponible dans le Fichier clé.txt chargé avec la Commande -d) 
contrairement à la Commande -k qui trouvait les Clés Privée à partir des mêmes Clés Privées chargé avec la Commande -d dans le Fichier clé.txt ???
Comment redéfinir la nouvelle condition visible à la Ligne 12 et 13 du Code (partie en commentaires que je viens d'ajouter moi-même) 
ci-dessus pour que "keypair" corresponde à la nouvelle commande -a qui doit afficher (trouver) les clés Privées à partir des clés publiques ???
Sans oublier qu'il me faudra réécrire le passage ci-dessous pour qu'il prenne aussi 
en compte l'argument "is_public_key" qui correspond à ma Nouvelle Commande -a ???
						
	Code:
	
1 2 3 4 5
   |  # Create wallet
        try:
            wallet = Wallet(dictionary_word, args.is_private_key)
        except Exception as e:
            continue | 
 Et enfin, Comment définir une nouvelle variable "wallet_privatekey" pour que celle-ci soit égale à la "wallet.private_key (soit la Private Key)" 
de la "wallet.address" se trouvant dans le fichier clé.txt ???		
	Code:
	
1 2
   | 		# Get Private Key Address	
		wallet_privatekey = ????????  | 
 Afin que le résultat final soit:
	Code:
	
1 2
   | 2017-11-16 12:14:09,122 INFO   line 09   dict word, received, wallet address, private address, current balance, Public Private_Key
2017-11-16 12:14:23,125 INFO   line 1  1K565G8, 02, 1K565G8, 9749bahhjkk21421, 0245, ???  | 
 
Contrairement au résultat de la commande -k qui fournissait à la Valeur du "dict word" la même valeur de la "private address" 
(9749bahhjkk21421 sur l'exempe ci-dessus) mais "1K565G8" pour la nouvelle commande -a.
pour que les ??? qui devait normalement correspondre à "Public Private_Key" soit forcément aussi égal à "9749bahhjkk21421" lorsqu'on exécute le Script avec la Nouvelle Commande -a.
	 
	
	
	
		Comment modifier (remplacer)  la Fonction de mon Script en cours de développement ?
	
	
		Bonjour.
Pour commencer, j'essaie de modifier un Script Python pour l'adapter à mon souhait. 
Voici mes Codes:
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
   | class Chegkeypr():
 
 @classmethod
    def from_prevo(cls, prevo=None):
        return cls(prevo)
 
	def prevo(self, format='hex'):
        if format == 'bin':
            return self._bin_prevo()
        elif format == 'hex':
            return binascii.hexlify(self._bin_prevo())
        elif format == 'wif' or format == 'b58check':
            return b58check_encode(self._bin_prevo(),
                version_byte=self.version_byte('prevo'))
        else:
            raise ValueError(_errors["INVALID_PREVO_FORMAT"])
 
        @classmethod
    def from_pp(cls, pp=None):
        """ Create keypr from a pp input."""
        if not pp:
            # run a rejection sampling algorithm to ensure the private key is
            # less than the curve order
            while True:
                pp = create_pp(bits_of_entropy=160)
                hex_private_key = hashlib.sha256(pp).hexdigest()
                if int(hex_private_key, 16) < cls._curve.order:
                    break
        else:
            hex_private_key = hashlib.sha256(pp).hexdigest()
            if not (int(hex_private_key, 16) < cls._curve.order):
                raise ValueError(_errors["PHRASE_YIELDS_INVALID_EXPONENT"])
 
        keypr = cls(hex_private_key)
        keypr._pp = pp
        return keypr
 
    def pleb(self, format='hex'):
        if format == 'bin':
            return self._bin_pleb()
        elif format == 'hex':
            return binascii.hexlify(self._bin_pleb())
        else:
            raise ValueError(_errors["INVALID_PLEB_FORMAT"])
 
    def pp(self):
        if hasattr(self, '_pp'):
            return self._pp
        else:
            raise Exception(_errors["INVALID"]) | 
 Fichier port.py :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | import Chegkeypr
 
    parser.add_argument('-a', action='saved', dest='is_prevo', default=False,
                        help='Found....')
    args = parser.parse_args()
 
class Port:
    def __init__(self, pp, is_prevo = False):
        self.pp = pp
        self.address = None
        self.pleb_key = None
        self.prevo_key = None
		try:
            if is_prevo:
			    keypr = Chegkeypr.from_prevo(self.pp.encode('ascii'))
            else:
                keypr = Chegkeypr.from_pp(self.pp)			
 
        # Create port
        try:
            port = Port(dictionary_word, args.is_prevo)
        except Exception as e:
            continue | 
 Le code ci-dessus (Fichier port.py) permet normalement de créer des keyprs à partir de "prevo_key" et de "pp" (avec je pense les fonction "from_prevo" et "from_pp" de la classe Chegkeypr).
Mon but est de permettre à la commande -a de de créer un keypr à partir de "pleb_key" au lieu de "prevo_key" comme on le voit sur le Code ci-dessus.
1- Comment donc créer mon keypr à partir d'un "pleb_key" sachant que la seule fonction qui concerne "pleb_key" dans la Classe "Chegkeypr" n'est pas précédé de "from_" ???
 Dois faire simplement simplement:
	Code:
	
1 2 3 4 5 6
   |  
# Dois-je remplacer tout simplement la fonction "from_prevo" par "pleb" faisant appel 
# à la fonction concernée depuis la classe "Chegkeypr" ???
	try:
            if is_prevo:
	    keypr = Chegkeypr.pleb(self.pp.encode('ascii')) | 
 ???
2- Ma deuxième préoccupation est de savoir ce que signifie littéralement la ligne de la variable "keypr = Chegkeypr.from_prevo(self.pp.encode('ascii'))" ???
Merci d'avance.