use of org.bcos.web3j.crypto.Credentials in project web3sdk by FISCO-BCOS.
the class Ethereum method main.
public static void main(String[] args) throws Exception {
// 初始化Service
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
Thread.sleep(3000);
System.out.println("开始测试...");
System.out.println("===================================================================");
logger.info("初始化AOMP的ChannelEthereumService");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
// 使用AMOP消息信道初始化web3j
Web3j web3 = Web3j.build(channelEthereumService);
logger.info("调用web3的getBlockNumber接口");
EthBlockNumber ethBlockNumber = web3.ethBlockNumber().sendAsync().get();
logger.info("获取ethBlockNumber:{}", ethBlockNumber);
// 初始化交易签名私钥
ECKeyPair keyPair = Keys.createEcKeyPair();
Credentials credentials = Credentials.create(keyPair);
// 初始化交易参数
java.math.BigInteger gasPrice = new BigInteger("30000000");
java.math.BigInteger gasLimit = new BigInteger("30000000");
java.math.BigInteger initialWeiValue = new BigInteger("0");
// 部署合约
Ok ok = Ok.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("Ok getContractAddress " + ok.getContractAddress());
// 调用合约接口
java.math.BigInteger Num = new BigInteger("999");
Uint256 num = new Uint256(Num);
TransactionReceipt receipt = ok.trans(num).get();
System.out.println("receipt transactionHash" + receipt.getTransactionHash());
// 查询合约数据
num = ok.get().get();
System.out.println("ok.get() " + num.getValue());
}
use of org.bcos.web3j.crypto.Credentials in project web3sdk by FISCO-BCOS.
the class SolidityFunctionWrapper method generateJavaFiles.
public void generateJavaFiles(String contractName, String bin, String abi, String destinationDirLocation, String basePackageName) throws IOException, ClassNotFoundException {
String className = Strings.capitaliseFirstLetter(contractName);
TypeSpec.Builder classBuilder = createClassBuilder(className, bin, abi);
classBuilder.addMethod(buildConstructor(Credentials.class, CREDENTIALS));
classBuilder.addMethod(buildConstructor(TransactionManager.class, TRANSACTION_MANAGER));
classBuilder.addMethod(buildConstructorWithDefaultParam(Credentials.class, CREDENTIALS));
classBuilder.addMethod(buildConstructorWithDefaultParam(TransactionManager.class, TRANSACTION_MANAGER));
classBuilder.addMethods(buildFunctionDefinitions(className, classBuilder, loadContractDefinition(abi)));
classBuilder.addMethod(buildLoad(className, Credentials.class, CREDENTIALS));
classBuilder.addMethod(buildLoad(className, TransactionManager.class, TRANSACTION_MANAGER));
classBuilder.addMethod(buildLoadByName(className, Credentials.class, CREDENTIALS));
classBuilder.addMethod(buildLoadByName(className, TransactionManager.class, TRANSACTION_MANAGER));
JavaFile javaFile = JavaFile.builder(basePackageName, classBuilder.build()).indent(" ").skipJavaLangImports(true).build();
javaFile.writeTo(new File(destinationDirLocation));
}
use of org.bcos.web3j.crypto.Credentials in project web3sdk by FISCO-BCOS.
the class WalletUpdater method run.
private void run(String walletFileLocation) {
File walletFile = new File(walletFileLocation);
Credentials credentials = getCredentials(walletFile);
console.printf("Wallet for address " + credentials.getAddress() + " loaded\n");
String newPassword = getPassword("Please enter a new wallet file password: ");
String destinationDir = getDestinationDir();
File destination = createDir(destinationDir);
try {
String walletFileName = WalletUtils.generateWalletFile(newPassword, credentials.getEcKeyPair(), destination, true);
console.printf("New wallet file " + walletFileName + " successfully created in: " + destinationDir + "\n");
} catch (CipherException | IOException e) {
exitError(e);
}
String delete = console.readLine("Would you like to delete your existing wallet file (Y/N)? [N]: ");
if (delete.toUpperCase().equals("Y")) {
if (!walletFile.delete()) {
exitError("Unable to remove wallet file\n");
} else {
console.printf("Deleted previous wallet file: %s\n", walletFile.getName());
}
}
}
use of org.bcos.web3j.crypto.Credentials in project web3sdk by FISCO-BCOS.
the class InitSystemContract method main.
public static void main(String[] args) throws Exception {
// 初始化Service
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
System.out.println("开始部署...");
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
// init web3j
Web3j web3 = Web3j.build(channelEthereumService);
// 初始化交易签名私钥
ECKeyPair keyPair = Keys.createEcKeyPair();
Credentials credentials = Credentials.create(keyPair);
// 初始化交易参数
java.math.BigInteger gasPrice = new BigInteger("30000000");
java.math.BigInteger gasLimit = new BigInteger("30000000");
java.math.BigInteger initialWeiValue = new BigInteger("0");
ToolConf toolConf = context.getBean(ToolConf.class);
SystemProxy systemProxy = SystemProxy.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("systemProxy getContractAddress " + systemProxy.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "SystemProxy.address", systemProxy.getContractAddress());
CAAction caAction = CAAction.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue, new Address(systemProxy.getContractAddress())).get();
System.out.println("caAction getContractAddress " + caAction.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "CAAction.address", caAction.getContractAddress());
NodeAction nodeAction = NodeAction.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("nodeAction getContractAddress " + nodeAction.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "NodeAction.address", nodeAction.getContractAddress());
ConfigAction configAction = ConfigAction.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("configAction getContractAddress " + configAction.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "ConfigAction.address", configAction.getContractAddress());
FileInfoManager fileInfoManager = FileInfoManager.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("fileInfoManager getContractAddress " + fileInfoManager.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "fileInfoManager.address", fileInfoManager.getContractAddress());
FileServerManager fileServerManager = FileServerManager.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("fileServerManager getContractAddress " + fileServerManager.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "fileServerManager.address", fileServerManager.getContractAddress());
ContractAbiMgr contractAbiMgr = ContractAbiMgr.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("contractAbiMgr getContractAddress " + contractAbiMgr.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "ContractAbiMgr.address", contractAbiMgr.getContractAddress());
AuthorityFilter authorityFilter = AuthorityFilter.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("authorityFilter getContractAddress " + authorityFilter.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "AuthorityFilter.address", authorityFilter.getContractAddress());
authorityFilter.setName(new Utf8String("AuthorityFilter"));
authorityFilter.setVersion(new Utf8String("1.0"));
Group group = Group.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("group getContractAddress " + group.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "Group.address", group.getContractAddress());
TransactionFilterChain transactionFilterChain = TransactionFilterChain.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
System.out.println("transactionFilterChain getContractAddress " + transactionFilterChain.getContractAddress());
writeAddress(toolConf.getOutPutpath() + "transactionFilterChain.address", transactionFilterChain.getContractAddress());
contractAbiMgr.addAbi(new Utf8String("ContractAbiMgr"), new Utf8String("ContractAbiMgr"), new Utf8String(""), new Utf8String(ContractAbiMgr.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("SystemProxy"), new Utf8String("SystemProxy"), new Utf8String(""), new Utf8String(SystemProxy.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("TransactionFilterChain"), new Utf8String("TransactionFilterChain"), new Utf8String(""), new Utf8String(TransactionFilterChain.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("AuthorityFilter"), new Utf8String("AuthorityFilter"), new Utf8String(""), new Utf8String(AuthorityFilter.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("Group"), new Utf8String("Group"), new Utf8String(""), new Utf8String(Group.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("CAAction"), new Utf8String("CAAction"), new Utf8String(""), new Utf8String(CAAction.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("ConfigAction"), new Utf8String("ConfigAction"), new Utf8String(""), new Utf8String(ConfigAction.ABI), new Address(contractAbiMgr.getContractAddress()));
contractAbiMgr.addAbi(new Utf8String("NodeAction"), new Utf8String("NodeAction"), new Utf8String(""), new Utf8String(NodeAction.ABI), new Address(contractAbiMgr.getContractAddress()));
transactionFilterChain.addFilter(new Address(authorityFilter.getContractAddress()));
systemProxy.setRoute(new Utf8String("TransactionFilterChain"), new Address(transactionFilterChain.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("ConfigAction"), new Address(configAction.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("NodeAction"), new Address(nodeAction.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("CAAction"), new Address(caAction.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("ContractAbiMgr"), new Address(contractAbiMgr.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("FileInfoManager"), new Address(fileInfoManager.getContractAddress()), new Bool(false)).get();
systemProxy.setRoute(new Utf8String("FileServerManager"), new Address(fileServerManager.getContractAddress()), new Bool(false)).get();
System.out.println("合约部署完成 系统代理合约:" + systemProxy.getContractAddress());
System.out.println("-----------------系统路由表----------------------");
Uint256 routelength = systemProxy.getRouteSize().get();
for (int i = 0; i < routelength.getValue().intValue(); i++) {
Utf8String key = systemProxy.getRouteNameByIndex(new Uint256(i)).get();
List<Type> route = systemProxy.getRoute(key).get();
System.out.println(" " + i + ")" + key + "=>" + (route.get(0)) + "," + route.get(1).getValue() + "," + ((BigInteger) (route.get(2).getValue())).intValue());
if (key.getValue().equals("TransactionFilterChain")) {
TransactionFilterChain transactionFilterChain1 = TransactionFilterChain.load(route.get(0).toString(), web3, credentials, gasPrice, gasLimit);
Uint256 filterlength = transactionFilterChain1.getFiltersLength().get();
for (int j = 0; j < filterlength.getValue().intValue(); j++) {
Address filter = transactionFilterChain1.getFilter(new Uint256(j)).get();
TransactionFilterBase transactionFilterBase = TransactionFilterBase.load(filter.toString(), web3, credentials, gasPrice, gasLimit);
Utf8String name = transactionFilterBase._name().get();
Utf8String version = transactionFilterBase._version().get();
System.out.println(" " + name + "=>" + version + "," + filter);
}
}
}
System.exit(0);
}
use of org.bcos.web3j.crypto.Credentials in project web3sdk by FISCO-BCOS.
the class SystemContractTools method main.
public static void main(String[] args) throws Exception {
// 初始化Service
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
ToolConf toolConf = context.getBean(ToolConf.class);
System.out.println(LOGO);
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3j web3 = Web3j.build(channelEthereumService);
ECKeyPair keyPair = Keys.createEcKeyPair();
Credentials credentials = Credentials.create(keyPair);
BigInteger gasPrice = new BigInteger("30000000");
BigInteger gasLimit = new BigInteger("30000000");
SystemProxy systemProxy = SystemProxy.load(toolConf.getSystemProxyAddress(), web3, credentials, gasPrice, gasLimit);
switch(args[0]) {
case "SystemProxy":
SystemProxyTools.processSystemProxy(systemProxy, web3, credentials, gasPrice, gasLimit);
break;
case "AuthorityFilter":
AuthorityFilter authorityFilter = AuthorityFilter.load(getAction(systemProxy, "AuthorityFilter"), web3, credentials, gasPrice, gasLimit);
AuthorityFilterTools.processAuthorityFilter(authorityFilter, args);
break;
case "NodeAction":
NodeAction nodeAction = NodeAction.load(getAction(systemProxy, "NodeAction"), web3, credentials, gasPrice, gasLimit);
NodeActionTools.processNodeAction(context, nodeAction, args);
break;
case "CAAction":
CAAction caAction = CAAction.load(getAction(systemProxy, "CAActions"), web3, credentials, gasPrice, gasLimit);
CAActionTools.processCAAction(context, caAction, args);
break;
case "ConfigAction":
ConfigAction configAction = ConfigAction.load(getAction(systemProxy, "ConfigAction"), web3, credentials, gasPrice, gasLimit);
ConfigActionTools.processConfigAction(configAction, args);
break;
default:
break;
}
System.exit(0);
}
Aggregations