Ethereum: How to generate a bulk wallet offline with python, java or c++?

would be a bulk wallet generation not connected to Python, Java or C ++ **

In this article, we will explore three possible ways to generate bulk wallets (100,000 keys) in the off -python, java and C ++. We will also consider using command line tools.

Method 1: Using Opensl

Opensl is a popular open source library used for cryptographic operations. We can use it to generate the key pairs offline.

python code

`Python

Importing the subprocess

Def Generate_walleTofline ():

Specify the Opensl Configuration File (eg Opensl.conf)

Config_file = « Opensl.conf »

Specify your wallet format (eg Pem, der)

Wallet_format = « der »

Create a pair of keys offline to 100,000 wallets

I am in the range (100000):

command = F « Opensl Genrsa -out {Config_file} _i {i} _ {Wallet_format} .Der »

subrocess.ruun (command, shell = true)

Pull private keys from the wallets generated

Wallet_dir = « wallet _ {} _ {wallelet_format} ». Format (I + 1)

File Name OS.LISDIR (WALLET_DIR):

If File Name.Endswith (« . DER »):

with open (os.path.join (wallet_dir, file name), Rb) as f:

Key = F.Read ()

Private_key = key

Save a private key to a file (eg Private_KEY _} {} {wallelet_format} .pem.pyw)

Save_private_Key (Private_Key)

If __name__ == "__main__":

generate_waltofline ()

Java code

`Java

import java.io.uffersreader;

import java.io.file;

import java.io.filewriter;

import java.io.ioException;

Public Class GeneratewallOFFLINE {

public static void Main (line [] args) {

// Specify the Opensl Configuration File (eg Opensl.conf)

String configfile = « Opensl.conf »;

// Specify your cash format (eg der)

String walletformat = « der »;

// Create the Key pairs not connected to 100,000 wallet

for (int i = 0; i <100000; i ++) {

System.out.println (« Private key generation » + (I + 1) + …);

// Follow the Opensl command to generate your wallet

Line command = « Opensl Genrsa -out » + Configfile + « _i » + (I + 1) + « _ » + Walletformat + « .Der »;

Process process = runtime.getruntime (). Exec (team);

Buffersreader Reader = New Bumferrsreader (New Inputstreamreader (Process.GinPutstream ());

String input line;

WHER

// Exit private key from output

System.out.println (« Private Key » + (I + 1) + … =  » + input line);

}

}

// Save generated private file keys (eg Private_KEY_100000_I0.DER

for (int i = 0; i <100000; i ++) {

System.out.println (« Save Private Key » + (I + 1) + … to file « );

// Follow the Opensl command to save a private key

String file name = configfile + « _ » + (i + 1) + « _ » + walletformat + .pwpk « ;

Try (Filewrite Writer = New Filewrite (File Name)) {

writer.write (Private_Key_ + (I + 1) + …);

}

}

}

}

`

C ++ code

`CPP

#include

#include

#include

#inClude

// Function to generate a personal key

STD :: String GeneraTePrivatekey (size_t n, size_t p) {

unsigned Char* Key = New unsigned Char [n + 1];

Rand_bytes (key, n);

STD :: Stringstream SS;

for (size_t i = 0; i

SS << Static_cast (key [i]) | 0x80;

}

// Save your personal key to the file

STD:: OFSREAM File (Private_Key_ + Std :: to_string (n) + « _ » + std :: to_string (p) + « .pwpk »);

IF (file.

Laisser un commentaire

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