Initialize environment
init
Initialize the environment configuration.
- Function
public MychainBaseResult<Response> init(MychainEnv env)
- Request parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| env | true | MychainEnv | Contract platform environment |
- Examples
MychainEnv env = buildMychainEnv();Mychain sdk = new Mychain();sdk.init(env);private static MychainEnv initMychainEnv() {return initMychainEnv("test_sdk");}private static MychainEnv buildMychainEnv(String identity) {InetSocketAddress inetSocketAddress = InetSocketAddress.createUnresolved(host, port);String keyFilePath = "client.key";String certFilePath = "client.crt";String trustStoreFilePath = "trustCa";// any user key for sign messageString userPrivateKeyFile = "user.key";PrivateKey userPrivateKey = KeyLoder.getPrivateKeyFromPKCS8(DemoSample.class.getClassLoader().getResourceAsStream(userPrivateKeyFile),keyPassword);// build ssl optionISslOption sslOption = new SslBytesOption.Builder().keyBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(keyFilePath).getPath())).certBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(certFilePath).getPath())).keyPassword(keyPassword).setUserPrivateKey(userPrivateKey).trustStorePassword(trustStorePassword).trustStoreBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(trustStoreFilePath).getPath())).build();// multi nodes configurationList<SocketAddress> backupNodes = new ArrayList<SocketAddress>();backupNodes.add(InetSocketAddress.createUnresolved("101.132.187.0", 58321));backupNodes.add(InetSocketAddress.createUnresolved("101.132.46.192", 58322));backupNodes.add(InetSocketAddress.createUnresolved("106.14.166.129", 58323));return MychainEnv.build(identity, ClientTypeEnum.TLS, HashTypeEnum.SHA256,SignTypeEnum.ECDSA, CodecTypeEnum.RLP, inetSocketAddress, sslOption, backupNodes);}
Multi-node configuration
The SDK supports multi-node configuration. When the primary node is unavailable, the SDK automatically switches to another available node for re-connection to ensure service stability.
- Examples
MychainEnv env = buildMychainEnv();Mychain sdk = new Mychain();sdk.init(env);private static MychainEnv initMychainEnv() {return initMychainEnv("test_sdk");}private static MychainEnv buildMychainEnv(String identity) {InetSocketAddress inetSocketAddress = InetSocketAddress.createUnresolved(host, port);String keyFilePath = "client.key";String certFilePath = "client.crt";String trustStoreFilePath = "trustCa";// build ssl optionISslOption sslOption = new SslBytesOption.Builder().keyBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(keyFilePath).getPath())).certBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(certFilePath).getPath())).keyPassword(keyPassword).trustStorePassword(truseStorePassword).trustStoreBytes(Utils.readFileToByteArray(DemoSample.class.getClassLoader().getResource(trustStoreFilePath).getPath())).build();// multi nodes configurationList<SocketAddress> backupNodes = new ArrayList<SocketAddress>();backupNodes.add(InetSocketAddress.createUnresolved("101.132.187.0", 58321));backupNodes.add(InetSocketAddress.createUnresolved("101.132.46.192", 58322));backupNodes.add(InetSocketAddress.createUnresolved("106.14.166.129", 58323));return MychainEnv.build(identity, ClientTypeEnum.TLS, HashTypeEnum.SHA256,SignTypeEnum.ECDSA, CodecTypeEnum.RLP, inetSocketAddress, sslOption, backupNodes);}