
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import
java.util.List;
import org.junit.Before;import
org.junit.Test;
import com.vianet.blockchain.web3j.support.constants.CommonConstant;import com.vianet.blockchain.web3j.support.constants.InitConfig;import com.vianet.blockchain.web3j.support.exceptions.Web3jException;
public static void main(String[] string) throws Exception {
try {
long start = System.currentTimeMillis();
List<String> moneyAccountList = new ArrayList<String>();
List<String> noMoneyAccountsList = new ArrayList<String>();
BufferedReader moneyAccountBr = new BufferedReader(new InputStreamReader(new FileInputStream(new File("/Users/yinzf/Documents/contransaction-properties/1000_money_accounts.txt")), "UTF-8"));
BufferedReader noMoneyAccountBr = new BufferedReader(new InputStreamReader(new FileInputStream(new File("/Users/yinzf/Documents/contransaction-properties/1000_no_money_accounts.txt")), "UTF-8"));
String moneylineTxt = null;
String noMoneylineTxt = null;
while ((moneylineTxt = moneyAccountBr.readLine()) != null) {
moneyAccountList.add(moneylineTxt.substring(moneylineTxt.indexOf("accountAddress=")+15, moneylineTxt.length()));
}
while ((noMoneylineTxt = noMoneyAccountBr.readLine()) != null) {
noMoneyAccountsList.add(noMoneylineTxt.substring(noMoneylineTxt.indexOf("accountAddress=")+15, noMoneylineTxt.length()));
}
moneyAccountBr.close();
noMoneyAccountBr.close();
System.out.println("moneyAccounts长度:"+moneyAccountList.size()+ " moneyAccounts的第一个元素:"+moneyAccountList.get(0) +" moneyAccounts最后一个元素:"+moneyAccountList.get(999));
System.out.println("noMoneyAccounts长度:"+noMoneyAccountsList.size()+ " noMoneyAccounts的第一个元素:"+noMoneyAccountsList.get(0) +" noMoneyAccounts最后一个元素:"+noMoneyAccountsList.get(999));
//处理并发转账
for(int i=0;i<moneyAccountList.size()/2;i++){
long start1 = System.currentTimeMillis();
AccountRouter accountRouter = new AccountRouter();
String transactionHash = accountRouter.transferEther(moneyAccountList.get(i), "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92",
noMoneyAccountsList.get(i), "0.0001");
System.out.printf("++++++第"+i+" 次transactionHash: [%s]n", transactionHash);
long end1 = System.currentTimeMillis();
System.out.printf("======第"+i+" 次充值耗时:[%s]sn", (end1 - start1)/1000);
}
long end = System.currentTimeMillis();
long out = (end - start) / 1000;
System.out.printf("~~~~~~~~~~~~~处理1000个用户转换总耗时:[%s]s n", out);
} catch (Exception e) {
System.out.println("errorMsg=" + e.getMessage());
e.printStackTrace();
}
}




近期评论