Java源码示例:org.fisco.bcos.channel.client.Service
示例1
/**
* init Web3j of default group id 1
*/
@Bean
public Web3j getWeb3j(GroupChannelConnectionsConfig groupChannelConnectionsConfig)
throws Exception {
Service service = new Service();
service.setOrgID(orgName);
service.setGroupId(independentGroupId);
service.setThreadPool(sdkThreadPool());
service.setAllChannelConnections(groupChannelConnectionsConfig);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setTimeout(timeout);
channelEthereumService.setChannelService(service);
Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
// init node version
NodeVersion version = web3j.getNodeVersion().send();
Constants.version = version.getNodeVersion().getVersion();
Constants.chainId = version.getNodeVersion().getChainID();
log.info("Chain's clientVersion:{}", Constants.version);
return web3j;
}
示例2
@BeforeClass
public static void setUpBeforeClass() throws Exception {
// 获取spring配置文件,生成上下文
context = new ClassPathXmlApplicationContext("applicationContext.xml");
// ((ClassPathXmlApplicationContext) context).start();
Service service = context.getBean(Service.class);
service.run();
System.out.println("start...");
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
web3j = Web3j.build(channelEthereumService, service.getGroupId());
// EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();
Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
address = ok.getContractAddress();
blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
blockHash = ok.getTransactionReceipt().get().getBlockHash();
txHash = ok.getTransactionReceipt().get().getTransactionHash();
}
示例3
@BeforeClass
public static void setUpBeforeClass() throws Exception {
// 获取spring配置文件,生成上下文
context = new ClassPathXmlApplicationContext("applicationContext.xml");
// ((ClassPathXmlApplicationContext) context).start();
Service service = context.getBean(Service.class);
service.run();
System.out.println("start...");
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
web3j = Web3j.build(channelEthereumService, service.getGroupId());
// EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();
}
示例4
@BeforeClass
public static void setUpBeforeClass() throws Exception {
// 获取spring配置文件,生成上下文
context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
// ((ClassPathXmlApplicationContext) context).start();
Service service = context.getBean(Service.class);
service.run();
System.out.println("start...");
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(10000);
web3j = Web3j.build(channelEthereumService, service.getGroupId());
// EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();
}
示例5
@BeforeClass
public static void setUpBeforeClass() throws Exception {
// 获取spring配置文件,生成上下文
context = new ClassPathXmlApplicationContext("applicationContext.xml");
// ((ClassPathXmlApplicationContext) context).start();
Service service = context.getBean(Service.class);
service.run();
System.out.println("start...");
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
web3j = Web3j.build(channelEthereumService, service.getGroupId());
// EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();
//
// Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
// address = ok.getContractAddress();
// blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
// blockHash = ok.getTransactionReceipt().get().getBlockHash();
// txHash = ok.getTransactionReceipt().get().getTransactionHash();
}
示例6
public boolean loadConfig() throws Exception {
System.out.println("please wait ...");
Service service;
try {
context = new ClassPathXmlApplicationContext("classpath:node/application.xml");
service = context.getBean(Service.class);
service.run();
} catch (Exception e) {
logger.error("load config failed, error msg: " + e.getMessage());
throw new Exception("load config failed, error msg: " + e.getMessage());
}
credentials = GenCredential.create();
// channel eth service
ChannelEthereumService channelService = new ChannelEthereumService();
channelService.setChannelService(service);
channelService.setTimeout(5000);
web3j = Web3j.build(channelService, service.getGroupId());
return true;
}
示例7
@BeforeClass
public static void setUpBeforeClass() throws Exception {
context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
System.out.println("EncryptType => " + EncryptType.getEncryptType());
web3j = Web3j.build(channelEthereumService, service.getGroupId());
credentials = GenCredential.create();
Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
blockHash = ok.getTransactionReceipt().get().getBlockHash();
txHash = ok.getTransactionReceipt().get().getTransactionHash();
}
示例8
public void initialize(String groupId) throws Exception {
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(groupId));
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3AsyncThreadPoolSize.web3AsyncCorePoolSize = 3000;
Web3AsyncThreadPoolSize.web3AsyncPoolSize = 2000;
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(500);
web3 =
Web3j.build(
channelEthereumService,
15 * 100,
scheduledExecutorService,
Integer.parseInt(groupId));
credentials = GenCredential.create();
transactionManager = Contract.getTheTransactionManager(web3, credentials);
}
示例9
private void registerContractEvent(ContractEventInfo rInfo) {
log.debug("start registerContractEvent infoId:{}", rInfo.getId());
List<String> topicList = FrontUtils.string2ListStr(rInfo.getTopicList());
String exchangeName = rInfo.getExchangeName();
String queueName = rInfo.getQueueName();
String appId = rInfo.getAppId();
int groupId = rInfo.getGroupId();
String eventRoutingKey = rInfo.getRoutingKey();
String contractAddress = rInfo.getContractAddress();
String abi = rInfo.getContractAbi();
String fromBlock = rInfo.getFromBlock();
String toBlock = rInfo.getToBlock();
// 传入abi作decoder:
TransactionDecoder decoder = new TransactionDecoder(abi);
// init EventLogUserParams for register
EventLogUserParams params = RabbitMQUtils.initSingleEventLogUserParams(
fromBlock, toBlock, contractAddress, topicList);
// bind queue to exchange by routing key "queueName_event"
mqService.bindQueue2Exchange(exchangeName, queueName, eventRoutingKey);
ContractEventCallback callBack =
new ContractEventCallback(mqPublisher, exchangeName,
eventRoutingKey, decoder, groupId, appId);
org.fisco.bcos.channel.client.Service service = serviceMap.get(groupId);
service.registerEventLogFilter(params, callBack);
callBack.setRunning(true);
CONTRACT_EVENT_CALLBACK_MAP.put(rInfo.getId(), callBack);
log.debug("end registerContractEvent successful infoId:{}", rInfo.getId());
}
示例10
@Bean
public Web3j getWeb3j() throws Exception {
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
Service service = getService();
service.run();
channelEthereumService.setChannelService(service);
// default sync transactions timeout: 30s
channelEthereumService.setTimeout(30000);
return Web3j.build(channelEthereumService, service.getGroupId());
}
示例11
@Bean
public Service getService() {
GroupChannelConnectionsConfig groupChannelConnectionsConfig = getGroupChannelConnections();
Service channelService = new Service();
channelService.setGroupId(systemEnvironmentConfig.getGroupId());
channelService.setAllChannelConnections(groupChannelConnectionsConfig);
// set some default connect timeout seconds
channelService.setConnectSeconds(20);
channelService.setConnectSleepPerMillis(10);
return channelService;
}
示例12
public static Web3j initWeb3j(Service service) throws BrokerException {
// init web3j with given group id
try {
log.info("begin to initialize web3sdk's Web3j, group id: {}", service.getGroupId());
StopWatch sw = StopWatch.createStarted();
// special thread for TransactionSucCallback.onResponse, callback from IO thread directly if not setting
//service.setThreadPool(poolTaskExecutor);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(service.getConnectSeconds() * 1000);
Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
// check connect with getNodeVersion command
NodeVersion.Version version = web3j.getNodeVersion().send().getNodeVersion();
String nodeVersion = version.getVersion();
if (StringUtils.isBlank(nodeVersion)
|| !nodeVersion.contains(FISCO_BCOS_2_X_VERSION_PREFIX)) {
log.error("init web3sdk failed, mismatch FISCO-BCOS version in node: {}", nodeVersion);
throw new BrokerException(ErrorCode.WEB3SDK_INIT_ERROR);
}
chainID = version.getChainID();
sw.stop();
log.info("initialize web3sdk success, group id: {} cost: {} ms", service.getGroupId(), sw.getTime());
return web3j;
} catch (Exception e) {
log.error("init web3sdk failed", e);
throw new BrokerException(ErrorCode.WEB3SDK_INIT_ERROR);
}
}
示例13
public static Service initService(Long groupId, FiscoConfig fiscoConfig) throws BrokerException {
log.info("begin to initialize web3sdk's Service, group id: {}", groupId);
try {
int web3sdkTimeout = fiscoConfig.getWeb3sdkTimeout();
Service service = new Service();
// change jdk.tls.namedGroups will cause https's bug: ERR_SSL_VERSION_OR_CIPHER_MISMATCH
service.setSetJavaOpt(false);
// group info
service.setOrgID(fiscoConfig.getOrgId());
service.setGroupId(groupId.intValue());
service.setConnectSeconds(web3sdkTimeout / 1000);
// reconnect idle time 100ms
service.setConnectSleepPerMillis(100);
// connect key and string
GroupChannelConnectionsConfig connectionsConfig = new GroupChannelConnectionsConfig();
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
connectionsConfig.setCaCert(resolver.getResource("classpath:" + fiscoConfig.getCaCrtPath()));
connectionsConfig.setSslCert(resolver.getResource("classpath:" + fiscoConfig.getSdkCrtPath()));
connectionsConfig.setSslKey(resolver.getResource("classpath:" + fiscoConfig.getSdkKeyPath()));
ChannelConnections channelConnections = new ChannelConnections();
channelConnections.setGroupId(groupId.intValue());
channelConnections.setConnectionsStr(Arrays.asList(fiscoConfig.getNodes().split(";")));
connectionsConfig.setAllChannelConnections(Collections.singletonList(channelConnections));
service.setAllChannelConnections(connectionsConfig);
return service;
} catch (Exception e) {
log.error("init web3sdk's Service failed", e);
throw new BrokerException(ErrorCode.WEB3SDK_INIT_SERVICE_ERROR);
}
}
示例14
public static void main(String[] args) {
logger.debug("Run AMDB Server");
context = new ClassPathXmlApplicationContext(new String[] { "applicationContext.xml" });
Service service = context.getBean("DBChannelService", Service.class);
try {
service.run();
} catch (Exception e) {
logger.debug("errmsg:",e);
}
}
示例15
public static void main(String[] args) throws Exception {
if (args.length < 1) {
System.out.println("Param: topic");
return;
}
String topic = args[0];
logger.debug("init Server");
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
Set<String> topics = new HashSet<String>();
topics.add(topic);
service.setTopics(topics);
PushCallback cb = new PushCallback();
service.setPushCallback(cb);
System.out.println("3s...");
Thread.sleep(1000);
System.out.println("2s...");
Thread.sleep(1000);
System.out.println("1s...");
Thread.sleep(1000);
System.out.println("start test");
System.out.println("===================================================================");
service.run();
}
示例16
public static void main(String[] args) throws Exception {
if (args.length < 1) {
System.out.println("Param: topic");
return;
}
String topic = args[0];
logger.debug("init Server");
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
PushCallback cb = new PushCallback();
service.setPushCallback(cb);
System.out.println("3s...");
Thread.sleep(1000);
System.out.println("2s...");
Thread.sleep(1000);
System.out.println("1s...");
Thread.sleep(1000);
System.out.println("start test");
System.out.println("===================================================================");
service.run();
Thread.sleep(10000);
System.out.println("set topics");
System.out.println("===================================================================");
Set<String> topics = new HashSet<String>();
topics.add(topic);
service.setTopics(topics);
service.updateTopicsToNode();
}
示例17
public static void main(String[] args) throws Exception {
if (args.length < 1) {
System.out.println("Param: topic");
return;
}
String topic = args[0];
logger.debug("init Server");
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setNeedVerifyTopics(topic);
PushCallback cb = new PushCallback();
service.setPushCallback(cb);
System.out.println("3s...");
Thread.sleep(1000);
System.out.println("2s...");
Thread.sleep(1000);
System.out.println("1s...");
Thread.sleep(1000);
System.out.println("start test");
System.out.println("===================================================================");
service.run();
}
示例18
public static void main(String[] args) throws Exception {
if (args.length < 1) {
Usage();
}
int groupID = Integer.valueOf(args[0]);
System.out.println(" Start Group operation, groupID: " + groupID);
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(1);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3j web3j = Web3j.build(channelEthereumService, 1);
org.fisco.bcos.web3j.protocol.core.methods.response.StartGroup startGroup =
web3j.startGroup(groupID).send();
logger.info(" StartGroup result: {}", startGroup);
System.out.println(" StartGroup result: " + startGroup.getStatus());
System.exit(0);
}
示例19
public static void main(String[] args) throws Exception {
if (args.length < 3) {
Usage();
}
int groupID = Integer.valueOf(args[0]);
long timestamp = Long.valueOf(args[1]);
List<String> nodes = new ArrayList<>();
for (int i = 2; i < args.length; ++i) {
nodes.add(args[i]);
}
System.out.println(
" Generate Group operation, groupID: "
+ groupID
+ " ,timestamp: "
+ timestamp
+ " ,nodes: "
+ nodes);
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(1);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3j web3j = Web3j.build(channelEthereumService, 1);
org.fisco.bcos.web3j.protocol.core.methods.response.GenerateGroup generateGroup =
web3j.generateGroup(groupID, timestamp, false, nodes).send();
logger.info(" generateGroup result: {}", generateGroup);
System.out.println(" generateGroup result: " + generateGroup.getStatus());
System.exit(0);
}
示例20
public Web3j init() throws Exception {
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
return web3j;
}
示例21
public void initialize(String groupId) throws Exception {
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(groupId));
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
Web3AsyncThreadPoolSize.web3AsyncCorePoolSize = 3000;
Web3AsyncThreadPoolSize.web3AsyncPoolSize = 2000;
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(500);
Web3j web3 =
Web3j.build(
channelEthereumService,
15 * 100,
scheduledExecutorService,
Integer.parseInt(groupId));
Credentials credentials = GenCredential.create();
dagTransfer =
DagTransfer.load(
dagTransferAddr,
web3,
credentials,
new StaticGasProvider(
new BigInteger("30000000"), new BigInteger("30000000")));
transactionManager = Contract.getTheTransactionManager(web3, credentials);
}
示例22
public static void main(String[] args) throws Exception {
// init the Service
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(args[0]));
service.run(); // run the daemon service
// init the client keys
keyPair = Keys.createEcKeyPair();
credentials = GenCredential.create(keyPair.getPrivateKey().toString(16));
logger.info("-----> start test !");
logger.info("init AOMP ChannelEthereumService");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(5 * 1000);
try {
web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
} catch (Exception e) {
System.out.println("\nPlease provide groupID in the first paramters");
System.exit(0);
}
if (args.length > 1) {
if ("deploy".equals(args[1])) {
deployTableTest();
} else {
String[] params = new String[args.length - 1];
for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
testTableTest(params);
}
} else {
System.out.println(
"\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
}
System.exit(0);
}
示例23
public static void main(String[] args) throws Exception {
// init the Service
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(args[0]));
service.run(); // run the daemon service
// init the client keys
keyPair = Keys.createEcKeyPair();
credentials = Credentials.create(keyPair);
logger.info("-----> start test !");
logger.info("init AOMP ChannelEthereumService");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
try {
web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
} catch (Exception e) {
System.out.println("\nPlease provide groupID in the first paramters");
System.exit(0);
}
if (args.length > 1) {
if ("deploy".equals(args[1])) {
deployOk();
} else {
String[] params = new String[args.length - 1];
for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
testOk(params);
}
} else {
System.out.println("\nPlease choose follow commands:\n deploy, trans or get");
}
System.exit(0);
}
示例24
public static void main(String[] args) throws Exception {
// init the Service
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(args[0]));
service.run(); // run the daemon service
// init the client keys
keyPair = Keys.createEcKeyPair();
credentials = Credentials.create(keyPair);
logger.info("-----> start test !");
logger.info("init AOMP ChannelEthereumService");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
try {
web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
} catch (Exception e) {
System.out.println("\nPlease provide groupID in the first paramters");
System.exit(0);
}
if (args.length > 1) {
if ("deploy".equals(args[1])) {
deploymixContract();
} else {
String[] params = new String[args.length - 1];
for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
testMixContract(params);
}
} else {
System.out.println(
"\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
}
System.exit(0);
}
示例25
public static void main(String[] args) throws Exception {
EncryptType encryptType = new EncryptType(1);
System.out.println(encryptType.getEncryptType());
String groupId = "1";
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(10000);
Web3j web3 = Web3j.build(channelEthereumService, Integer.parseInt(groupId));
BigInteger gasPrice = new BigInteger("300000000");
BigInteger gasLimit = new BigInteger("300000000");
Credentials credentials1 =
GenCredential.create(
"a392604efc2fad9c0b3da43b5f698a2e3f270f170d859912be0d54742275c5f6");
ContractGasProvider contractGasProvider = new StaticGasProvider(gasPrice, gasLimit);
NewSolTest erc20 = NewSolTest.deploy(web3, credentials1, contractGasProvider).send();
for (int i = 0; i < 1; i++) {
System.out.println("####contract address is: " + erc20.getContractAddress());
erc20.transfer("0x0f49a17d17f82da2a7d92ecf19268274150eaf5e", new BigInteger("100"))
.send();
BigInteger oldBalance =
erc20.balanceOf("0x0f49a17d17f82da2a7d92ecf19268274150eaf5e").send();
System.out.println(
"0x0f49a17d17f82da2a7d92ecf19268274150eaf5e balance" + oldBalance.intValue());
}
System.exit(0);
}
示例26
public static void main(String[] args) throws Exception {
// init the Service
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.setGroupId(Integer.parseInt(args[0]));
service.run(); // run the daemon service
// init the client keys
keyPair = Keys.createEcKeyPair();
credentials = GenCredential.create(keyPair.getPrivateKey().toString(16));
logger.info("-----> start test !");
logger.info("init AOMP ChannelEthereumService");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(5 * 1000);
try {
web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
} catch (Exception e) {
System.out.println("\nPlease provide groupID in the first parameters");
System.exit(0);
}
if (args.length > 1) {
if ("deploy".equals(args[1])) {
deployTableTest();
} else {
String[] params = new String[args.length - 1];
for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
testTableTest(params);
}
} else {
System.out.println(
"\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
}
System.exit(0);
}
示例27
public static void main(String[] args) throws Exception {
EncryptType encryptType = new EncryptType(1);
String groupId = "1";
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
System.out.println("===================================================================");
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
channelEthereumService.setTimeout(10000);
Web3j web3 = Web3j.build(channelEthereumService, Integer.parseInt(groupId));
BigInteger gasPrice = new BigInteger("300000000");
BigInteger gasLimit = new BigInteger("3000000000");
Credentials credentials1 =
GenCredential.create(
"a392604efc2fad9c0b3da43b5f698a2e3f270f170d859912be0d54742275c5f6");
ContractGasProvider contractGasProvider = new StaticGasProvider(gasPrice, gasLimit);
final Ok okDemo = Ok.deploy(web3, credentials1, contractGasProvider).send();
for (int i = 0; i < 1; i++) {
System.out.println("####contract address is: " + okDemo.getContractAddress());
TransactionReceipt receipt = okDemo.trans(new BigInteger("4")).send();
System.out.println(" balance = " + okDemo.get().send().intValue());
}
System.exit(0);
}
示例28
public static TransactionReceipt sentTx() throws Exception {
// init the Service
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
ECKeyPair keyPair = Keys.createEcKeyPair();
Credentials credentials = Credentials.create(keyPair);
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
service.setGroupId(1);
Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
RemoteCall<TableTest> deploy =
TableTest.deploy(
web3j,
credentials,
new StaticGasProvider(
new BigInteger("30000000"), new BigInteger("30000000")));
TableTest tableTest = deploy.send();
tableTest.create().send();
String name = "fruit";
int item_id = 1;
String item_name = "apple";
RemoteCall<TransactionReceipt> insert =
tableTest.insert(name, BigInteger.valueOf(item_id), item_name);
TransactionReceipt txReceipt = insert.send();
return txReceipt;
}
示例29
public boolean loadConfig() throws Exception{
context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Service service = context.getBean(Service.class);
service.run();
ChannelEthereumService channelEthereumService = new ChannelEthereumService();
channelEthereumService.setChannelService(service);
web3j = Web3j.build(channelEthereumService,service.getGroupId());
boolean flag=false;
if(web3j!=null){
flag=true;
}
return flag;
}
示例30
public Service getService() {
return this.service;
}