2017-09-02 2 views
0

Mon but est de deviner les chaînes alphanumériques pour l'exploration de Bitcoin afin qu'elles correspondent aux zéros en tête. Pour cela, je dois incrémenter la chaîne encodée et vérifier si la chaîne produit le Nonce attendu. Par exemple, dans scala, nous pouvons utiliser un encodage binaire en base36: - BigInt (someAlphaNumString, 36) et l'incrémenter en ajoutant BigInt (1, 36) à notre chaîne.Quel type de codage ou de données peut-on utiliser pour obtenir une chaîne alphanumérique dans elixir?

Quelle est la meilleure façon de faire la même chose dans l'élixir?

Répondre

5

Les entiers dans Elixir sont des entiers de précision arbitraires, donc aucun type de données BigInt n'est nécessaire. Vous pouvez convertir une chaîne de base-36 à et à partir d'entier en utilisant String.to_integer/2 et Integer.to_string/2 comme ceci:

iex(1)> a = String.to_integer("DOGBERT", 36) 
29776764809 
iex(2)> b = a + 1 
29776764810 
iex(3)> Integer.to_string(b, 36) 
"DOGBERU"