基础信息管理

基础信息管理主要基于KV结构进行存储跟查询信息,目前支持Stringbyte[]intdoublebean对象List<Bean>等作为Value的类型。

插入信息

插入信息接口将强制覆盖key。

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
String key = "test";
String value = "testValue";
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 对参数进行hash
byte[] message = IdentitySDK.genHashByte(key, value, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
//调用插入数据接口
ResponseData<Boolean> responseData = identitySDK.insertWithSignatureResult(key, value, message,sign);
// 返回操作是否成功
Boolean isSuccess = responseData.getResult();

添加信息

添加信息接口只能添加不存在的key。

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
String key = "test";
String value = "testValue";
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 对参数进行hash
byte[] message = IdentitySDK.genHashByte(key, value, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
//调用添加数据接口
ResponseData<Boolean> responseData = identitySDK.addWithSignatureResult(key, value,message, sign);
// 返回操作是否成功
Boolean isSuccess = responseData.getResult();

更新信息

更新信息只能更新已存在的key。

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
String key = "test";
String value = "testValue";
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 对参数进行hash
byte[] message = IdentitySDK.genHashByte(key, value, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
//调用更新数据接口
ResponseData<Boolean> responseData = identitySDK.setWithSignatureResult(key, value, message,sign);
// 返回操作是否成功
Boolean isSuccess = responseData.getResult();

根据key查询数据

1.基础数据类型以及对象查询

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 查询key值
String key="test";
// 拼接参数并获取hash
byte[] message = IdentitySDK.genHashByte(key, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
// 调用查询接口 返回查询结果
String valueObj = (String) identitySDK.getWithSignatureResult(key, message, sign);

2.List类型查询

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 查询key值
String key="test";
// 拼接参数并获取hash
byte[] message = IdentitySDK.genHashByte(key, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
// 调用查询接口 以List<Bean>为例 返回查询结果
List<User> valueObj = (List<User>) identitySDK.getWithSignatureResult(key, message, sign, new TypeReference<List<User>>() {
        });

3.byte[]类型查询

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 查询key值
String key="test";
// 拼接参数并获取hash
byte[] message = IdentitySDK.genHashByte(key, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
// 调用查询接口 返回查询结果
byte[] valueObj =  identitySDK.getByteWithSignatureResultWith(key, message, sign);

移除key

// 交易发起方公私钥对 
CryptoKeyPair operator = new CryptoSuite(CryptoType.ECDSA_TYPE, "operator private key").getCryptoKeyPair(); 
// 获取交易发起方的交易序列号
BigInteger nonce = (BigInteger) authCenterSDK.getNonceFromAccount(operator.getAddress()).getResult();
// 移除key值
String key="test";
// 拼接参数并获取hash
byte[] message = IdentitySDK.genHashByte(key, nonce);
// 对hash进行签名
ECDSASignatureResult sign = OpenLedgerUtils.sign(operator, message);
// 调用移除接口 返回移除结果
ResponseData<Boolean> responseData = identitySDK.removeWithSignatureResult(key, message, sign);