This is a light JavaSDK for Hyperchain.
To get more information you can view docs, use hvmd
and liteSDK
to start a enjoyable journey.
maven
<dependency>
<groupId>cn.hyperchain</groupId>
<artifactId>litesdk</artifactId>
<version>0.0.2</version>
</dependency>
gradle
compile group: 'cn.hyperchain', name: 'litesdk', version: '0.0.2'
Provider can be expanded by user, we support default http provider.
Then create provider manager.
String DEFAULT_URL = "localhost:8081";
DefaultHttpProvider defaultHttpProvider = new DefaultHttpProvider.Builder().setUrl(DEFAULT_URL).build();
ProviderManager providerManager = ProviderManager.createManager(defaultHttpProvider);
Create different services by specific provider manager, service will provide some function.
ContractService contractService = ServiceManager.getContractService(providerManager);
AccountService accountService = ServiceManager.getAccountService(providerManager);
Account can be used to sign transaction.
Account account = accountService.genAccount(Algo.SMRAW);
Transaction builder can create different transaction by different style of initialization.
// deploy
Transaction transaction = new Transaction.HVMBuilder(account.getAddress()).deploy("hvm-jar/hvmbasic-1.0.0-student.jar").build();
transaction.sign(account);
// invoke
Transaction transaction1 = new Transaction.HVMBuilder(account.getAddress()).invoke(receiptResponse.getContractAddress(), new StudentInvoke()).build();
Service will return a Request, user can use Request to get specific Response by interface.
ReceiptResponse receiptResponse = contractService.deploy(transaction).send().polling();
Decode result to specific type.
Decoder.decodeHVM(receiptResponse1.getRet(), String.class);
If you have any suggestions or idea, please submit issue in this project!
If you want to know more about LiteSDK, you can read manual at here.