При развертывании контракта на блокчейне при добавлении транзакции выдается ошибка ...
private static final Web3j web3j = Web3j.build(new HttpService("HTTPS://ropsten.infura.io/v3/d11459c1c17049628f462a1492c7df36"));
private static final Credentials hostCredentials = Credentials.create("666A82FC33F8134577A7BEB1BDEAA689BB72740178727691D63032432B83E0FB");
private static final BigInteger gasLimit = BigInteger.valueOf(4712388L);
private static final BigInteger gasPrice = BigInteger.valueOf(20000000000L);
public String depart_wallet(String code) {
String walletCode = "";
switch(code) {
case "ct_01" :
walletCode = "83E094366642F531189D56DF33AC870DB53AF8C7F7F60A7A8B20CB85BC43A59F";
break;
case "ft_01" :
walletCode = "666A82FC33F8134577A7BEB1BDEAA689BB72740178727691D63032432B83E0FB";
break;
case "ms_01" :
walletCode = "3F0B5C58378DE554534A5A8C630AAC075886E74A6B3229000AE78F4500E153E3";
break;
case "st_01" :
walletCode = "3B69CC479DBAC9B02D2B7C39F7829A2E5DF850203A1766355D854DD89FCC6848";
break;
case "hr_01" :
walletCode = "3F1E2BD4EF8941731D244359F0CDF1EF079E5EAFFD57EA6D31ADDEB55E20D426";
break;
case "mf_01" :
walletCode = "C6FD20908CDC2326A8A5E366228C149FA7632E9C4EF035F5B7EBEE1A04158B7E";
break;
}
return walletCode;
}
Я собираюсь взять код из Интернета.
и отправить его черезметод выше, чтобы получить адрес кошелька и развернуть его.
public void budgetAdd(HttpServletRequest req, Model model) throws Exception {
String department_code = req.getParameter("dept_code");
String deptWallet = depart_wallet(department_code);
Credentials dept_AccountNumber = Credentials.create(deptWallet);
String contractAddress2 = Materal.deploy(web3j, dept_AccountNumber, gasPrice, gasLimit).send().getContractAddress();
int price = Integer.parseInt(req.getParameter("money"));
BigInteger ethers = null;
if(price < 100000) {
ethers = etherToWei(new BigDecimal(1));
}
else if((100000 < price) && (price < 300000)) {
ethers = etherToWei(new BigDecimal(1.25));
}
else if ((300000 < price) && (price < 500000)) {
ethers = etherToWei(new BigDecimal(1.5));
}
else if ((500000 < price) && (price < 800000)) {
ethers = etherToWei(new BigDecimal(1.8));
}
else if ((800000 < price) && (price < 1000000)) {
ethers = etherToWei(new BigDecimal(2));
}
else {
ethers = etherToWei(new BigDecimal(2.25));
}
byte[] name = stringToBytes32(department_code);
Materal dept = Materal.load(contractAddress2, web3j, hostCredentials, gasPrice, gasLimit);
String hash = dept.buyMaterial(new BigInteger("0"), name, ethers).send().getTransactionHash();
String purpose = req.getParameter("purpose");
HashVO vos = new HashVO();
vos.setDepartment_code(department_code);
vos.setE_subject(purpose);
vos.setE_hashcode(hash);
int insertCnt = dao.insertLog(vos);
if(insertCnt == 1) {
System.out.println("등록되었습니다.");
}
}
Я хочу развернуть И закончить торговлю эфиром, вставьте в Мой Oracle. но мой код не может быть развернут.
Может быть, gasLimit имеет низкий уровень? Однако та же ошибка произошла, когда GasLimit был изменен на 6721975.
Вчера он работал правильно без ошибок, но теперь он не работал. Можете ли вы дать мне ответ на эту ошибку?