云服务器内容精选
-
SDK接口 表1 ContractStub合约信息&状态数据库访问接口 接口 说明 String funcName() 功能:获取智能合约请求中指定的智能合约函数名称 入参:无 返回值:智能合约函数名称 byte[][] parameters() 功能: 获取请求参数 入参:无 返回值:用户执行智能合约逻辑时传入的多个参数,每个参数以[]byte表示 String chainId() 功能:获取智能合约所在链ID 入参:无 返回值:链ID String contractName() 功能:获取智能合约名称 入参:无 返回值:智能合约名称 byte[] getKv(String key) throws ContractException 功能:获取状态数据库中某个key对应的value; 入参:某个键值对的key信息,只支持string类型,不可为空 返回值:value值,目前只支持[]byte类型;当key不存在时,value为null 抛出异常:当网络出错,消息超时等,抛出异常 void putKv(String key, byte[] value) throws ContractException 功能:写状态数据库操作,此接口只是将key、value形成写集,打包到交易中,只有当交易排序、出块、并校验通过之后,才会将key/value写入到状态数据库中 入参:要写入的键值对,要求key != "",并且value != null 抛出异常:当网络出错,消息超时等,抛出异常 void delKv(String key) throws ContractException 功能:删除状态数据库中的key及其对应的value,此接口只是将待删除的key放入写集,打包到交易中,只有当交易排序、出块、并校验通过之后,才会将key删除 入参:要删除的key,要求key != "" 抛出异常:当网络出错,消息超时等,抛出异常 Iterator getIterator(String startKey, String endKey) throws ContractException 功能:查询状态数据库中,按字典序,以startKey开头,以endKey结尾的所有状态数据,结果以迭代器的形式呈现;注意,查询范围是左闭右开的,[startKey, endKey) 例如:startKey="11",endKey="14",所有key都是整数的话,则查询的结果中,key值包括:"11","12","13",不包括"14" 入参:startKey是待查询状态数据的按字典序的起始key,startKey != "",endKey是待查询的状态数据的按字典序的结束key,endKey!= ""; 返回值:Iterator是查询结果的迭代器,可以通过此迭代器,按顺序读取查询结果 抛出异常:当网络出错,消息超时等,抛出异常 HistoryIterator getKeyHistoryIterator(String key) throws ContractException 功能:查询一个key对应的所有历史的value 例如:一个key的value曾经为1,2,3,当前value为4,则返回的迭代器结果中按顺序包含了1,2,3,4 入参:key是待查询历史value值的key信息,key != "" 返回值:HistoryIterator是按顺序包含了历史value结果的迭代器结构体变量 抛出异常:当网络出错,消息超时等,抛出异常 void saveComIndex(String indexName, String[] attributes, String objectKey) throws ContractException 功能:为objectKey保存索引信息,indexName_attributes_objectKey构成索引信息,注意,此处只是形成索引信息的写集,只有当含有此写集的交易经过排序、出块,并校验通过后,才会写入状态数据库 例如:存储key/value信息,key="zhangsan",value={height=175, sex="male"},如果以sex="male"作为查询条件,查询所有的key/value, 则需要反序列化所有的value,性能损耗较大,因此,为当前key/value建立一个sex相关的索引:indexName="sex",attributes=[]string{"male"},objectKey="zhangsan, 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息,objectKey 待索引的key值,objectKey != "" 抛出异常:当网络出错,消息超时等,抛出异常 Iterator getKvByComIndex(String indexName, String[] attributes) throws ContractException 功能:通过索引信息,查找满足某种查询条件的key/value,key/value以迭代器的形式输出 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息 返回值:满足索引条件的key/value的迭代器变量 抛出异常:当网络出错,消息超时等,抛出异常 void delComIndexOneRow(String indexName, String[] attributes, String objectKey) throws ContractException 功能:删除objectKey的某个索引,indexName_attributes_objectKey构成索引信息,注意,此处只是形成索引信息的写集,只有当含有此写集的交易经过排序、出块,并校验通过后,才会写入状态数据库 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息,objectKey 待索引的key值,objectKey != "" 抛出异常:当网络出错,消息超时等,抛出异常 表2 Iterator迭代器接口 接口 说明 boolean next() throws ContractException 功能:检查迭代器中是否还有下一个key/value 入参:无 返回值:bool值,true代表还有下一个值 抛出异常:当网络出错,消息超时等,抛出异常 String key() throws ContractException 功能:从迭代器中获取key 入参:无 返回值:key值 抛出异常:当网络出错,消息超时等,抛出异常 byte[] value() throws ContractException 功能:从迭代器中获取value 入参:无 返回值:value值类型为字节数组 抛出异常:当网络出错,消息超时等,抛出异常 void close() 功能:使用完迭代器之后,需要关闭迭代器 入参:无 抛出异常:当网络出错,消息超时等,抛出异常 表3 HistoryIterator查询某个key历史value信息的迭代器接口 接口 说明 long blockNum(); 功能:获取当前迭代位置(某笔交易)的 BlockNum 入参:无 int txNum(); 功能:获取当前迭代位置(某笔交易)的 TxNum 入参:无 byte[] txHash(); 功能:获取当前迭代位置((某笔交易))的hash 入参:无 boolean isDeleted(); 功能:被查询的key,当前是否已经在状态数据库中被删除 入参:无 long timestamp(); 功能:返回当前迭代位置(某笔交易)的时间戳 入参:无 父主题: JAVA合约开发
-
SDK接口 表1 ContractStub合约信息&状态数据库访问接口 接口 说明 String funcName() 功能:获取智能合约请求中指定的智能合约函数名称 入参:无 返回值:智能合约函数名称 byte[][] parameters() 功能: 获取请求参数 入参:无 返回值:用户执行智能合约逻辑时传入的多个参数,每个参数以[]byte表示 String chainId() 功能:获取智能合约所在链ID 入参:无 返回值:链ID String contractName() 功能:获取智能合约名称 入参:无 返回值:智能合约名称 byte[] getKv(String key) throws ContractException 功能:获取状态数据库中某个key对应的value; 入参:某个键值对的key信息,只支持string类型,不可为空 返回值:value值,目前只支持[]byte类型;当key不存在时,value为null 抛出异常:当网络出错,消息超时等,抛出异常 void putKv(String key, byte[] value) throws ContractException 功能:写状态数据库操作,此接口只是将key、value形成写集,打包到交易中,只有当交易排序、出块、并校验通过之后,才会将key/value写入到状态数据库中 入参:要写入的键值对,要求key != "",并且value != null 抛出异常:当网络出错,消息超时等,抛出异常 void delKv(String key) throws ContractException 功能:删除状态数据库中的key及其对应的value,此接口只是将待删除的key放入写集,打包到交易中,只有当交易排序、出块、并校验通过之后,才会将key删除 入参:要删除的key,要求key != "" 抛出异常:当网络出错,消息超时等,抛出异常 Iterator getIterator(String startKey, String endKey) throws ContractException 功能:查询状态数据库中,按字典序,以startKey开头,以endKey结尾的所有状态数据,结果以迭代器的形式呈现;注意,查询范围是左闭右开的,[startKey, endKey) 例如:startKey="11",endKey="14",所有key都是整数的话,则查询的结果中,key值包括:"11","12","13",不包括"14" 入参:startKey是待查询状态数据的按字典序的起始key,startKey != "",endKey是待查询的状态数据的按字典序的结束key,endKey!= ""; 返回值:Iterator是查询结果的迭代器,可以通过此迭代器,按顺序读取查询结果 抛出异常:当网络出错,消息超时等,抛出异常 HistoryIterator getKeyHistoryIterator(String key) throws ContractException 功能:查询一个key对应的所有历史的value 例如:一个key的value曾经为1,2,3,当前value为4,则返回的迭代器结果中按顺序包含了1,2,3,4 入参:key是待查询历史value值的key信息,key != "" 返回值:HistoryIterator是按顺序包含了历史value结果的迭代器结构体变量 抛出异常:当网络出错,消息超时等,抛出异常 void saveComIndex(String indexName, String[] attributes, String objectKey) throws ContractException 功能:为objectKey保存索引信息,indexName_attributes_objectKey构成索引信息,注意,此处只是形成索引信息的写集,只有当含有此写集的交易经过排序、出块,并校验通过后,才会写入状态数据库 例如:存储key/value信息,key="zhangsan",value={height=175, sex="male"},如果以sex="male"作为查询条件,查询所有的key/value, 则需要反序列化所有的value,性能损耗较大,因此,为当前key/value建立一个sex相关的索引:indexName="sex",attributes=[]string{"male"},objectKey="zhangsan, 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息,objectKey 待索引的key值,objectKey != "" 抛出异常:当网络出错,消息超时等,抛出异常 Iterator getKvByComIndex(String indexName, String[] attributes) throws ContractException 功能:通过索引信息,查找满足某种查询条件的key/value,key/value以迭代器的形式输出 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息 返回值:满足索引条件的key/value的迭代器变量 抛出异常:当网络出错,消息超时等,抛出异常 void delComIndexOneRow(String indexName, String[] attributes, String objectKey) throws ContractException 功能:删除objectKey的某个索引,indexName_attributes_objectKey构成索引信息,注意,此处只是形成索引信息的写集,只有当含有此写集的交易经过排序、出块,并校验通过后,才会写入状态数据库 入参:indexName 索引标记,indexName != "",attributes需要当做索引的属性,至少包含一个属性信息,objectKey 待索引的key值,objectKey != "" 抛出异常:当网络出错,消息超时等,抛出异常 表2 Iterator迭代器接口 接口 说明 boolean next() throws ContractException 功能:检查迭代器中是否还有下一个key/value 入参:无 返回值:bool值,true代表还有下一个值 抛出异常:当网络出错,消息超时等,抛出异常 String key() throws ContractException 功能:从迭代器中获取key 入参:无 返回值:key值 抛出异常:当网络出错,消息超时等,抛出异常 byte[] value() throws ContractException 功能:从迭代器中获取value 入参:无 返回值:value值类型为字节数组 抛出异常:当网络出错,消息超时等,抛出异常 void close() 功能:使用完迭代器之后,需要关闭迭代器 入参:无 抛出异常:当网络出错,消息超时等,抛出异常 表3 HistoryIterator查询某个key历史value信息的迭代器接口 接口 说明 long blockNum(); 功能:获取当前迭代位置(某笔交易)的 BlockNum 入参:无 int txNum(); 功能:获取当前迭代位置(某笔交易)的 TxNum 入参:无 byte[] txHash(); 功能:获取当前迭代位置((某笔交易))的hash 入参:无 boolean isDeleted(); 功能:被查询的key,当前是否已经在状态数据库中被删除 入参:无 long timestamp(); 功能:返回当前迭代位置(某笔交易)的时间戳 入参:无 父主题: JAVA合约开发
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格